Web 3D technology
- Page created by Daniel K. Schneider, 2 September 2010
- Last modified by Daniel K. Schneider, 31 March 2011
Usually, Web 3D refers to interactive 3D technology that one can use through a web browser. However, users are usually required to install a so-called plugin.
Web 3D also can refer to technology that allows to browser the Web in 3D. See visualization.
- Tour 3D for an informal introduction plus demos
- 3D interactive environment, Desk-top virtual reality and 3D file formats.
2 Overview of web 3D technologies
One may distinguish several kinds of technologies and that are not really comparable since the fulfill different needs.
Wikipedia (retrieved 11:00, 2 September 2010 (CEST)) suggests to use four different criteria:
- Simplicity (Automatic Installation, rates facilities already high)
- Compatibility (Windows, Mac, Unix ..)
- Quality (Performances, see Frames per second, and indirectly display quality)
- Interactivity (Depending on the solutions, their programming opportunities, the creators of content have more or less freedom in the creation of interactivity.)
We add to this list:
- Standardization (which is very important in education, since contents should last for decades). Standardization includes interaction with other standards, such as HTML, HTTP (URLs), ECMAScript, MPEG, etc.
- Expressiveness, i.e. what types of contents can be defined and rendered. See also interactivity above, i.e. what can be changed dynamically (anything as in X3D or only some things as in gaming engines)
- Format, i.e. weather the technology is a format or a programming API (or some of both)
2.1 VRML and X3D
3D on the Web began in it's very beginning. The major impulse for VRML, the Virtual Reality Modeling Language, can be traced back to a birds of the feature sessions on Virtual Reality Markup Languages at the First International Conference on the World-Wide-Web, May 25-27, 1994 at CERN in Geneva.
It's conceptual origins are older, e.g. (a) Science Fiction literature (e.g. [Gibson, 1994], [Stephenson, 1992]), (b) Mark Pesce's, P. Kennard's and Toni Parisi's Labyrinth system ([Pesce et al., 1994]) and proposal for a 3-D navigation and representation scheme and (c) more generally 3-D computer graphics (including VR). Based upon SGI's Open Inventor format, a almost final draft for VRML 1.0 was presented at the second WWW conference in fall 94 in Chicago. On April 3, 1995 SGI presented WebSpace, the first publicly available VRML browser. So all in all it took about a year to set standards and make the first browser available. In 2007, VRML became an ISO standard.
VRML never caught on very much, because it's flexibility made it difficult to write rendering engines that were fast. In opposition, early gaming engines just could render tunnels (with textures) and weapons and were fast because of this specialization. Of course, in the 1990's most PC's didn't have 3D graphics boards and those who did, were both very slow and very expensive compared to modern boards. In addition, interfaces with web browsers, i.e. the HTML page in which the 3D scene is embedded were unreliable and not standardized. This was also a major flaw, since it is important to be able to combine interactive 2D and 3D contents. Finally, 3D companies ought to be able to plan for the long term since writing flexible rendering engines cans take years. Without the backing of large company, this is not possible.
In 2001, the Web3D Consortium started work on X3D and a first release was published in 2003. X3D is a revision of VRML in modular form. It supports both XML and traditional VRML syntax. Most modules are now ISO standards or almost.
The purpose of WebGL is to bring hardware-accelerated 3D graphics to the Web without plug-ins. In other words, web browsers will directly support 3D graphics and lessen the need to install plugins.
Currently, (Sept. 2010), Firefox 4Beta and WebKit ?Beta (Safara/Chrome) provide partial support. It is possible to install one of these versions in addition to the stable versions, but you'll have to carefully manage your profiles.
Web GL is based on the well know OpenGL graphics API.
The HTML canevas element allows for some 3D:
“The The Canvas API is a client-side scripting technology to allow for the rich creation or alteration of raster images (bitmaps) . It uses vector-based programmatic methods to create shapes, gradients, and other graphical effects, and because it has no DOM, it can perform very quickly. Dedicated scripters can develop games or even full-featured applications using the Canvas API, alone or integrated into HTML or SVG. It is supported natively in most modern browsers (with script libraries extending support to all major browsers), and even on some mobile devices.” (Graphics (W3C, retrieved Sept. 2 2010).
- The Web|3D consortium launched X3DOM in 2010. X3DOM “an experimental open source framework and runtime to support the ongoing discussion in the Web3D and W3C communities how an integration of HTML5 and declarative 3D content could look like. It tries to fulfill the current HTML5 specification for declarative 3D content and allows including X3D elements as part of any HTML5 DOM tree.” (X3DOM Blog , retrieved Sept. 2 2010).
Flash 10 (released in 2008) does have 3D capabilities, i.e. ActionScript classes and methodes. Prior to official 3D support, many 3rd party developers did release Flash 3D products most of which are programming libraries. These libraries remain more popular than Adobe's classes but they usually rely on Adobe's framework.
There is no official 3D authoring tool from Adobe. CS4 and CS5 only provide support for 3D animation of 2D objects.
Flash is a popular technology for developing light-weight web games.
Adobe also provides older Shockwave format.
2.5 Java 3D
According to Wikipedia (retrieved Sept. 2, 2010), “Java 3D is a scene graph-based 3D application programming interface (API) for the Java platform. It runs atop either OpenGL or Direct3D. Compared to other solutions, Java 3D is not only a wrapper around these graphics APIs, but an interface that encapsulates the graphics programming using a real, object-oriented concept. Here a scene is constructed using a scene graph that is a representation of the objects that have to be shown. This scene graph is structured as a tree containing several elements that are necessary to display the objects. Additionally, Java 3D offers extensive spatialized sound support.”
2.6 QuickTime VR
According to Wikipedia (retrieved 11:38, 2 September 2010 (CEST)), “QuickTime VR (virtual reality) (also known as QTVR) is a type of image file format supported by Apple's QuickTime. It allows the creation and viewing of photographically captured panoramas and the exploration of objects through images taken at multiple viewing angles. It functions as a plugin for the standalone QuickTime Player, as well as working as a plugin for the QuickTime Web browser plugin.”
3DMLW is format somewhat similar to X3D. They can be distinguised by two major features:
- 3DMLW supports both 2D and 3D Contents, whereas X3D is meant to be embedded in HTML
- 3DMLW allows .3ds, .obj, .an8, and .blend file formats for 3D models.
2.8 Gaming engines
Since most gaming engines support multi-users over the Internet, it shouldn't be difficult to integrate a client with a web browser.
- Unity has a Webplayer. According to Wikipedia (sept. 2010), “Unity is an integrated authoring tool for creating 3D video games or other interactive content such as architectural visualizations or real-time 3D animations. Unity is similar to Director, Blender game engine, Virtools or Torque Game Builder in the sense that an integrated graphical environment is the primary method of development.”
3 X3D/VRML vs. proprietary formats
Both VRML and X3D never caught on a lot. Nevertheless, both formats are quite popular in education since they are flexible and powerful, declarative and standardized. Most proprietary Web 3D formats did not survive. A typical pattern is that a new 3D company makes a lot of noise for their proprietary format and then encounters some success then falls down to a smaller niche than VRML/X3D or bankruptcy. Examples were Active Worlds and now maybe Second Life.
Another typical pattern are the really big company planning to "own the 3D world". Typical examples are Microsoft Chrome and Adobe Atmosphere. Both were hailed as solutions supported by all the might of these companies, but they are all dead.
- Wikipedia links
- Technology Home pages
- Please also follow up the links in the text and that point to other EduTechWiki articles
- Google Code o3d
- Gibson, W. (1994). Neuromancer. Ace, New York.
- Ortiz, Sixto Jr. (2010). Is 3D Finally Ready for the Web?, Computer, January 2010 (Vol. 43, No. 1) pp. 14-16. (Computer, (Access restricted)).
- Pesce, M. (1995). VRML, Browsing and Building Cyberspace. New Riders, Indianapolis.
- Stephenson, N. (1992). Snow Crash. Bantam.