Web3D: Difference between revisions
m added frameworks |
fixed typo of "Adobe" as "Abobe" |
||
(44 intermediate revisions by 25 users not shown) | |||
Line 1: | Line 1: | ||
{{short description|Web-based interactive 3D content}} |
|||
{{Unreferenced|date=January 2012}} |
|||
{{Not to be confused|Web3}} |
|||
{{Multiple issues| |
|||
{{More citations needed|date=May 2023}} |
|||
{{Technical|date=May 2023}} |
|||
⚫ | |||
{{Use dmy dates|date=May 2023}} |
|||
'''Web3D''', also called '''3D Web''', is a group of technologies to display and navigate websites using [[3D computer graphics]]. |
|||
'''Web3D''' was initially the idea to fully display and navigate Web sites using 3D. By extension, the term now refers to all interactive 3D content which are embedded into web pages [[html]], and that we can see through a web browser. Modern Web3D pages are commonly powered by [[WebGL]]. |
|||
==Pre-WebGL era== |
|||
Nowadays many formats and tools are available, including: |
|||
The emergence of Web3D dates back to 1994, with the advent of [[VRML]], a file format designed to store and display 3D graphical data on the [[World Wide Web]].<ref>{{cite web |url=https://www.w3.org/People/Raggett/vrml/vrml.html |title=Extending WWW to support Platform Independent Virtual Reality |author=Dave Raggett |date=1994 |access-date=22 May 2023}}</ref> In October 1995, at Internet World, Template Graphics Software demonstrated a 3D/VRML plug-in for the beta release of [[Netscape Navigator 2|Netscape 2.0]] by [[Netscape|Netscape Communications]].<ref>[http://www.allbusiness.com/technology/software-services-applications/7163706-1.html First 3D/VRML Plug-in for Netscape 2.0 shown by TGS; TGS extends leadership in Internet 3D products and technology]. [[AllBusiness.com]]. 30 Oct 1995. Last accessed 26 Dec 2011.</ref> |
|||
* [[3DMLW]] |
|||
* [[A-Frame (VR)]] |
|||
* [[Adobe Shockwave]] |
|||
* [[Altadyn]] |
|||
* BabylonJs |
|||
* [[Blend4Web]] |
|||
* [[Data-constrained modelling]] (A software tool which can convert volumetric data to Web3D) |
|||
* [[Java 3D]] |
|||
* [[JOGL]] |
|||
* [[LWJGL]] |
|||
* [[O3D]] |
|||
* [[Oak3D]] |
|||
* [[PlayCanvas]] |
|||
* [[ShiVa]] |
|||
* [[Unity (game engine)|Unity]] |
|||
* [[Virtools]] |
|||
* [[VRML]] |
|||
* [[Viewpoint Media Player|Viewpoint]] |
|||
⚫ | |||
* [[WebGL]] |
|||
* [[WireFusion]] |
|||
* [[X3D]] (extension of VRML) |
|||
* [[Additive Manufacturing File Format]] |
|||
The [[Web3D Consortium]] was formed to further the collective development of the format. [[VRML]] and its successor, [[X3D]], have been accepted as international standards by the [[International Organization for Standardization]] and the [[International Electrotechnical Commission]].{{Citation needed|date=May 2023}} |
|||
They are mainly distinguished by five criteria:{{Citation needed|date=April 2015}} |
|||
* Simplicity (Automatic Installation, rates facilities already high) |
|||
The main drawback of the technology was the requirement to use third-party [[Browser extension|browser plug-ins]] to perform 3D rendering, which slowed the adoption of the standard.{{Citation needed|date=May 2023}} |
|||
* Compatibility (Windows, Mac, Unix ..) |
|||
* Quality (Performances, see [[Frames per second]], and indirectly display quality) |
|||
Between 2000 and 2010, one of these plug-ins, [[Adobe Flash Player]], was widely installed on desktop computers and was used to display interactive web pages and online games and to play video and audio content.<ref>[https://www.adobe.com/devnet/flash/articles/fwa_2009.html Looking back at the best Flash sites of 2009] {{webarchive|url=https://web.archive.org/web/20151018034214/http://www.adobe.com/devnet/flash/articles/fwa_2009.html |date=18 October 2015 }}, Adobe Developer Connection, 14 December 2009</ref> Several Flash-based frameworks appeared that used [[software rendering]] and [[ActionScript 3]] to perform 3D computations such as transformations, lighting, and texturing. Most notable among them were [[Papervision3D]] and [[Away3D]].{{Citation needed|date=May 2023}} |
|||
* Interactivity (Depending on the solutions, their programming opportunities, the creators of content have more or less freedom in the creation of interactivity) |
|||
* [[Standardization]] (none, "market position", by a [[standards organization]], etc.) |
|||
Eventually, Adobe developed [[Stage3D]], an [[API]] for rendering interactive 3D graphics with GPU-acceleration for its Flash player and AIR products,<ref>[https://www.adobe.com/devnet/flashplayer/stage3d.html 3D game development for Flash and video games]</ref> which was adopted by software vendors.<ref>{{cite web|url=https://www.theverge.com/2011/10/7/2471974/epics-unreal-3-engine-coming-soon-to-adobe-flash-11|title=Adobe Flash 11 adopts Unreal Engine 3 for better browser games {{pipe}} The Verge|date=7 October 2011 |publisher=theverge.com|accessdate=2023-05-22}}</ref><ref>{{cite book|author=Keith Gladstien|title=Flash Game Development In a Social, Mobile and 3D World|year=2013|publisher=Cengage Learning|isbn=978-1-4354-6021-8|pages=383–421}}</ref> |
|||
In 2009, an [[open-source software|open-source]] 3D web technology called [[O3D]] was introduced by Google. It also required a browser plug-in, but contrary to Flash/Stage3D, was based on [[JavaScript]] API. O3D was geared not only for games but also for advertisements, [[3D model]] viewers, [[demoware|product demos]], simulations, engineering applications, control and monitoring systems.<ref>[https://code.google.com/p/o3d/ O3D Project Page] from Google Code</ref> |
|||
==WebGL and glTF== |
|||
[[WebGL]] (short for "Web Graphics Library") evolved out of the Canvas 3D experiments started by Vladimir Vukićević at [[Mozilla Foundation]]. Vukićević first demonstrated a Canvas 3D prototype in 2006. By the end of 2007, both Mozilla<ref>{{cite web|url=http://blog.vlad1.com/2007/11/26/canvas-3d-gl-power-web-style/|archive-url=https://web.archive.org/web/20110717224855/http://blog.vlad1.com/2007/11/26/canvas-3d-gl-power-web-style/|archive-date=2011-07-17 |title=Canvas 3D: GL power, web-style |publisher=Blog.vlad1.com |access-date=2011-05-14}}</ref> and [[Opera Software|Opera]]<ref>{{cite web|url=http://my.opera.com/timjoh/blog/2007/11/13/taking-the-canvas-to-another-dimension |title=Taking the canvas to another dimension |publisher=My.opera.com |date=2007-11-26 |access-date=2011-05-14|archive-url=https://web.archive.org/web/20071117170113/http://my.opera.com/timjoh/blog/2007/11/13/taking-the-canvas-to-another-dimension|archive-date=2007-11-17}}</ref> had made their own separate implementations. |
|||
In early 2009, the nonprofit technology consortium [[Khronos Group]] started the WebGL Working Group, with initial participation from Apple, Google, Mozilla, Opera, and others.<ref>{{cite web|url=http://www.khronos.org/webgl/ |title=WebGL – OpenGL ES 2.0 for the Web |publisher=Khronos.org |access-date=2023-05-22}}</ref> Version 1.0 of the WebGL specification was released in March 2011.<ref>{{cite web|title=Khronos Releases Final WebGL 1.0 Specification|date=3 March 2011|url=http://www.khronos.org/news/press/khronos-releases-final-webgl-1.0-specification|access-date=2023-05-22}}</ref> |
|||
Major advantages of the new technology include conformity with [[Web API|web standards]] and near-native 3D performance without the use of any browser plug-ins.<ref>{{cite web |title=WebGL Fundamentals |url=http://www.html5rocks.com/en/tutorials/webgl/webgl_fundamentals/ |publisher=HTML5 Rocks}}</ref> Since WebGL is based on [[OpenGL ES]], it works on mobile devices without any additional [[Hardware abstraction|abstraction layers]]. For other platforms, WebGL implementations leverage [[ANGLE (software)|ANGLE]] to translate OpenGL ES calls to DirectX, OpenGL, or Vulkan API calls.<ref>{{cite web|year=2019|access-date=2023-05-22|url=https://chromium.googlesource.com/angle/angle/+/master/README.md|title=ANGLE – Almost Native Graphics Layer Engine}}</ref> |
|||
Among notable WebGL frameworks are [[A-Frame (virtual reality framework)|A-Frame]], which uses [[HTML]]-based markup for building virtual reality experiences;<ref>{{Cite web| url=https://aframe.io| title=A-Frame| website=A-Frame| access-date=2023-05-22}}</ref> [[PlayCanvas]], an open-source engine alongside a proprietary cloud-hosted creation platform for building browser games;<ref>{{cite web | url=https://blog.mozilla.org/blog/2014/03/18/gdc-2014-mozilla-and-partners-prove-the-web-is-the-platform-for-gaming/| title=GDC 2014: Mozilla and partners prove Web is the platform for gaming|publisher=blog.mozilla.org |date=18 March 2014|access-date=2023-05-22}}</ref> [[Three.js]], an [[MIT License|MIT]]-licensed framework used to create [[demoscene]] from the early 2000s;<ref>{{cite web|url=https://www.youtube.com/watch?v=LXWYOF4VibE|author=NVScene|publisher=YouTube|title=NVScene 2015 Session: Reinventing The Wheel – One Last Time (Ricardo Cabello)}}</ref> [[Unity (game engine)|Unity]], which obtained a WebGL back-end in version 5;<ref>{{cite news |title=Unity officially releases its new game engine: Unity 5 |last1=Robertson |first1=Adi |url=https://www.theverge.com/2015/3/3/8142099/unity-5-engine-release |work=The Verge |date=3 March 2015 |access-date=2023-05-22}}</ref> and [[Verge3D]], which integrates with [[Blender (software)|Blender]], [[Autodesk 3ds Max|3ds Max]], and [[Autodesk Maya|Maya]] to create 3D web content.<ref>{{cite news |title=Soft8Soft ships Verge3D 3.7 |last=Thacker |first=Jim |url=https://www.cgchannel.com/2021/05/soft8soft-ships-verge3d-3-0/ |work=CG Channel |date=2021-05-28 |access-date=2023-05-22}}</ref> |
|||
With the rapid adoption of WebGL, a new problem arose—the lack of a 3D file format optimized for the Web. This issue was addressed by [[glTF]], a format that was conceived in 2012 by members of the [[COLLADA]] working group.<ref>{{cite web |last1=Houston |first1=Ben |title=glTF: Everything You Need to Know |url=https://www.threekit.com/blog/gltf-everything-you-need-to-know |website=threekit.com |accessdate=2023-05-22}}</ref> At [[SIGGRAPH]] 2012, Khronos presented a demo of glTF, which was then called WebGL Transmissions Format (WebGL TF). On 19 October 2015, the glTF 1.0 specification was released.<ref>{{cite web |last1=Simkin |first1=Aliaksei |title=Behind the scene of 3D Magic |url=https://stayrelevant.globant.com/en/gltf-behind-the-scene-of-3d-magic/ |website=globant.com |accessdate=29 October 2020}}</ref> Version 2.0 glTF uses a [[physically based rendering]] material model, proposed by Fraunhofer.<ref>{{cite web|url=https://www.youtube.com/watch?v=0eWUzCa_M0E&t=4311s|title=Physically Based Materials in glTF – Current State. M. Limper, T. Sturm, SIGGRAPH 2016 WebGL & glTF BOF (July 27, 2016)|website=[[YouTube]] }}</ref> Other upgrades include sparse accessors and morph targets for techniques such as facial animation, and schema tweaks and breaking changes for corner cases or performance, such as replacing top-level glTF object properties with arrays for faster index-based access.<ref>{{cite web|url=https://github.com/KhronosGroup/glTF/issues/831|title=glTF 2.0 syntax changes and JSON encoding restrictions · Issue #831 · KhronosGroup/glTF|website=GitHub|access-date=2023-05-22}}</ref> |
|||
==Future== |
|||
"[[WebGPU]]" is the working name for a potential web standard and JavaScript API for accelerated graphics and [[GPGPU|computing]], aiming to provide "modern 3D graphics and computation capabilities". It is developed by the [[W3C]] "GPU for the Web" Community Group, with engineers from Apple, Mozilla, Microsoft, and Google, among others.<ref>{{cite web|url=https://www.w3.org/community/gpu/|title=GPU for the Web Community Group|website=w3.org|access-date=2023-05-22}}</ref> |
|||
WebGPU will not be based on any existing 3D API and will use [[Rust (programming language)|Rust]]-like syntax for [[shader]]s.<ref>{{cite web|url=https://dmnsgn.me/blog/from-glsl-to-wgsl-the-future-of-shaders-on-the-web/|title=From GLSL to WGSL: the future of shaders on the Web|access-date=2023-05-22}}</ref> |
|||
==See also== |
==See also== |
||
⚫ | |||
⚫ | |||
* [[List of WebGL frameworks]] |
|||
⚫ | |||
== |
==References== |
||
{{Reflist}} |
|||
* [http://lateralvisions.com Lateral Visions] Lateral Visions Software Company : 3D Web specialist and platform developers. |
|||
* [http://www.tdt3d.eu/ TDT3D] European 3D Community : specialized in computer graphics and real-time 3D rendering (updated regularly). |
|||
* [http://graphtwerk.com Web3D and Web3D Framework : Web3D Software Company and Web3D Developers ] |
|||
* [http://3dstellwerk.com Walkthrough Web3D Online Galleries, Web3D Online Museums, Web3D Online Fairs] |
|||
* {{cite web |
|||
|title = Bringing 3D to the Web |
|||
|url = http://www.news.com/2100-1023-844985.html |
|||
|author = Paul Festa |
|||
|date = 2002-02-26 |
|||
|publisher = [[CNET Networks#News.com|CNET News]] |
|||
⚫ | |||
* [http://altadyn.com Altadyn] 3D Online Collaborative Platforms |
|||
* [http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/Blend4Web Blender Wiki] Blend4Web Addon for exporting Blender scenes to web pages |
|||
* [http://www.cubelets.digital Cubelets] A Digital Media Agency focusing on 3D Websites and Immersive Web Design |
|||
{{vector graphics markup languages}} |
{{vector graphics markup languages}} |
||
Line 58: | Line 50: | ||
[[Category:3D computer graphics]] |
[[Category:3D computer graphics]] |
||
[[Category:Virtual reality]] |
[[Category:Virtual reality]] |
||
[[Category:Graphics standards]] |
|||
[[Category:Web development]] |
Latest revision as of 08:43, 15 November 2024
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Web3D, also called 3D Web, is a group of technologies to display and navigate websites using 3D computer graphics.
Pre-WebGL era
[edit]The emergence of Web3D dates back to 1994, with the advent of VRML, a file format designed to store and display 3D graphical data on the World Wide Web.[1] In October 1995, at Internet World, Template Graphics Software demonstrated a 3D/VRML plug-in for the beta release of Netscape 2.0 by Netscape Communications.[2]
The Web3D Consortium was formed to further the collective development of the format. VRML and its successor, X3D, have been accepted as international standards by the International Organization for Standardization and the International Electrotechnical Commission.[citation needed]
The main drawback of the technology was the requirement to use third-party browser plug-ins to perform 3D rendering, which slowed the adoption of the standard.[citation needed]
Between 2000 and 2010, one of these plug-ins, Adobe Flash Player, was widely installed on desktop computers and was used to display interactive web pages and online games and to play video and audio content.[3] Several Flash-based frameworks appeared that used software rendering and ActionScript 3 to perform 3D computations such as transformations, lighting, and texturing. Most notable among them were Papervision3D and Away3D.[citation needed]
Eventually, Adobe developed Stage3D, an API for rendering interactive 3D graphics with GPU-acceleration for its Flash player and AIR products,[4] which was adopted by software vendors.[5][6]
In 2009, an open-source 3D web technology called O3D was introduced by Google. It also required a browser plug-in, but contrary to Flash/Stage3D, was based on JavaScript API. O3D was geared not only for games but also for advertisements, 3D model viewers, product demos, simulations, engineering applications, control and monitoring systems.[7]
WebGL and glTF
[edit]WebGL (short for "Web Graphics Library") evolved out of the Canvas 3D experiments started by Vladimir Vukićević at Mozilla Foundation. Vukićević first demonstrated a Canvas 3D prototype in 2006. By the end of 2007, both Mozilla[8] and Opera[9] had made their own separate implementations.
In early 2009, the nonprofit technology consortium Khronos Group started the WebGL Working Group, with initial participation from Apple, Google, Mozilla, Opera, and others.[10] Version 1.0 of the WebGL specification was released in March 2011.[11]
Major advantages of the new technology include conformity with web standards and near-native 3D performance without the use of any browser plug-ins.[12] Since WebGL is based on OpenGL ES, it works on mobile devices without any additional abstraction layers. For other platforms, WebGL implementations leverage ANGLE to translate OpenGL ES calls to DirectX, OpenGL, or Vulkan API calls.[13]
Among notable WebGL frameworks are A-Frame, which uses HTML-based markup for building virtual reality experiences;[14] PlayCanvas, an open-source engine alongside a proprietary cloud-hosted creation platform for building browser games;[15] Three.js, an MIT-licensed framework used to create demoscene from the early 2000s;[16] Unity, which obtained a WebGL back-end in version 5;[17] and Verge3D, which integrates with Blender, 3ds Max, and Maya to create 3D web content.[18]
With the rapid adoption of WebGL, a new problem arose—the lack of a 3D file format optimized for the Web. This issue was addressed by glTF, a format that was conceived in 2012 by members of the COLLADA working group.[19] At SIGGRAPH 2012, Khronos presented a demo of glTF, which was then called WebGL Transmissions Format (WebGL TF). On 19 October 2015, the glTF 1.0 specification was released.[20] Version 2.0 glTF uses a physically based rendering material model, proposed by Fraunhofer.[21] Other upgrades include sparse accessors and morph targets for techniques such as facial animation, and schema tweaks and breaking changes for corner cases or performance, such as replacing top-level glTF object properties with arrays for faster index-based access.[22]
Future
[edit]"WebGPU" is the working name for a potential web standard and JavaScript API for accelerated graphics and computing, aiming to provide "modern 3D graphics and computation capabilities". It is developed by the W3C "GPU for the Web" Community Group, with engineers from Apple, Mozilla, Microsoft, and Google, among others.[23]
WebGPU will not be based on any existing 3D API and will use Rust-like syntax for shaders.[24]
See also
[edit]References
[edit]- ^ Dave Raggett (1994). "Extending WWW to support Platform Independent Virtual Reality". Retrieved 22 May 2023.
- ^ First 3D/VRML Plug-in for Netscape 2.0 shown by TGS; TGS extends leadership in Internet 3D products and technology. AllBusiness.com. 30 Oct 1995. Last accessed 26 Dec 2011.
- ^ Looking back at the best Flash sites of 2009 Archived 18 October 2015 at the Wayback Machine, Adobe Developer Connection, 14 December 2009
- ^ 3D game development for Flash and video games
- ^ "Adobe Flash 11 adopts Unreal Engine 3 for better browser games | The Verge". theverge.com. 7 October 2011. Retrieved 22 May 2023.
- ^ Keith Gladstien (2013). Flash Game Development In a Social, Mobile and 3D World. Cengage Learning. pp. 383–421. ISBN 978-1-4354-6021-8.
- ^ O3D Project Page from Google Code
- ^ "Canvas 3D: GL power, web-style". Blog.vlad1.com. Archived from the original on 17 July 2011. Retrieved 14 May 2011.
- ^ "Taking the canvas to another dimension". My.opera.com. 26 November 2007. Archived from the original on 17 November 2007. Retrieved 14 May 2011.
- ^ "WebGL – OpenGL ES 2.0 for the Web". Khronos.org. Retrieved 22 May 2023.
- ^ "Khronos Releases Final WebGL 1.0 Specification". 3 March 2011. Retrieved 22 May 2023.
- ^ "WebGL Fundamentals". HTML5 Rocks.
- ^ "ANGLE – Almost Native Graphics Layer Engine". 2019. Retrieved 22 May 2023.
- ^ "A-Frame". A-Frame. Retrieved 22 May 2023.
- ^ "GDC 2014: Mozilla and partners prove Web is the platform for gaming". blog.mozilla.org. 18 March 2014. Retrieved 22 May 2023.
- ^ NVScene. "NVScene 2015 Session: Reinventing The Wheel – One Last Time (Ricardo Cabello)". YouTube.
- ^ Robertson, Adi (3 March 2015). "Unity officially releases its new game engine: Unity 5". The Verge. Retrieved 22 May 2023.
- ^ Thacker, Jim (28 May 2021). "Soft8Soft ships Verge3D 3.7". CG Channel. Retrieved 22 May 2023.
- ^ Houston, Ben. "glTF: Everything You Need to Know". threekit.com. Retrieved 22 May 2023.
- ^ Simkin, Aliaksei. "Behind the scene of 3D Magic". globant.com. Retrieved 29 October 2020.
- ^ "Physically Based Materials in glTF – Current State. M. Limper, T. Sturm, SIGGRAPH 2016 WebGL & glTF BOF (July 27, 2016)". YouTube.
- ^ "glTF 2.0 syntax changes and JSON encoding restrictions · Issue #831 · KhronosGroup/glTF". GitHub. Retrieved 22 May 2023.
- ^ "GPU for the Web Community Group". w3.org. Retrieved 22 May 2023.
- ^ "From GLSL to WGSL: the future of shaders on the Web". Retrieved 22 May 2023.