WebGL

WebGL (Web Graphics Library) is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins.[2] WebGL is fully integrated with other 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 elements and composited with other parts of the page or page background.[3] WebGL programs consist of control code written in JavaScript and shader code that is written in OpenGL ES Shading Language (GLSL ES), a language similar to C or C++, and is executed on a computer's graphics processing unit (GPU). WebGL is designed and maintained by the non-profit Khronos Group.[4]

WebGL
WebGL Logo
Original author(s)Mozilla Foundation
Developer(s)Khronos WebGL Working Group
Initial releaseMarch 3, 2011[1]
Stable release
2.0 / January 17, 2017
PlatformCross-platform
Available inEnglish
TypeAPI
Websitewww.khronos.org/webgl/

Design

WebGL 1.0 is based on OpenGL ES 2.0 and provides an API for 3D graphics.[5] It uses the HTML5 canvas element and is accessed using Document Object Model (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.[6]

Automatic memory management is provided implicitly by JavaScript.[4]

Like OpenGL ES 2.0, WebGL does not have the fixed-function APIs introduced in OpenGL 1.0 and deprecated 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 to the screen.

History

WebGL evolved out of the Canvas 3D experiments started by Vladimir Vukićević at Mozilla. Vukićević first demonstrated a Canvas 3D prototype in 2006. By the end of 2007, both Mozilla[7] and Opera[8] had made their own separate implementations.

In early 2009, the non-profit technology consortium Khronos Group started the WebGL Working Group, with initial participation from Apple, Google, Mozilla, Opera, and others.[4][9] Version 1.0 of the WebGL specification was released March 2011.[1] As of March 2012, the chair of the working group is Ken Russell.

Early applications of WebGL include Zygote Body.[10][11] In November 2012 Autodesk announced that they ported most of their applications to the cloud running on local WebGL clients. These applications included Fusion 360 and AutoCAD 360.[12]

Development of the WebGL 2 specification started in 2013 with final in January 2017.[13] This specification is based on OpenGL ES 3.0.[14] First implementations are in Firefox 51, Chrome 56 and Opera 43.[15]

Support

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

Desktop browsers

  • Google Chrome – WebGL 1.0 has been enabled on all platforms that have a capable graphics card with updated drivers since version 9, released in February 2011.[19][20] By default on Windows, Chrome uses the ANGLE (Almost Native Graphics Layer Engine) renderer to translate OpenGL ES to Direct X 9.0c or 11.0, which have better driver support.[21] On Linux and Mac OS X the default renderer is OpenGL however.[22] It is also possible to force OpenGL as the renderer on Windows.[21] Since September 2013, Chrome also has a newer Direct3D 11 renderer, which however requires a newer graphics card.[23][24] Chrome 56+ support WebGL 2.0.
  • Mozilla Firefox – WebGL 1.0 has been enabled on all platforms that have a capable graphics card with updated drivers since version 4.0.[25] Since 2013 Firefox also uses DirectX on the Windows platform via ANGLE.[21] Firefox 51+ support WebGL 2.0.
  • Midori
  • Safari – Safari 6.0 and newer versions installed on OS X Mountain Lion, Mac OS X Lion and Safari 5.1 on Mac OS X Snow Leopard implemented support for WebGL 1.0, which was disabled by default before Safari 8.0.[26][27][28][29][30] Safari version 12 (available in MacOS Mojave) has available support for WebGL 2.0, currently as an "Experimental" feature.
  • Opera – WebGL 1.0 has been implemented in Opera 11 and 12, although was disabled by default in 2014.[31][32] Opera 43+ support WebGL 2.0.
  • Internet Explorer – WebGL 1.0 is partially supported in Internet Explorer 11.[33][34][35][36] 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.[37] WebGL support can also be manually added to earlier versions of Internet Explorer using third-party plugins such as IEWebGL.[38]
  • Microsoft Edge – The initial stable release supports WebGL version 0.95 (context name: "experimental-webgl") with an open source GLSL to HLSL transpiler.[39] Version 10240+ supports WebGL 1.0 as prefixed. WebGL 2.0 is planned with medium priority in future releases.[40]
  • Vivaldi

Mobile browsers

  • BlackBerry 10 – WebGL 1.0 is available for BlackBerry devices since OS version 10.00[41]
  • BlackBerry PlayBook – WebGL 1.0 is available via WebWorks and browser in PlayBook OS 2.00[42]
  • Android Browser – Basically unsupported, but the Sony Ericsson Xperia range of Android smartphones have had WebGL capabilities following a firmware upgrade.[43] 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 Android browser in many phones (but is not a new standard Android Browser).
  • Internet Explorer – Prefixed WebGL 1.0 is available on Windows Phone 8.x (11+)
  • Firefox for mobile – WebGL 1.0 is available for Android and MeeGo devices since Firefox 4.[44][45]
  • Firefox OS[45]
  • Google Chrome – WebGL 1.0 is available for Android devices since Google Chrome 25 and enabled by default since version 30.[46]
  • Maemo – In Nokia N900, WebGL 1.0 is available in the stock microB browser from the PR1.2 firmware update onwards.[47]
  • MeeGo – WebGL 1.0 is unsupported in the stock browser "Web." However, it is available through Firefox.[45]
  • Microsoft Edge – Prefixed WebGL 1.0 is available on Windows 10 Mobile.[48]
  • Opera Mobile – Opera Mobile 12 supports WebGL 1.0 (on Android only).[49]
  • Sailfish OS – WebGL 1.0 is supported in the default Sailfish browser.[50]
  • Tizen – WebGL 1.0 is supported[51]
  • Ubuntu Touch
  • WebOS
  • Mi Browser - all versions WebGL are supported.
  • iOS – WebGL 1.0 is available for mobile Safari, in iOS 8.[52]

Performance

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 shaders, view frustum etc). Basic tasks such as loading scene graphs and 3D objects in the popular industry formats is also abstracted by the libraries (some of which were sometime simply ported 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, three.js, OSG.JS and CopperLicht. X3D also made a project called X3DOM to make X3D and VRML content running on WebGL. The 3D model will in XML tag <X3D> in 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.

Game engines

There also has been a rapid emergence of game engines for WebGL, both 2D and 3D,[53] including Unreal Engine 4 and Unity.[54] The Stage3D/Flash-based Away3D high-level library also has a port to WebGL via TypeScript.[23][55] A more light-weight utility library that provides just the vector and matrix math utilities for shaders is sylvester.js.[56][57] It is sometimes used in conjunction with a WebGL specific extension called glUtils.js.[56][58]

There are also some 2D libraries built on top of WebGL like Cocos2d-x or Pixi.js, which were implemented this way for performance reasons, in a move that parallels what happened with the Starling Framework over Stage3D in the Flash world. The WebGL-based 2D libraries fall back to HTML5 canvas when WebGL is not available.[59]

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 (similarly, the introduction of Stage3D exposed performance problems within ActionScript, which were addressed by projects like CrossBridge.)[59]

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, Autodesk Maya or SimLab Composer can be used for this purpose. Particularly, Blend4Web 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.[60] There are also some WebGL-specific software such as CopperCube and the online WebGL-based editor Clara.io. Online platforms such as Sketchfab 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, in its Firefox browser, has implemented built-in WebGL tools starting with version 27 that allow editing vertex and fragment shaders.[61] A number of other debugging and profiling tools have also emerged.[62]

See also

References

  1. ^ a b "Khronos Releases Final WebGL 1.0 Specification". Retrieved 2015-05-18.
  2. ^ Tavares, Gregg (2012-02-09). "WebGL Fundamentals". HTML5 Rocks.
  3. ^ Parisi, Tony (2012-08-15). "WebGL: Up and Running". O'Reilly Media, Incorporated. Archived from the original on 2013-02-01. Retrieved 2012-07-13.
  4. ^ a b c "WebGL – OpenGL ES 2.0 for the Web". Khronos.org. Retrieved 2011-05-14.
  5. ^ "WebGL Specification". Khronos.org. Retrieved 2011-05-14.
  6. ^ "WebGL 2.0 Specification". Khronos.org. Retrieved 2017-02-27.
  7. ^ "Canvas 3D: GL power, web-style". Blog.vlad1.com. Archived from the original on 2011-07-17. Retrieved 2011-05-14.
  8. ^ "Taking the canvas to another dimension". My.opera.com. 2007-11-26. Archived from the original on 2007-11-17. Retrieved 2011-05-14.
  9. ^ "Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet". Khronos.org. 2009-08-04. Archived from the original on 2012-04-12. Retrieved 2011-05-14.
  10. ^ "Google Body – Google Labs". Bodybrowser.googlelabs.com. Archived from the original on 2011-05-13. Retrieved 2011-05-14.
  11. ^ Bhanoo, Sindya N. (2010-12-23). "New From Google: The Body Browser". Well.blogs.nytimes.com. Retrieved 2011-05-14.
  12. ^ "AUTODESK FUSION 360: THE FUTURE OF CAD, PT. 1". 3dcadworld.com. Retrieved 2013-08-21.
  13. ^ "WebGL 2 Specification". khronos.org. 2013-09-26. Retrieved 2013-10-28.
  14. ^ "WebGL 2.0 Specification".
  15. ^ "WebGL - Web APIs". MDN.
  16. ^ "WebGL test page". webgl.org.
  17. ^ "WebGL Report". webglreport.com.
  18. ^ "WebGL Browser Report — WebGL Detection — WebGL Tester — BrowserLeaks". browserleaks.com.
  19. ^ Mah, Paul (February 8, 2011). "Google releases Chrome 9; comes with Google Instant, WebGL – FierceCIO:TechWatch". FierceCIO. Retrieved 2012-03-20.
  20. ^ "WebGL in Chrome Stable! - Learning WebGL". learningwebgl.com. Archived from the original on 2015-05-28. Retrieved 2014-08-07.
  21. ^ a b c "(WebGL) How to Enable Native OpenGL in your Browser (Windows)". geeks3d.com.
  22. ^ "Chromium Blog: Introducing the ANGLE Project". Chromium Blog.
  23. ^ a b "WebGL around the net, 17 Oct 2013 - Learning WebGL". learningwebgl.com. Archived from the original on 8 August 2014. Retrieved 5 August 2014.
  24. ^ "At last! Chrome D3D11 day has come!". tojicode.com.
  25. ^ "Mozilla Firefox 4 Release Notes". Mozilla.com. 2011-03-22. Retrieved 2012-03-20.
  26. ^ "New in OS X Lion: Safari 5.1 brings WebGL, Do Not Track and more". Fairerplatform.com. 2011-05-03. Archived from the original on 2012-03-19. Retrieved 2012-03-20.
  27. ^ "Enable WebGL in Safari". Ikriz.nl. 2011-08-23. Retrieved 2012-03-20.
  28. ^ "Getting a WebGL Implementation". Khronos.org. 2012-01-13. Retrieved 2012-03-20.
  29. ^ "Implementations/WebKit". Khronos.org. 2011-09-03. Retrieved 2012-03-20.
  30. ^ "WebGL Now Available in WebKit Nightlies". Webkit.org. Archived from the original on 2012-03-08. Retrieved 2012-03-20.
  31. ^ "WebGL and Hardware Acceleration". My.opera.com. 2011-02-28. Archived from the original on 2011-03-03. Retrieved 2012-03-20.
  32. ^ "Introducing Opera 12 alpha". My.opera.com. 2011-10-13. Archived from the original on 2011-10-15. Retrieved 2012-03-20.
  33. ^ "WebGL (Windows)". microsoft.com. Microsoft.
  34. ^ "Internet Explorer 11 Preview guide for developers". Microsoft. 2013-07-17. Retrieved 2013-07-24.
  35. ^ "WebGL". Microsoft. 2013-07-17. Retrieved 2013-07-24.
  36. ^ "Internet Explorer 11 to support WebGL and MPEG Dash". Engadget. 2013-06-26. Retrieved 2013-06-26.
  37. ^ "IE11 fails more than half tests in official WebGL conformance test suite". Microsoft Connect.
  38. ^ "IEWebGL". Iewebgl. Retrieved 2014-08-14.
  39. ^ "GitHub - Microsoft Edge WebGL Implementation". Microsoft. 2016-06-04. Retrieved 2016-06-10.
  40. ^ "The status of WebGL 2.0 in Microsoft Edge is Under Considieration". Microsoft Edge Development.
  41. ^ McDonough, Larry. "WebGL: 3D Gaming on the Web Arrives". BerryReview. Retrieved 2013-04-09.
  42. ^ Halevy, Ronen. "PlayBook OS 2.0 Developer Beta Includes WebGL, Flash 11, & AIR 3.0". BerryReview. Retrieved 2011-11-15.
  43. ^ "Xperia™ phones first to support WebGL™ – Developer World". blogs.sonyericsson.com. The Sony Ericsson Developer Program. 2011-11-29. Archived from the original on 2011-12-03. Retrieved 2011-12-05.
  44. ^ "WebGL on Mobile Devices". iChemLabs. 2011-11-12. Retrieved 2011-11-25.
  45. ^ a b c "Mobile HTML5 compatibility on iPhone, Android, Windows Phone, BlackBerry, Firefox OS and other mobile devices". Retrieved 2015-09-16.
  46. ^ Kersey, Jason. "Chrome Beta for Android Update". Chrome Releases Blog. Google. Retrieved 2013-08-23.
  47. ^ Voipio, Riku (2010-06-07). "WebGL on N900". Suihkulokki.blogspot.com. Retrieved 2011-05-14.
  48. ^ "Dev guide: WebGL – Microsoft Edge Development". Microsoft. Retrieved 2016-06-10.
  49. ^ "Opera Mobile 12". Opera Software. Archived from the original on 1 March 2012. Retrieved 27 February 2012.
  50. ^ "HTML5test – How well does your browser support HTML5?". Retrieved 2015-09-16.
  51. ^ "HTML5test – How well does your browser support HTML5?". Retrieved 2015-09-16.
  52. ^ Cunningham, Andrew (2014-09-17). "iOS 8, Thoroughly Reviewed". Ars Technica. Retrieved 2014-09-19.
  53. ^ Parisi, Tony (13 February 2014). Programming 3D Applications with HTML5 and WebGL: 3D Animation and Visualization for Web Pages. "O'Reilly Media, Inc.". pp. 364–366. ISBN 978-1-4493-6395-6.
  54. ^ Barrett, Stephen. "Tegra K1 Lands in Acer's Newest Chromebook". anandtech.com.
  55. ^ "Blog > Away3D Typescript 4.1 Alpha > Away3D". away3d.com.
  56. ^ a b Boreskov, Alexey; Shikin, Evgeniy (2014). Computer Graphics: From Pixels to Programmable Graphics Hardware. CRC Press. p. 370. ISBN 978-1-4398-6730-3.
  57. ^ Anyuru, Andreas (2012). Professional WebGL Programming: Developing 3D Graphics for the Web. John Wiley & Sons. p. 140. ISBN 978-1-119-94058-6.
  58. ^ Fulton, Steve; Fulton, Jeff (2013). HTML5 Canvas (2nd ed.). "O'Reilly Media, Inc.". p. 624. ISBN 978-1-4493-3588-5.
  59. ^ a b "The WebGL potential - TypedArray.org". typedarray.org.
  60. ^ "Blend4Web Official Site - About". Blend4Web.com. Retrieved 2015-06-22.
  61. ^ "Live editing WebGL shaders with Firefox Developer Tools". Mozilla Hacks – the Web developer blog.
  62. ^ "Real-Time Rendering · WebGL Debugging and Profiling Tools". realtimerendering.com.

Further reading

External links

Adobe Animate

Adobe Animate (formerly Adobe Flash Professional, Macromedia Flash, and FutureSplash Animator) is a multimedia authoring and computer animation program developed by Adobe Systems.Animate is used to design vector graphics and animation for television programs, online video, websites, web applications, rich internet applications, and video games. The program also offers support for raster graphics, rich text, audio and video embedding, and ActionScript scripting. Animations may be published for HTML5, WebGL, Scalable Vector Graphics (SVG) animation and spritesheets, and legacy Flash Player (SWF) and Adobe AIR formats.It was first released in 1996 as FutureSplash Animator, and then renamed Macromedia Flash upon its acquisition by Macromedia. It was created to serve as the main authoring environment for the Adobe Flash platform, vector-based software for creating animated and interactive content. It was renamed Adobe Animate in 2013 to more accurately reflect its market position then, since over a third of all content created in Animate uses HTML5.

Babylon.js

Babylon.js is a real time 3D engine using a JavaScript library for displaying 3D graphics in a web browser via HTML5. The source code is available on github and distributed under the Apache License 2.0.

Blend4Web

Blend4Web is a free and open source framework for creating and displaying interactive 3D computer graphics in web browsers.

Browser game

A browser game is a video game that is played via the World Wide Web using a web browser. Browser games can be run using standard web technologies or browser plug-ins. The creation of such games usually involves use of standard web technologies as a frontend and other technologies to provide a backend. Browser games include all video game genres and can be single-player or multiplayer. Browser games are also portable and can be played on multiple different devices, web browsers, and operating systems.

Browser games come in many genres and themes that appeal to both regular and casual players. Multiple browser games have developed beyond the online platform to become large titles or franchises sold physically in stores, in online marketplaces like Steam or XBLA, or in decentralized distribution platforms such as itch.io. Some notable titles are Transformice, Alien Hominid, Bejeweled, Bloons, Club Penguin, Cookie Clicker, and Meat Boy.

Canvas element

The canvas element is part of HTML5 and allows for dynamic, scriptable rendering of 2D shapes and bitmap images. It is a low level, procedural model that updates a bitmap and does not have a built-in scene graph; however through WebGL allows 3D shapes and images and so-on. HTML5 Canvas also helps in making 2D games.

Clara.io

Clara.io is a web-based freemium 3D computer graphics software developed by Exocortex, a Canadian software company. Clara.io was announced in July 2013 and first presented as part of the official SIGGRAPH 2013 program later that month. By November 2013 when the open beta period started, Clara.io had 14,000 registered users. Clara.io claimed to have 26,000 registered users in January 2014, which grew to 85,000 by December 2014.

Freeciv

Freeciv is a single- and multiplayer, turn-based strategy game for workstations and personal computers inspired by the proprietary Sid Meier's Civilization series. It is available for most desktop computer operating systems and available in an online browser based version. Released under the GNU General Public License, Freeciv is free and open source software. The game's default settings are closest to Civilization II, in both gameplay and graphics, including the units and the isometric grid.

Players take the role of tribal leaders in 4000 B.C. who must guide their peoples through the centuries. Over time, new technologies are discovered, which allow the construction of new city buildings and the deployment of new units. Players can wage war on one another or form diplomatic relationships.

The game ends when one civilization has eradicated all others or accomplished the goal of space colonization, or at a given deadline. If more than one civilization remains at the deadline, the player with the highest score wins. Points are awarded for the size of a civilization, its wealth, and cultural and scientific advances.

GlTF

glTF (GL Transmission Format) is a file format for 3D scenes and models using the JSON standard. It is described by its creators as the "JPEG of 3D." It is an API-neutral runtime asset delivery format developed by the Khronos Group 3D Formats Working Group and announced at HTML5DevConf 2016. The intention is that glTF be an efficient, interoperable asset delivery format that compresses the size of 3D scenes and minimizes runtime processing by applications using WebGL and other APIs. glTF also defines a common publishing format for 3D content tools and services.

Google Chrome Experiments

Google Chrome Experiments is an online showroom of web browser based experiments, interactive programs, and artistic projects. Launched in March 2009, Chrome Experiments is an official Google website that was originally meant to test the limits of JavaScript and the Google Chrome browser's performance and abilities. As the project progressed, it took the role of showcasing and experimenting latest open-source web-based technologies, such as JavaScript, HTML5, WebGL, Canvas, SVG, CSS, and some others. All the projects on Chrome experiments are user submitted and are made using open source technologies. As of February 24, 2015, there were 1000 different Chrome projects posted on the website.

Graphics library

A graphics library is a program library designed to aid in rendering computer graphics to a monitor. This typically involves providing optimized versions of functions that handle common rendering tasks. This can be done purely in software and running on the CPU, common in embedded systems, or being hardware accelerated by a GPU, more common in PCs. By employing these functions, a program can assemble an image to be output to a monitor. This relieves the programmer of the task of creating and optimizing these functions, and allows them to focus on building the graphics program. Graphics libraries are mainly used in video games and simulations.

Some APIs use Graphics Library (GL) in their name, notably OpenGL and WebGL.

Internet Explorer 11

Internet Explorer 11 (IE11) is the eleventh and final version of the Internet Explorer web browser by Microsoft. It was officially released on October 17, 2013 for Windows 8.1 and on November 7, 2013 for Windows 7. The browser was also shipped with Windows 10 on its release on July 29, 2015, but Microsoft Edge is the default browser in this version of Windows. It is the default browser shipped with Windows Server 2016 and Windows Server 2019. After January 12, 2016, only the most recent version of Internet Explorer to be offered for installation on any given Windows operating system will continue to be supported with security updates, lasting until the end of the support lifecycle for that Windows operating system. On Windows 7, 8.1, and 10, only Internet Explorer 11 will receive security updates for the remainder of those Windows versions' support lifecycles.While Internet Explorer 10 will reach end of support on January 31, 2020, IE 11 will be the only supported version of Internet Explorer on Windows Server 2012 and Windows Embedded 8 Standard. IE 11 will be available for piloting on Windows Server 2012 and Windows Embedded 8 Standard starting Spring of 2019.

List of WebGL frameworks

Frameworks are available to create WebGL content quickly and easily without building from the ground up.

Note: the following list mixes WebGL libraries with game engines as well as cloud services without any distinctions.

List of game engines

Game engines are tools available for game designers to code and plan out a game quickly and easily without building one from the ground up. Whether they are 2D or 3D based, they offer tools to aid in asset creation and placement.

OpenFL

OpenFL is a free and open-source software framework and platform for the creation of multi-platform applications and video games. OpenFL applications can be written in Haxe, JavaScript (EcmaScript 5 or 6+), or TypeScript., and may be published as standalone applications for several targets including iOS, Android, HTML5(choice of Canvas, WebGL, SVG or DOM), Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, Tivo, Raspberry Pi, and Node.js.The most popular editors used for Haxe and OpenFL development are:

Visual Studio Code (with plugin)

HaxeDevelop (supports Code folding, code refactoring and interactive debugging)

Sublime Text (with plugin)

IntelliJ IDEA (with plugin)OpenFL contains Haxe ports of major graphical libraries such as Away3D, Starling, BabylonJS and DragonBones. Due to the multi-platform nature of OpenFL, such libraries usually run on multiple platforms such as HTML5, Adobe AIR and Android/iOS.

More than 500 video games have been developed with OpenFL, including the BAFTA-award-winning game Papers, Please, Rymdkapsel, Lightbot and Madden NFL Mobile.

PlayCanvas

PlayCanvas is an open-source 3D game engine/interactive 3D application engine alongside a proprietary cloud-hosted creation platform that allows for simultaneous editing from multiple computers via a browser-based interface. It runs in modern browsers that support WebGL, including Mozilla Firefox and Google Chrome. The engine is capable of rigid-body physics simulation, handling three-dimensional audio and 3D animations.

PlayCanvas has gained the support of ARM, Activision and Mozilla.The PlayCanvas engine was open-sourced on June 4, 2014.In April 2019 BusinessInsider.com reported that the company was acquired by Snap Inc. in 2017

Sketchfab

Sketchfab is a platform to publish, share, discover, buy and sell 3D, VR and AR content. It provides a viewer based on the WebGL and WebVR technologies that allows users to display 3D models on the web, to be viewed on any mobile browser, desktop browser or Virtual Reality headset.

The company behind it is today based in Paris and New York City. Sketchfab took part in the Spring 2013 TechStars New York City startup accelerator program, raised $2 million in December 2013 and $7 million in June 2015.

Three.js

Three.js is a cross-browser JavaScript library and Application Programming Interface (API) used to create and display animated 3D computer graphics in a web browser. Three.js uses WebGL. The source code is hosted in a repository on GitHub.

Virtual world framework

The virtual world framework (VWF) is a means to connect robust 3D, immersive, entities with other entities, virtual worlds, content and users via web browsers. It provides the ability for client-server programs to be delivered in a lightweight manner via web browsers, and provides synchronization for multiple users to interact with common objects and environments. For example, using VWF, a developer can take video lesson plans, component objects and avatars and successfully insert them into an existing virtual or created landscape (such as EDGE or Open Sim), interacting with the native objects and users via a VWF interface.VWF further opens the door to interface different training content, simulations, objects, users and locations; which will extend and expand the scope of training and education. (Imagine running a tank simulation with aviation assets, provided by two different simulations suites, but executed together and passing imagery and sensor data between them, working over a common landscape and feeding a constructive mapping simulation run on a third platform, all seamlessly and transparent to remote users via their browsers). The VWF is meant as a useful tool to interact with differing types of entities (objects, avatars, simulations, spaces). As an open-source tool protected under the Apache II license, VWF is free and accessible to any number of developers who can create content and expand its scope and functionality. The VWF delivers its interactivity using the web, creating an opportunity to align mismatched objects or environments. VWF is under development to work with Massively Multiplayer Online Role Playing Games (MMORPG) such as EDGE, and ideally will be developed to interface with the latest object encodings (such as Unity and MP4), environments (such as OpenSim MOSES) and other simulations platforms in order to create a truly agnostic interfacing tool.

Server-side
Client-side
Topics
Standards of the Khronos Group
Active
Inactive

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.