If you don`t have it that way with programming, you can also create WebGL content using 3D modeling software such as the open source 3D software Blender or the commercial 3D visualization and animation program Maya from Autodesk. The 3D scenes are then exported to WebGL. This is possible e.g. with Inka3D, a WebGL export module for Maya or the Blender to WebGL Exporter.
Adobe and the third dimension.
And what about Adobe? For a long time there have been „fake“ 3D action script frameworks that actually only give us the impression of three-dimensional content. Technically speaking, three-dimensional scenes are rendered into two-dimensional images using the standard Flash Graphics API. Content generated in this way can be played in the browser with any Flash player version without any problems, but unfortunately its performance is also very limited. The redirection from 3D to 2D via Actionscript generates enormous CPU load and no hardware acceleration is available. Well-known Actionscript frameworks in this area are Papervision3D, Away3D or Alternativa3D. Some of these frameworks already integrate the new „real“ 3D-Stage API from Adobe with the code name Molehill.
Codename Molehill: Adobe Stage 3D API.
With Molehillm Adobe has now introduced a 3D API that helps to solve the performance problem mentioned above and brings the missing hardware acceleration with it. Even though Adobe has recently been caught in the crossfire because they have stopped developing Flash for mobile devices in favor of HTML5, there`s no getting around mentioning Adobe`s Stage 3D API when it comes to in-browser 3D rendering with hardware support alongside WebGL. With Flashplayer version 11, 3D content created using the Stage 3D API can now be played in the browser via the plugin. Molehill uses OpenGL for Mac OS X and DirectX für Windows. In addition, the Stage 3D API provides a fallback solution if no compatible graphics card is found and switches to software-supported rendering – even if the performance will the be moderated, WebGL has not yet been able to do so. A real downer at Molehill, however, is the lack of support for Linux, as can be seen from this post.
Other 3D Techniques and Frameworks.
Unity3D is an integrated authoring environment with a game engine for creating 3D games, other interactive content, visualization and real-time 3D animations. A browser plugin is required for Unity, but the creation of 3D content is much easier than with Molehill or WebGL. Additionally, there are ready-made character-controllers, water simulators, particle generators, a physics engine and more. Also iOS and Android apps are no problem. Unity3D is used for example by Disney and the BBC. As a basic version Unity3D is free of charge and can be used for own developments. The paid Pro version offers extended functionality.
Similar software solutions are e.g. Director, Blender, Virtools, Torque Game Builder or Gamestudio.
Extensible 3D or short X3D is the successor of VRML, but has standardized interfaces and more possibilities. Since 2004 X3D is specified as ISO standard. X3D also requires a browser plugin. X3D us ab XML-based description language for 3D models that can be displayed on the web. Like WebGL, X3D is maintained by the Web3D Consortium. In 2001, X3D was adopted by the W3C Consortium as the official standard for 3D content on the Web.
Collada (COLLAbortaive Design Activity) is an XML-based open exchange format for data between different 3D applications. In addition to models and textures, settings and applied modification steps can also be exported from program to program. Various manufacturers of 3D programs are involved in the development and specification on the format. Also communities, like those around the open source program Blender, were invited to support and extend the format. The structure of Collada files is defined by XML Schema.
If you don`t want to commit to one delivery format when creating 3D web content, you can also use the converter fumctions of e. g. CopperCube to export a Molehill and a WebGL version based on 3D studio, Autocad or Collada files.