HOME

TheInfoList




WebGL (Short for Web Graphics Library) is a
JavaScript JavaScript (), often abbreviated JS, is a programming language A programming language is a formal language In mathematics Mathematics (from Ancient Greek, Greek: ) includes the study of such topics as quantity (number theory), ma ...

JavaScript
API In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and so ...
for rendering interactive 2D and 3D graphics within any compatible
web browser A web browser (commonly referred to as a browser) is application software for accessing the World Wide Web. When a User (computing), user requests a web page from a particular website, the web browser retrieves the necessary content from a web ...

web browser
without the use of
plug-ins Plug-in, plug in or plugin may refer to: * Plug-in (computing), a software component that adds a specific feature to an existing computer program. ** Audio plug-in, adds audio signal processing features * Plug-in hybrid electric vehicle * Plug-in e ...
. WebGL is fully integrated with other
web standards Web standards are the formal, non-proprietary standards Standard may refer to: Flags * Colours, standards and guidons * Standard (flag), a type of flag used for personal identification Norm, convention or requirement * Standard (metrology), ...

web standards
, allowing GPU-accelerated usage of physics and image processing and effects as part of the web page canvas. WebGL elements can be mixed with other
HTML The HyperText Markup Language, or HTML is the standard markup language #REDIRECT Markup language In computer text processing, a markup language is a system for annotation, annotating a document in a way that is Syntax (logic), syntacticall ...

HTML
elements and composited with other parts of the page or page background. WebGL programs consist of control code written in JavaScript and
shader In computer graphics Computer graphics deals with generating images with the aid of computers A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations automatic ...
code that is written in OpenGL ES Shading Language (GLSL ES), a language similar to C or
C++ C, or c, is the third Letter (alphabet), letter in the English alphabet, English and ISO basic Latin alphabets. Its name in English is English alphabet#Letter names, ''cee'' (pronounced ), plural ''cees''. History "C" comes from the same ...

C++
, and is executed on a computer's
graphics processing unit A graphics processing unit (GPU) is a specialized electronic circuit 200px, A circuit built on a printed circuit board (PCB). An electronic circuit is composed of individual electronic component An electronic component is any basic discre ...
(GPU). WebGL is designed and maintained by the
non-profit A nonprofit organization (NPO), also known as a non-business entity, not-for-profit organization, or nonprofit institution, is a legal entity organized and operated for a collective, public or social benefit, in contrast with an entity that o ...
Khronos Group The Khronos Group, Inc. is an Open standard, open, Nonprofit organization, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, ...
.


Design

WebGL 1.0 is based on
OpenGL ES 2.0 OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform In computing Computing is any goal-oriented activity requiring, benefiting from, or creating c ...
and provides an
API In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and so ...

API
for 3D graphics. It uses the
HTML5 HTML5 is a markup language #REDIRECT Markup language In computer text processing, a markup language is a system for annotation, annotating a document in a way that is Syntax (logic), syntactically distinguishable from the text, meaning when ...

HTML5
canvas element Canvas is an extremely durable plain-woven fabric A textile is a flexible material made by creating an interlocking bundle of yarn Yarn is a long continuous length of interlocked fibre Fiber or fibre (from la, fibra, links=no ...
and is accessed using
Document Object Model The Document Object Model (DOM) is a cross-platform In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and d ...
(DOM) interfaces. WebGL 2.0 is based on OpenGL ES 3.0 and made guaranteed availability of many optional extensions of WebGL 1.0 and exposes new APIs.
Automatic memory management In computer science, garbage collection (GC) is a form of automatic memory management. The ''garbage collector'' attempts to reclaim memory which was allocated by the program, but is no longer referenced—also called ''garbage (computer scie ...
is provided implicitly by
JavaScript JavaScript (), often abbreviated JS, is a programming language A programming language is a formal language In mathematics Mathematics (from Ancient Greek, Greek: ) includes the study of such topics as quantity (number theory), ma ...

JavaScript
. Like OpenGL ES 2.0, WebGL does not have the
fixed-function Fixed-function is a term canonically used to contrast 3D graphics API In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic ...
APIs introduced in OpenGL 1.0 and
deprecated In several fields, especially computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer har ...
in OpenGL 3.0. This functionality, if so required, has to be implemented by the end-developer by providing shader code and configuring data bindings in JavaScript. Shaders in WebGL are expressed directly in GLSL and passed to the WebGL API as textual strings. The WebGL implementation compiles these shader instructions to GPU code. This code is executed for each and every vertex sent through the API and for each pixel
rasterized Rasterization (or rasterisation) is the task of taking an image described in a vector graphics Vector graphics, as a form of computer graphics, is the set of mechanisms for creating visual images directly from Geometric primitive , geometr ...
to the screen.


History

WebGL evolved out of the Canvas 3D experiments started by
Vladimir Vukićević Vladimir Vukićević (born 29 April 1979), is a Serbia Serbia (, ; Serbian Serbian may refer to: * someone or something related to Serbia, a country in Southeastern Europe * someone or something related to the Serbs, a South Slavic people ...
at
Mozilla Mozilla (stylized as moz://a) is a free software Free software (or libre software) is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any a ...
. Vukićević first demonstrated a Canvas 3D prototype in 2006. By the end of 2007, both Mozilla and Opera had made their own separate implementations. In early 2009, the
non-profit A nonprofit organization (NPO), also known as a non-business entity, not-for-profit organization, or nonprofit institution, is a legal entity organized and operated for a collective, public or social benefit, in contrast with an entity that o ...
technology
consortium A consortium (plural: consortia) is an association Association may refer to: *Club (organization), an association of two or more people united by a common interest or goal *Trade association, an organization founded and funded by businesses tha ...

consortium
Khronos Group The Khronos Group, Inc. is an Open standard, open, Nonprofit organization, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, ...
started the WebGL Working Group, with initial participation from
Apple An apple is an edible fruit In botany Botany, also called , plant biology or phytology, is the science of plant life and a branch of biology. A botanist, plant scientist or phytologist is a scientist who specialises in this fie ...
,
Google Google LLC is an American multinational Multinational may refer to: * Multinational corporation, a corporate organization operating in multiple countries * Multinational force, a military body from multiple countries * Multinational stat ...

Google
, Mozilla,
Opera Opera is a form of theatre Theatre or theater is a collaborative form of performing art that uses live performers, usually actor, actors or actresses, to present the experience of a real or imagined event before a live audience in a s ...

Opera
, and others. Version 1.0 of the WebGL specification was released March 2011. As of March 2012, the chair of the working group is Ken Russell. Early applications of WebGL include
Zygote Body ZygoteBody, formerly Google Body, is a web application by Zygote Media Group that renders manipulable 3D anatomy, anatomical models of the human body. Several layers, from muscle tissues down to blood vessels, can be removed or made transparent to ...
. In November 2012
Autodesk Autodesk, Inc. is an American multinational Multinational may refer to: * Multinational corporation, a corporate organization operating in multiple countries * Multinational force, a military body from multiple countries * Multinational state, a ...
announced that they ported most of their applications to the cloud running on local WebGL clients. These applications included Fusion 360 and AutoCAD 360. Development of the WebGL 2 specification started in 2013 with final in January 2017. This specification is based on OpenGL ES 3.0. First implementations are in Firefox 51, Chrome 56 and Opera 43.


Implementations


Almost Native Graphics Layer Engine

Almost Native Graphics Layer Engine (ANGLE) is an open source graphic engine which implements WebGL 1.0 (2.0 which closely conforms to ES 3.0) and
OpenGL ES OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform In computing Computing is any goal-oriented activity requiring, benefiting from, or creating c ...
2.0 and 3.0 standards. It is a default backend for both Google Chrome and Mozilla Firefox on Windows platforms and works by translating WebGL and OpenGL calls to available platform-specific APIs. ANGLE currently provides access to OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES,
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render 3D computer graphics, three-dimensional graphics in applications where performance is important, such as games. Dir ...
9, and Direct3D 11 APIs. ″
oogle A gutter punk is a homeless Homelessness is the condition of lacking stable, safe, and adequate housing. People can be categorized as homeless if they are: * living on the streets (primary homelessness); * moving between temporary shel ...
''Chrome uses ANGLE for all graphics rendering on Windows, including the accelerated Canvas2D implementation and the Native Client sandbox environment.″''


Software

WebGL is widely supported by modern browsers. However its availability is dependent on other factors like the GPU supporting it. The official WebGL website offers a simple test page. More detailed information (like what renderer the browser uses, and what extensions are available) is provided at third-party websites.


Desktop browsers

*
Google Chrome Google Chrome is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. It was later ported to Linux, macOS, iOS, and An ...

Google Chrome
– WebGL 2.0 has been enabled on all platforms that have a capable graphics card with updated drivers since version 9, released in February 2011. By default on Windows, Chrome uses the
ANGLE In Euclidean geometry Euclidean geometry is a mathematical system attributed to Alexandrian Greek mathematics , Greek mathematician Euclid, which he described in his textbook on geometry: the ''Euclid's Elements, Elements''. Euclid's method ...
(Almost Native Graphics Layer Engine) renderer to translate OpenGL ES to Direct X 9.0c or 11.0, which have better driver support. On Linux and Mac OS X the default renderer is OpenGL however. It is also possible to force OpenGL as the renderer on Windows. Since September 2013, Chrome also has a newer
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render 3D computer graphics, three-dimensional graphics in applications where performance is important, such as games. Dir ...
11 renderer, which however requires a newer graphics card. Chrome 56+ supports WebGL 2.0. *
Firefox Mozilla Firefox or simply Firefox is a free and open-source Free and open-source software (FOSS) is software that is both free software and open-source software where anyone is free software license, freely licensed to use, copy, study, ...

Firefox
– WebGL 1.0 has been enabled on all platforms that have a capable graphics card with updated drivers since version 4.0. Since 2013 Firefox also uses
DirectX Microsoft DirectX is a collection of application programming interface In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algori ...
on the Windows platform via
ANGLE In Euclidean geometry Euclidean geometry is a mathematical system attributed to Alexandrian Greek mathematics , Greek mathematician Euclid, which he described in his textbook on geometry: the ''Euclid's Elements, Elements''. Euclid's method ...
. Firefox 51+ supports WebGL 2.0. *
Safari A safari (; ) is an overland journey to hunt Hunting is the practice of seeking, pursuing and capturing or killing wildlife Wildlife traditionally refers to undomesticated animal species (biology), species, but has come to inclu ...
– Safari 6.0 and newer versions installed on
OS X Mountain Lion OS X Mountain Lion (version 10.8) is the ninth software versioning, major release of macOS, Apple Inc.'s desktop and Server (computing), server operating system for Macintosh computers. OS X Mountain Lion was released on July 25, 2012 for purcha ...
,
Mac OS X Lion OS X Lion, also known as Mac OS X Lion, (version 10.7) is the eighth Software versioning, major release of macOS, Apple Inc., Apple's desktop and server operating system for Macintosh computers. A preview of Mac OS X 10.7 Lion was publicly sho ...
and Safari 5.1 on
Mac OS X Snow Leopard Mac OS X Snow Leopard (version 10.6) is the seventh major release of macOS macOS (; previously Mac OS X and later OS X) is a Proprietary software, proprietary graphical user interface, graphical operating system develo ...
implemented support for WebGL 1.0, which was disabled by default before Safari 8.0. Safari version 12 (available in MacOS Mojave) has available support for WebGL 2.0, currently as an "Experimental" feature. *
Opera Opera is a form of theatre Theatre or theater is a collaborative form of performing art that uses live performers, usually actor, actors or actresses, to present the experience of a real or imagined event before a live audience in a s ...
– WebGL 1.0 has been implemented in Opera 11 and 12, although was disabled by default in 2014. Opera 43+ supports WebGL 2.0. *
Internet Explorer Internet Explorer (formerly Microsoft Internet Explorer and Windows Internet Explorer, (from August 16, 1995 to March 30, 2021) commonly abbreviated IE or MSIE) is a discontinued series of graphical user interface, graphical web browsers develo ...
– WebGL 1.0 is partially supported in
Internet Explorer 11 Internet Explorer 11 (IE11) is the eleventh, final, and now deprecated version of the Internet Explorer Internet Explorer (formerly Microsoft Internet Explorer and Windows Internet Explorer, (from August 16, 1995 to March 30, 2021) commonly ...
. It initially failed the majority of official WebGL conformance tests, but Microsoft later released several updates. The latest 0.94 WebGL engine currently passes ~97% of Khronos tests. WebGL support can also be manually added to earlier versions of Internet Explorer using third-party plugins such as IEWebGL. *
Microsoft Edge Microsoft Edge is a cross-platform software, cross-platform web browser created and developed by Microsoft. It was first released for Windows 10 and Xbox One in 2015, for Android (operating system), Android and iOS in 2017, for macOS in 2019, an ...

Microsoft Edge
– For Microsoft Edge Legacy, the initial stable release supports WebGL version 0.95 (context name: "experimental-webgl") with an open source GLSL to
HLSL The High-Level Shader Language or High-Level Shading Language (HLSL) is a proprietary shading language developed by Microsoft for the Direct3D 9 API to augment the Shading language#DirectX Shader Assembly Language, shader assembly language, and ...
transpiler A source-to-source translator, source-to-source compiler (S2S compiler), transcompiler, or transpiler is a type of translator (computing), translator that takes the source code of a program written in a programming language as its input and pro ...
. Version 10240+ supports WebGL 1.0 as prefixed. Latest Chromium-based Edge supports WebGL 2.0.


Mobile browsers

*
BlackBerry 10 BlackBerry 10 is a proprietary mobile operating system A mobile operating system is an operating system An operating system (OS) is system software System software is software designed to provide a platform for other software. Examples of s ...
– WebGL 1.0 is available for BlackBerry devices since OS version 10.00 *
BlackBerry PlayBook The BlackBerry PlayBook is a Tablet computer#Mini tablets, mini tablet computer developed by BlackBerry (company), BlackBerry and made by Quanta Computer, an original design manufacturer (ODM).
– WebGL 1.0 is available via WebWorks and browser in PlayBook OS 2.00 * Android Browser – Basically unsupported, but the Sony Ericsson Xperia range of Android smartphones have had WebGL capabilities following a firmware upgrade. Samsung smartphones also have WebGL enabled (verified on Galaxy SII (4.1.2) and Galaxy Note 8.0 (4.2)). Supported in Google Chrome that replaced the Android browser in many phones (but is not a new standard Android Browser). *
Internet Explorer Internet Explorer (formerly Microsoft Internet Explorer and Windows Internet Explorer, (from August 16, 1995 to March 30, 2021) commonly abbreviated IE or MSIE) is a discontinued series of graphical user interface, graphical web browsers develo ...
– Prefixed WebGL 1.0 is available on
Windows Phone Windows Phone (WP) is a discontinued family of mobile operating systems developed by Microsoft for smartphones as the replacement successor to Windows Mobile and Zune. Windows Phone featured a new user interface derived from the Metro design lan ...

Windows Phone
8.x (11+) *
Firefox for mobile Firefox for Android is a web browser developed by Mozilla for Android (operating system), Android smartphones and tablet computers. As with its PC version, it uses the Gecko (software), Gecko Browser engine, layout engine, and supports features suc ...

Firefox for mobile
– WebGL 1.0 is available for Android and MeeGo devices since Firefox 4. *
Firefox OS Firefox OS (project name: ''Boot to Gecko'', also known as ''B2G'') is a discontinued open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the so ...

Firefox OS
*
Google Chrome Google Chrome is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. It was later ported to Linux, macOS, iOS, and An ...

Google Chrome
– WebGL 1.0 is available for Android devices since Google Chrome 25 and enabled by default since version 30. *
Maemo Maemo is a software platform A computing platform or digital platform is an environment in which a piece of software is executed. It may be the Computer hardware, hardware or the operating system (OS), even a web browser and associated applica ...

Maemo
– In
Nokia N900 The Nokia N900 is a smartphone made by Nokia. It supersedes the Nokia N810. Its default operating system, Maemo 5, is a Linux-based OS originally developed for the Nokia 770 Internet Tablet. It is the first Nokia device based upon the Texas Inst ...

Nokia N900
, WebGL 1.0 is available in the stock microB browser from the PR1.2 firmware update onwards. *
MeeGo MeeGo is a discontinued Linux distribution A Linux distribution (often abbreviated as distro) is an operating system An operating system (OS) is system software System software is software designed to provide a platform for other softwar ...
– WebGL 1.0 is unsupported in the stock browser "Web." However, it is available through
Firefox Mozilla Firefox or simply Firefox is a free and open-source Free and open-source software (FOSS) is software that is both free software and open-source software where anyone is free software license, freely licensed to use, copy, study, ...

Firefox
. *
Microsoft Edge Microsoft Edge is a cross-platform software, cross-platform web browser created and developed by Microsoft. It was first released for Windows 10 and Xbox One in 2015, for Android (operating system), Android and iOS in 2017, for macOS in 2019, an ...

Microsoft Edge
– Prefixed WebGL 1.0 is available on Windows 10 Mobile. *
Opera Mobile Opera Mobile is a mobile web browser for smartphones A smartphone is a portable device A mobile device (or handheld computer) is a computer A computer is a machine that can be programmed to carry out sequences of arithmetic or lo ...
– Opera Mobile 12 supports WebGL 1.0 (on Android only). *
Sailfish OS Sailfish OS is a Linux distribution, Linux-based operating system based on free software, and open source projects such as Mer (software distribution), Mer as well as including a closed source User interface, UI. The project is being developed ...
– WebGL 1.0 is supported in the default Sailfish browser. *
Tizen Tizen () is a Linux Linux ( or ) is a family of open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or ...
– WebGL 1.0 is supported *
iOS iOS (formerly iPhone OS) is a mobile operating system A mobile operating system is an operating system An operating system (OS) is system software System software is software designed to provide a platform for other software. Examples o ...

iOS
– WebGL 1.0 is available for mobile Safari, in
iOS 8 iOS 8 is the iOS version history, eighth major release of the iOS mobile operating system developed by Apple Inc., being the successor to iOS 7. It was announced at the company's Apple Worldwide Developers Conference, Worldwide Developers Conf ...
.


Tools and ecosystem


Utilities

The low-level nature of the WebGL API, which provides little on its own to produce desirable 3D graphics quickly, contributed to creation of libraries which are typically used to build things up in 3D graphics (e.g. view transformations for
shader In computer graphics Computer graphics deals with generating images with the aid of computers A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations automatic ...
s,
view frustum In 3D computer graphics, the view frustum (also called viewing frustum) is the region of space in the modeled world that may appear on the screen; it is the field of view in video games, field of view of a Perspective (graphical), perspective v ...
etc.). Basic tasks such as loading
scene graph A scene graph is a general data structure In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their applica ...
s and 3D objects in the popular industry formats is also
abstracted Abstraction in its main sense is a conceptual process where general rule of inference, rules and concepts are derived from the usage and classification of specific examples, literal ("real" or "Abstract and concrete, concrete") signifiers, first p ...
by the libraries (some of which were
ported In software engineering Software engineering is the systematic application of engineering Engineering is the use of scientific principles to design and build machines, structures, and other items, including bridges, tunnels, roads, veh ...
to JavaScript from other languages) to provide additional functionality. A non-exhaustive list of libraries that provide many high-level features includes A-Frame (VR)
BabylonJS
PlayCanvas ''PlayCanvas'' is an open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-sou ...
, three.js, OSG.JS and
CopperLicht CopperLicht is an open-source JavaScript library for creating games and interactive 3D applications using WebGL, developed by Ambiera. The aim of the library is to provide an API for making it easier developing 3D content for the web. It is suppo ...
.
X3D X3D is a royalty-free Royalty-free (RF) material subject to copyright or other intellectual property rights may be used without the need to pay royalties or license, license fees for each use, per each copy or volume sold or some time period o ...
also made a project called X3DOM to make X3D and
VRML VRML (Virtual Reality Modeling Language, pronounced ''vermal'' or by its initials, originally—before 1995—known as the Virtual Reality Markup Language) is a standard file format A file format is a standard Standard may refer to: ...
content running on WebGL. The 3D model will in XML tag in
HTML5 HTML5 is a markup language #REDIRECT Markup language In computer text processing, a markup language is a system for annotation, annotating a document in a way that is Syntax (logic), syntactically distinguishable from the text, meaning when ...

HTML5
and interactive script will use JavaScript and DOM. BS Content Studio and InstantReality X3D exporter can exported X3D in HTML and running by WebGL.


Gavd

There also has been a rapid emergence of
game engine A game engine is a software framework In computer programming, a software framework is an abstraction (computer science), abstraction in which software providing generic functionality can be selectively changed by additional user-written code, t ...
s for WebGL, both 2D and 3D, including
Unreal Engine Unreal Engine is a game engine A game engine is a software framework In computer programming, a software framework is an abstraction (computer science), abstraction in which software providing generic functionality can be selectively change ...
4 and
Unity Unity may refer to: Buildings * Unity Building, Oregon, Illinois, USA; a historic building * Unity Building (Chicago), Illinois, USA; a skyscraper * Unity Buildings, Liverpool, UK; two buildings in England * Unity Chapel, Wyoming, Wisconsin, USA; ...
. The
Stage3D In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and softwa ...
/Flash-based
Away3D Away3D is an open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model ...
high-level library also has a port to WebGL via
TypeScript TypeScript is a programming language A programming language is a formal language In logic, mathematics, computer science, and linguistics, a formal language consists of string (computer science), words whose symbol (formal), letters are ...
. A more light-weight utility library that provides just the vector and matrix math utilities for shaders is sylvester.js. It is sometimes used in conjunction with a WebGL specific extension called glUtils.js. There are also some 2D libraries built on top of WebGL like
Cocos2d Cocos2d is a free software, free software framework. It can be used to build games, Mobile application software, apps and other cross platform Graphical user interface, GUI based interactive programs. Cocos2d contains many branches with the bes ...
-x or Pixi.js, which were implemented this way for performance reasons, in a move that parallels what happened with the
Starling Framework Starling is an open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source m ...

Starling Framework
over Stage3D in the Flash world. The WebGL-based 2D libraries fall back to HTML5 canvas when WebGL is not available. Removing the rendering bottleneck by giving almost direct access to the GPU also exposed performance limitations in the JavaScript implementations. Some were addressed by asm.js and
WebAssembly WebAssembly (sometimes abbreviated Wasm) defines a portable Portable may refer to: General * Portable building, a manufactured structure that is built off site and moved in upon completion of site and utility work * Portable classroom, a tempor ...
(similarly, the introduction of Stage3D exposed performance problems within
ActionScript ActionScript was an object-oriented programming Object-oriented programming (OOP) is a programming paradigm Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into m ...
, which were addressed by projects like
CrossBridge CrossBridge is an open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source mo ...
).


Content creation

Like for any other graphics API, creating content for WebGL scenes requires using a regular 3D content creation tool and exporting the scene to a format that is readable by the viewer or helper library. Desktop 3D authoring software such as
Blender A blender (sometimes called a mixer or liquidiser in British English British English (BrE) is the standard dialect A standard language (also standard variety, standard dialect, and standard) is a language variety that has undergone subs ...
,
Autodesk Maya Autodesk Maya, commonly shortened to just Maya ( ), is a 3D computer graphics software, 3D computer graphics application that runs on Windows, macOS and Linux, originally developed by Alias Systems Corporation (formerly Alias, Wavefront) and curre ...
or SimLab Composer can be used for this purpose. Particularly,
Blend4Web Blend4Web is a Free software, free and Open-source software, open source Software framework, framework for creating and displaying Interactivity, interactive 3D computer graphics in web browsers. Overview The Blend4Web framework leverages Blen ...
allows a WebGL scene to be authored entirely in Blender and exported to a browser with a single click, even as a standalone web page. There are also some WebGL-specific software such as
CopperCube __NOTOC__ CopperCube is a game engine with graphical editor developed by Ambiera. It is aimed primarily at non-programmers, for creating 3D applications in a drag-and-drop format based on a behavior and action-oriented logic system. Additional act ...
and the online WebGL-based editor Clara.io. Online platforms such as
Sketchfab Sketchfab is a platform to publish, share, discover, buy and sell 3D model, 3D, Virtual reality, VR and Augmented reality, AR content. It provides a viewer based on the WebGL and WebXR technologies that allows users to display 3D models on the w ...
and Clara.io allow users to directly upload their 3D models and display them using a hosted WebGL viewer.


Environment based tools

Additionally,
Mozilla Foundation The Mozilla Foundation (stylized as moz://a) is an American non-profit organization A nonprofit organization (NPO), also known as a non-business entity, not-for-profit organization, or nonprofit institution, is a legal entity organized an ...
, in its Firefox browser, has implemented built-in WebGL tools starting with version 27 that allow editing vertex and fragment shaders. A number of other debugging and profiling tools have also emerged.


See also

*
List of WebGL frameworks Frameworks are available to create WebGL WebGL (Short for Web Graphics Library) is a JavaScript JavaScript (), often abbreviated JS, is a programming language A programming language is a formal language In mathematics Mathem ...
* Experience Curiosity – WebGL simulation of the Mars rover ''Curiosity'' *
WebVR WebXR Device API is a Web application programming interface (API) that describes support for accessing augmented reality and virtual reality headset, virtual reality devices, such as the HTC Vive, Oculus Rift, Google Cardboard, Microsoft HoloLen ...
*
Java OpenGL Java OpenGL (JOGL) is a wrapper library (computer science), library that allows OpenGL to be used in the Java (programming language), Java programming language. It was originally developed by Kenneth Bradley Russell and Christopher John Kline, and ...
– OpenGL library for the Java programming language *
WebGPU WebGPU is the working name for a future web standard and JavaScript API for hardware-accelerated, accelerated graphics and GPGPU, compute, aiming to provide "modern 3D graphics and computation capabilities". It is developed by the W3C ''GPU for t ...


References


External links

*
WebGL
at the
Mozilla Developer Network MDN Web Docs, previously Mozilla Developer Network and formerly Mozilla Developer Center, is a documentation repository and learning resource for web developers used by Mozilla Mozilla (stylized as moz://a) is a free software Free soft ...
{{Authority control 3D graphics APIs Cross-platform software Graphics libraries Graphics standards OpenGL Web development