X3DV: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
 
(52 intermediate revisions by 2 users not shown)
Line 2: Line 2:
{{X3D tutorial|none|any|}}
{{X3D tutorial|none|any|}}
<categorytree mode="pages" depth="0" style="float:right; clear:right; margin-left:3px; border:1px solid gray; padding:0.7ex; background-color:#f9f9f9;">X3D tutorials</categorytree>
<categorytree mode="pages" depth="0" style="float:right; clear:right; margin-left:3px; border:1px solid gray; padding:0.7ex; background-color:#f9f9f9;">X3D tutorials</categorytree>
<pageby nominor="false" comments="false"/>
== X3D Definition ==


== Definition ==
X3D is a [[Web 3D technology]].


X3D is a [[Web 3D technology]].
{{quotation|X3D is a royalty-free open standards file format and run-time architecture to represent and communicate 3D scenes and objects using XML. It is an ISO ratified standard that provides a system for the storage, retrieval and playback of real time graphics content embedded in applications, all within an open architecture to support a wide array of domains and user scenarios.
 
X3D has a rich set of componentized features that can be tailored for use in engineering and scientific visualization, CAD and architecture, medical visualization, training and simulation, multimedia, entertainment, education, and more.


{{quotation|X3D is a royalty-free open standards file format and run-time architecture to represent and communicate 3D scenes and objects using XML. It is an ISO ratified standard that provides a system for the storage, retrieval and playback of real time graphics content embedded in applications, all within an open architecture to support a wide array of domains and user scenarios. <br/>
X3D has a rich set of componentized features that can tailored for use in engineering and scientific visualization, CAD and architecture, medical visualization, training and simulation, multimedia, entertainment, education, and more.<br/>
The development of real-time communication of 3D data across all applications and network applications has evolved from its beginnings as the Virtual Reality Modeling Language ([[VRML]]) to the considerably more mature and refined X3D standard.}} ([http://www.web3d.org/about/overview/ web|3D], retrieved 12:59, 11 March 2009 (UTC)).
The development of real-time communication of 3D data across all applications and network applications has evolved from its beginnings as the Virtual Reality Modeling Language ([[VRML]]) to the considerably more mature and refined X3D standard.}} ([http://www.web3d.org/about/overview/ web|3D], retrieved 12:59, 11 March 2009 (UTC)).


{{quotation|X3D focuses on the visualization of 3D assets within applications. X3D has principally been targeted for the Web (thus the name and focus of the Web3D Consortium). X3D is a delivery format intended to contain the information needed for interactive applications. X3D specifies behaviors and interaction, and it includes both a specific run-time model that enables picking, viewing, navigation, and scripting, and an API to manipulate the scene graph at run-time.}} ([http://www.khronos.org/collada/presentations/Developing_Web_Applications_with_COLLADA_and_X3D.pdf Arnaud and Parisi], 2007).
{{quotation|X3D focuses on the visualization of 3D assets within applications. X3D has principally been targeted for the Web (thus the name and focus of the Web3D Consortium). X3D is a delivery format intended to contain the information needed for interactive applications. X3D specifies behaviors and interaction, and it includes both a specific run-time model that enables picking, viewing, navigation, and scripting, and an API to manipulate the scene graph at run-time.}} ([http://www.khronos.org/collada/presentations/Developing_Web_Applications_with_COLLADA_and_X3D.pdf Arnaud and Parisi], 2007).


See also: [[web 3D technology]] (short overview), [[VRML]] (precursor of X3D], [[3D interactive environment]], [[3D modeling]], [[Collada]] (a similar format) and [[WebGL]] (a new low-level 3D graphics API for web browsers)
There exist two different formats (X3D in XML notation and X3DV in VRML notation). X3D has the<code>model/x3d+xml</code>mime-type and X3DV can be served as the <code>model/x3d+vrml</code>[http://www.web3d.org/x3d/learn/mimetypes/ mime-type]
 
See also:  
* Our list of [[X3D tutorials]] (started in oct 2010, ... better versions may be available by the end of 2011)
* [[X3DOM]] which is X3D within [[HTML5]]
* [[Web 3D technology]] (short overview), [[Tour 3D]] (list of principles and demos), [[VRML]] (precursor of X3D), [[3D interactive environment]], [[3D modeling]], [[Collada]] (a similar format) and [[WebGL]] (a new low-level 3D graphics API for web browsers)


== How to build X3D scenes, a very short overview ==
== How to build X3D scenes, a very short overview ==


X3D scenes can contain two sorts of "contents": Objects and behaviors.
X3D scenes can contain two sorts of "contents": objects and behaviors.


=== Creating objects ===
=== Creating objects ===
Line 31: Line 36:
# A commercial modeling and animation system like Maya or Lightwave3D or Softimage
# A commercial modeling and animation system like Maya or Lightwave3D or Softimage
# Your own proprietary modeling and animation system
# Your own proprietary modeling and animation system
# Free for personal use commercial VRML/X3D authoring tool like Vivaty
# Free for personal use commercial X3DV authoring tools like [[Flux (software)|Flux / Pivoron]]
# Commercial VRML/X3D authoring system [ authoring systems from Vivaty / Octaga / Bitmanagement / Parallel Graphics / … ]. Cost varies.
# Commercial X3DV authoring system [ authoring systems from Bitmanagement / Octaga / Parallel Graphics / Vivaty … ], cost varies
# Open source VRML/X3D authoring system like [[X3D-Edit]].
# Open source X3DV authoring system like [[X3D-Edit]]
# A text editor, preferably an schema-aware XML editor
# A text editor, preferably an schema-aware XML editor
# A text editor without any XML support
# A text editor without any XML support
Line 47: Line 52:
=== The scene graph ===
=== The scene graph ===


According to [http://people.cs.vt.edu/~npolys/X3DforInfoViz.htm Nicholas f. Polys] (retrieved Aug 27 2010), {{quotation|Conceptually, each X3D application is a 3D time-based space that contains graphic and aural objects that can be loaded over a network and dynamically modified through a variety of mechanisms. The semantics of X3D describe an abstract functional behaviour of time-based, interactive 3D, multimedia information. <br />
According to [http://people.cs.vt.edu/~npolys/X3DforInfoViz.htm Nicholas f. Polys] (retrieved Aug 27 2010), {{quotation|Conceptually, each X3D application is a 3D time-based space that contains graphic and aural objects that can be loaded over a network and dynamically modified through a variety of mechanisms. The semantics of X3D describe an abstract functional behavior of time-based, interactive 3D, multimedia information.
 
The basic unit of the X3D run-time environment is the scene graph. This structure contains all the objects in the system and their relationships. Relationships are contained along several axes of the scene graph. The transformation hierarchy describes the spatial relationship of rendering objects. The behavior graph describes the connections between fields and the flow of events through the system.
The basic unit of the X3D run-time environment is the scene graph. This structure contains all the objects in the system and their relationships. Relationships are contained along several axes of the scene graph. The transformation hierarchy describes the spatial relationship of rendering objects. The behavior graph describes the connections between fields and the flow of events through the system.
An X3D scene graph is a directed acyclic graph. Nodes can contain specific fields with one or more children nodes which participate in the hierarchy. These may, in turn, contain nodes (or instances of nodes). This hierarchy of nodes is called the scene graph. Each arc in the graph from A to B means that node A has a field whose value directly contains node B.}}
An X3D scene graph is a directed acyclic graph. Nodes can contain specific fields with one or more children nodes which participate in the hierarchy. These may, in turn, contain nodes (or instances of nodes). This hierarchy of nodes is called the scene graph. Each arc in the graph from A to B means that node A has a field whose value directly contains node B.}}


=== X3D, a modular architecture ===
=== X3D, a modular architecture ===


Unlike its VRML predecessor, X3D has a modular architecture with four baseline profiles ([http://www.web3d.org/about/overview/ What is X3D?]
Unlike its VRML predecessor, X3D has a modular architecture with four baseline profiles ([http://www.web3d.org/about/overview/ What is X3D?)]
* '''Interchange''' is the basic profile for communicating between applications. It support geometry, texturing, basic lighting, and animation
* '''Interchange''' is the basic profile for communicating between applications. It support geometry, texturing, basic lighting, and animation
* '''Interactive''' enables basic interaction with a 3D environment by adding various sensor nodes for user navigation and interaction (e.g., PlanseSensor, TouchSensor, etc.), enhanced timing, and additional lighting (Spotlight, PointLight).
* '''Interactive''' enables basic interaction with a 3D environment by adding various sensor nodes for user navigation and interaction (e.g., PlaneSensor, TouchSensor, etc.), enhanced timing, and additional lighting (Spotlight, PointLight).
* '''Immersive''' enables full 3D graphics and interaction, including audio support, collision, fog, and scripting.
* '''Immersive''' enables full 3D graphics and interaction, including audio support, collision, fog, and scripting.
* '''Full''' includes all defined nodes including [http://en.wikipedia.org/wiki/Nonuniform_rational_B-spline NURBS], H-Anim (animated interactive [[Avatar]]s) and GeoSpatial components.
* '''Full''' includes all defined nodes including [http://en.wikipedia.org/wiki/Nonuniform_rational_B-spline NURBS], H-Anim (animated interactive [[Avatar]]s) and GeoSpatial components.
Line 65: Line 72:
=== X3D Clients ===
=== X3D Clients ===


There exist several clients for Win/Linux/Mac. The best ones are probably commercial (in particular BS Contact), they provide free versions that include some "nagging", i.e. a crawling logo.
Check:
* [http://www.web3d.org/wiki/index.php/Player_support_for_X3D_components Player support for X3D components] (X3d wiki). As of March 2016, the last update was in Dec 2015.
 
'''Browser-based (WebGL'''
 
* [http://www.x3dom.org/ X3dom] is a Javascript library for integrating and manipulating X3D scenes as HTML5/DOM elements. It be one day become a native implementation...
 
'''Other WebGL'''
* [http://titania.create3000.de/cobweb/ Coweb] (web-based WebGL, works with FF in nov. 2015)
 
There exist several clients for Windows/Linux/Mac. The best ones are probably commercial (in particular BS Contact), they provide free versions that include some "nagging", i.e. a crawling logo.


; To check what X3D/VRML extensions you have
'''Navigator extensions'''
 
To check what X3DV extensions you have:
* [http://cic.nist.gov/vrml/vbdetect.html VRML Plugin and Browser Detector] (click, it will extract information provided by your browser)
* [http://cic.nist.gov/vrml/vbdetect.html VRML Plugin and Browser Detector] (click, it will extract information provided by your browser)
* For more clients not mentioned here, see [http://x3dgraphics.com/examples/X3dResources.html X3D Resources] or the shorter [http://cic.nist.gov/vrml/vbdetect.html VRML Plugin and Browser Detector].
* For more clients not mentioned here, see [http://x3dgraphics.com/examples/X3dResources.html X3D Resources] or the shorter [http://cic.nist.gov/vrml/vbdetect.html VRML Plugin and Browser Detector].


; Major clients (tested by [[User:Daniel K. Schneider|Daniel K. Schneider]]).
Major clients (tested by [[User:Daniel K. Schneider|Daniel K. Schneider]] (sometimes in the past):


* [http://www.octaga.com/ Octaga Player]. Full free X3D player for Window and Linux.


* [http://www.bitmanagement.de/ BS Contact] VRML X3D VRML/X3D. Commercial software for Win/Mac/Linux, but 60 days of trial. A free version that includes a crawling banner is available. As of Aug 2010, the Linux versions is "RPM" only (see below for installing under Ubuntu).
* [http://www.instantreality.org/home/ Instant Reality] from the [http://www.igd.fhg.de/igd-a4 Fraunhofer Institute for Computer Graphics (IGD-A4)] Windows/Mac/Linux. Free player with multi-user extension.
** [http://www.instantreality.org/tutorial/ Instant Reality tutorials]
 
* [http://octagavs.com/softwarem/octaga-player Octaga Player]. Full free X3D player for Windows. A commercial version includes additional features. The free version includes a logo, inhibits recording, change or rendering mode, etc.
 
* [http://www.bitmanagement.de/ BS Contact] X3DV. Commercial software for Windows, but 60 days of trial. A free version that includes a crawling banner is available. As of 2016, we could not find any Linux or Mac version.


; Other clients
; Other clients


* [http://www.instantreality.org/home/ Instant Reality] from the [http://www.igd.fhg.de/igd-a4 Fraunhofer Institute for Computer Graphics (IGD-A4)] is a new client and application framework. Multiple platforms supported. Public beta for the moment - 10:36, 16 May 2010 (UTC). Works with the deepmatrix multi-user client and server (see below)
* [http://freewrl.sourceforge.net/ Free WRL] the best known open-source (GPL) X3D and VRML browser for Unix/Linux/OS X/iOS and Android. Perl/C based. Not fully X3D feature complete, but getting there.... This is a long-term alive project.
** [http://www.instantreality.org/tutorial/ Instant reality tutorials]
 
* [http://freewrl.sourceforge.net/ Free WRL] the best known open-source (GPL) X3D and VRML browser for Unix/Linux/OS X. Perl/C based. Not X3D feature complete, almost VRML feature complete as of 2010, but getting there.... This is a long-term alive project.


* [http://www.openvrml.org/ OpenVRML], the other open-source X3D and VRML browser (not tested).
* [http://www.openvrml.org/ OpenVRML], the other open-source X3D and VRML browser (not tested).
Line 88: Line 108:
* [http://www.web3d.org/x3d/applications/xj3d/ Xj3D - Java based X3D Toolkit and X3D Browser]. Cross-platform, but not as fast as others.
* [http://www.web3d.org/x3d/applications/xj3d/ Xj3D - Java based X3D Toolkit and X3D Browser]. Cross-platform, but not as fast as others.


* Flux from [http://www.mediamachines.com/ MediaMachines], a company that became [http://www.vivaty.com/ Vivaty] in 2008, dead in April 2010.  
* Flux from [http://mediamachines.wordpress.com/flux-player-and-flux-studio/ Media Machines], a company that was sold to [http://www.vivaty.com/ Vivaty] in 2008, which in turn was sold to Microsoft in April 2010 and killed. Clients (dated 2007) may still be available.
 
* The free player X3D player for Windows (IE/Firefox) was open source and should be still available on SourceForge: [http://sourceforge.net/projects/flux Flux Web3D Engine on SourceForge]
* The free player X3D player for Windows (IE/Firefox) was open source and should be still available on SourceForge: [http://sourceforge.net/projects/flux Flux Web3D Engine on SourceForge]


; Specialized clients
; Specialized clients


* [http://www.alpharis.net/ Alpharis], a collective knowledge organization tool that uses X3D (?)
* [http://www.alpharis.net/ Alpharis], a collective knowledge organization tool that uses X3D. Not sure that this format is ''fully'' supported, not tested.


* [http://www.manyone.net/ ManyOne] is a Digital Universe. Features a modified Mozilla with a flux plugin for 3D contents. (dead as of Aug. 2010).
* [http://www.manyone.net/ ManyOne] is a Digital Universe. Features a modified Mozilla with a Flux plugin for 3D contents. (dead as of Aug. 2010).


* [http://vrmlengine.sourceforge.net/ Kambi VRML game engine], main focus is on 3D games using VRML / X3D format (although other 3D model formats are also supported). Added Aug. 2010.
* [http://vrmlengine.sourceforge.net/ Kambi VRML game engine], main focus is on 3D games using X3DV format (although other 3D model formats are also supported). Added Aug. 2010.


* [http://download.exitreality.com/about.html ExitReality plugin] for IE/Firefox 3 from [http://www.exitreality.com/ ExistReality] supports several formats, in particular: X3D, DAE, KML and VRML. Not sure that these formats are ''fully'' supported, not tested - [[User:Daniel K. Schneider|Daniel K. Schneider]] 16:22, 25 August 2010 (UTC).
* [http://download.exitreality.com/about.html ExitReality plugin] for IE/Firefox 3 from [http://www.exitreality.com/ ExitReality] supports several formats, in particular: VRML, X3D, DAE, KML. Not sure that these formats are ''fully'' supported, not tested, according to [[User:Daniel K. Schneider|Daniel K. Schneider]].


; 3D plugin selector
; 3D plugin selector


* [http://community.mediamachines.com/comments.php?DiscussionID=135 List of 3D plugin selectors] at MediaMachines.com,
* [http://community.mediamachines.com/comments.php?DiscussionID=135 List of 3D plugin selectors] at mediamachines.com


; Installing BS Contact under Ubuntu
; Installing BS Contact under Ubuntu
Line 120: Line 141:


Any web-server can serve X3D contents for stand-alone usage. You only have to make sure to configure the following mime-types in your web server:
Any web-server can serve X3D contents for stand-alone usage. You only have to make sure to configure the following mime-types in your web server:
  .x3dv model/x3d+vrml
.x3dv model/x3d+vrml
  .x3d   model/x3d+xml
.x3d model/x3d+xml
  .x3db model/x3d+binary
.x3db model/x3d+binary
 
=== Multi-user servers ===
 
* [http://www.vr4all.net/ VR4All]. This is a free 3D world building and chat environment. It works with the BS Contact player.
** You can build an area and choose from various components that you can parametrize.
** The toolbox is on the lower left and it has tooltips. Then other tools may open (e.g. the construction tool).
** The interface is in French
** This is the first free X3DV multi-user constructible world I have seen in a long time. Works smoothly on my "doorstopper" laptop (Dell XPS 1730/Nvidia GeForce 8700 M GT), according to [[User:Daniel K. Schneider|Daniel K. Schneider]].
 
* [http://www.vrspace.org/sdk/index.html VR SPACE] is a free cross-platform modular 3D community software. Features include chat, with live people or chatbots; ready-to-use application server, mail and news server plugins; persistence in text files or database; world editor, able to save VRML 'screenshots', and so on.
 
=== Live multi user server software ===


=== Alive multi user server software ===
See also: [[3D interactive environment]]s
See also: [[3D interactive environment]]s


Currently (sept. 2010) at least the following multi-user X3D server technology is available. There are probably additional commercial solutions. See also [[VRML]]. Resource-limited open-source projects seem to stick to this older standard. E.g. [http://www.vr4all.net/ Vr4all] is nice community and their technology does work. Also, it seems that some dead commercial platform code "floats" around, e.g. read this [http://vrmlserver.xooit.com/f121-V-R-M-L-Server.htm VRML Server] forum.
Currently (Sept. 2010) at least the following multi-user X3D server technology is available. There are probably additional commercial solutions. See also [[VRML]]. Resource-limited open-source projects seem to stick to this older standard. E.g. [http://www.vr4all.net/ Vr4all] is nice community and their technology does work. Also, it seems that some dead commercial platform code "floats" around, e.g. read this [http://vrmlserver.xooit.com/f121-V-R-M-L-Server.htm VRML Server] forum.


; '''DeepMatrix server''' (free)
; '''DeepMatrix server''' (free)
[http://www.deepmatrix.org/ DeepMatrix] is an open-source Java server/client 3D multi-user system capable of both chat and shared events working in conjunction with VRML/X3D browsers that have Java EAI or External SAI. Currently (15:18, 16 May 2010 (UTC), this server works with the Deep MatrixIP9 client (see above). You may have to download the latest (non public) version from the [ftp://ftp.igd.fhg.de/outgoing/irbuild/ FTP archive].
[http://www.deepmatrix.org/ DeepMatrix] is an open-source Java server/client 3D multi-user system capable of both chat and shared events working in conjunction with X3DV browsers that have Java EAI or External SAI. Currently (15:18, 16 May 2010 (UTC), this server works with the Deep MatrixIP9 client (see above). You may have to download the latest (non public) version from the [ftp://ftp.igd.fhg.de/outgoing/irbuild/ FTP archive].
* See the [[DeepMatrix 3D multi-user system]] articles for more details.
* See the [[DeepMatrix 3D multi-user system]] articles for more details.


; Bitmanagement's BS Collaborate (commercial)
; Bitmanagement's BS Collaborate (commercial)
{{quotation|BS Collaborate designed for virtual reality applications from games up to cooperative work enables customer in combination with the basic visualization component BS Contact 7.2 (and higher) to realize real time communication between 3D objects like avatars in shared environments as well as collaborate working on 3D models with standard pc on the internet.}} ([http://www.bitmanagement.de/en/products/server/bs-collaborate BS Collaborate], retrieved Sept. 8 2010).
{{quotation|BS Collaborate designed for virtual reality applications from games up to cooperative work enables customer in combination with the basic visualization component BS Contact 7.2 (and higher) to realize real time communication between 3D objects like avatars in shared environments as well as collaborate working on 3D models with standard PC on the Internet.}} ([http://www.bitmanagement.de/en/products/server/bs-collaborate BS Collaborate], retrieved Sept. 8 2010).
* Bitmanagement was founded by former Blaxxun employees in 2002, i.e. the whole client team who then started working first on further developing the client, now know as BS Contact.
* Bitmanagement was founded by former Blaxxun employees in 2002, i.e. the whole client team who then started working first on further developing the client, now know as BS Contact.
* Pricing is as steep as in the Blaxxun days (around 20'000 Euros), but a trial version for Windows is available.
* Pricing is as steep as in the Blaxxun days (around 20'000 Euros), but a trial version for Windows is available.
* [http://www.bitmanagement.de/download/BS_Collaborate/BS_Collaborate_documentation.pdf BS Collaborate] (PDF) short manual
* [http://www.bitmanagement.de/download/BS_Collaborate/BS_Collaborate_documentation.pdf BS Collaborate] (PDF) short manual
* [http://www.bitmanagement.de/developer/collaborate/tutorials/MakeItMU/index.html BS Collaborate — Making a scene multi-user] (download the included *.zip sample file).
* [http://www.bitmanagement.de/developer/collaborate/tutorials/MakeItMU/index.html BS Collaborate — Making a scene multi-user] (download the included sample *.zip file).
* [http://www.bitmanagement.de/developer/collaborate/tutorials/index.html BS Collaborate — Adding chat functionality]
* [http://www.bitmanagement.de/developer/collaborate/tutorials/index.html BS Collaborate — adding chat functionality]


; X3Daemon 3D Multiuser Network Server (beta)
; X3Daemon 3D Multiuser Network Server (beta)
{{quotation|X3Daemon is middleware commercially available to developers, and is freely available to Office Towers users...}} (not tested, except for at look at [http://www.officetowers.com/ officetowers], which also can be used as free service for your VRML/X3D scene)
{{quotation|X3Daemon is middleware commercially available to developers, and is freely available to Office Towers users...}} (not tested, except for at look at [http://www.officetowers.com/ OfficeTowers], which also can be used as free service for your X3DV scene)
* [http://www.x3daemon.com/ x3daemon home] page.
* [http://www.x3daemon.com/ x3daemon home] page.


=== Dead multi user servers ===
=== Dead multi user servers ===


It seems to [[User:Daniel K. Schneider|Daniel K. Schneider]] that it will take time to attract more open source developers or companies to develop VRML/X3D-based multi-user servers. The ongoing pattern since the mid-1990's seems to be announcements, prototypes and then death of both the product and the companies. However, given that 3D is a "niche market" this is not too surprising. Let's recall the fate of some '''major''' technologies. IE (as of March 2009) still cannot handle [[XHTML]] and does not implement [[SVG]]. The SVG implementation of Firefox is partial only (doesn't include the "SMIL" tags. Firefox does not implement [[SMIL]]. Correct implementations of CSS3 and XSL-FO real-time players are other sore issues...
It seems to [[User:Daniel K. Schneider|Daniel K. Schneider]] that it will take time to attract more open source developers or companies to develop X3DV-based multi-user servers. The ongoing pattern since the mid-1990's seems to be announcements, prototypes and then death of both the product and the companies. However, given that 3D is a "niche market" this is not too surprising. Let's recall the fate of some '''major''' technologies. IE (as of March 2009) still cannot handle [[XHTML]] and does not implement [[SVG]]. The SVG implementation of Firefox is partial only (doesn't include the "SMIL" tags. Firefox does not implement [[SMIL]]. Correct implementations of CSS3 and XSL-FO real-time players are other sore issues...


One reason why VRML and X3D is less popular than the sum of proprietry formats (in particular gaming engines) might be that other engines are optimized for speed. X3D, on the other hand, is much more flexible, in a scene any property of any object can change at any time (even if the user can't see the thing). Optimizing players to deal with lots of potentially changing geometry is already difficult. Now, propagating changes in multi-user environment over the Internet multiplies this challenge.
One reason why VRML and X3D is less popular than the sum of proprietary formats (in particular gaming engines) might be that other engines are optimized for speed. X3D, on the other hand, is much more flexible, in a scene any property of any object can change at any time (even if the user can't see the thing). Optimizing players to deal with lots of potentially changing geometry is already difficult. Now, propagating changes in multi-user environment over the Internet multiplies this challenge.


However, sticking to standards still seems to be best solution since code can be reused. [http://www.lively.com/ Lively], Google's [[Flash 3D]]-based (?) chat environment, was terminated on december 2008. It would be interesting to know the reasons. ThePalace (the company who produced [[the Palace]] 2D environment) is dead. [http://edutechwiki.unige.ch/en/Active_Worlds Active Worlds] (the "second life of the late nineties) seems to be the only commercial proprietry 3D server that managed to stay alive over the years. It's too early to predict the fate of [[Second Life]]. It does look like a huge digital desert to me, but it may survive because of some specialized activities like fashion shows or virtual sex. The difference between Active Worlds and Second Life is that Active Worlds Inc. also sells servers you can install on your own machines. You also may consult [[3D interactive environment]]s for a longer list.
However, sticking to standards still seems to be best solution since code can be reused. [http://www.lively.com/ Lively], Google's probably [[Flash 3D]]-based chat environment, was terminated on December 2008. It would be interesting to know the reasons. ThePalace (the company who produced [[the Palace]] 2D environment) is dead. [http://edutechwiki.unige.ch/en/Active_Worlds Active Worlds] (the "Second Life of the late nineties) seems to be the only commercial proprietary 3D server that managed to stay alive over the years. It's too early to predict the fate of [[Second Life]]. It does look like a huge digital desert to users, but it may survive because of some specialized activities like fashion shows or virtual chat. The difference between Active Worlds and Second Life is that Active Worlds Inc. also sells servers you can install on your own machines. You also may consult [[3D interactive environment]]s for a longer list.


Below are some '''recently dead projects''' (probably most links are dead too now)
Below are some '''recently dead projects''' (probably most links are dead too now)


; '''AbNet2''' (free for non-commercial use)
; '''AbNet2''' (free for non-commercial use)
{{quotation|ABNet is a java communications client/server that turns a single-user VRML or X3D world into a multi-user virtual world environment. 3D avatars can interact and use shared events to provide a virtual experience similar to Secondlife  and the Blaxxun platform. More generally, the communication framework of ABNet provides an asynchronous low-latency publish and subscribe environment using XML messages over TCP/IP.}} ([http://kimballsoftware.com/abnet/index.html ABNet2 Software], retrieved Sept. 10 2010).
{{quotation|ABNet is a Java communications client/server that turns a single-user VRML or X3D world into a multi-user virtual world environment. 3D avatars can interact and use shared events to provide a virtual experience similar to SecondLife and the Blaxxun platform. More generally, the communication framework of ABNet provides an asynchronous low-latency publish and subscribe environment using XML messages over TCP/IP.}} ([http://kimballsoftware.com/abnet/index.html ABNet2 Software], retrieved Sept. 10 2010).
* This project seems to be inactive as of Sept. 2010. Servers can't be downloaded anymore.
* This project seems to be inactive as of Sept. 2010. Servers can't be downloaded anymore.
* [http://kimballsoftware.com/abnet/index.html ABNet2 Software] (Win/Linux/Mac)
* [http://kimballsoftware.com/abnet/index.html ABNet2 Software] (Win/Linux/Mac)
Line 164: Line 195:
; '''Vivaty'''
; '''Vivaty'''


[http://www.vivaty.com/ Vivaty] offers an online 3D chat service with a similar developer model as [[Second Life]], but it's based on a real standard and therefore your contents can outlive the platform. It runs under Vista/XP as Firefox or IE plugin. You can design your own X3D scenes and then import to their server. There is also an interface with Facebook and AIM.
[http://www.vivaty.com/ Vivaty] offered an online 3D chat service with a similar developer model as [[Second Life]], but it's based on a real standard and therefore your contents can outlive the platform. It runs under Vista/XP as Firefox or IE plugin. You can design your own X3D scenes and then import to their server. There is also an interface with Facebook and AIM.
* [http://developer.vivaty.com/ Vivaty Create] (Developer home page)
* [http://vivaty.wordpress.com/ Vivaty Blog]
* [http://blog.vivaty.com/ Vivaty blog]
* [http://developer.vivaty.com/ Vivaty Create] (developer home page)
* [https://addons.mozilla.org/en-US/firefox/addon/10523 Vivaty Scenes] (Firefox add on, beta on feb 2009. Before, there was only an IE version.)
* [http://addons.mozilla.org/en-US/firefox/addon/vivaty-scenes/ Vivaty Scenes] (Firefox add on, beta on Feb. 2009. Before, there was only an IE version.)
Vivaty closed on april 16, 2010 {{quotation|The company’s revenue, pegged on the sales of its virtual currency Vivabux, was not substantial enough to cover its costs.}}  [http://nextuplindenlab.wordpress.com/]. {{quotation|Jay Weber, chief technical officer and co-founder, announced on the company’s blog that the site will close because its business of letting users create their own 3D virtual spaces has never taken off.}} [http://venturebeatprofiles.com/news/view/second-life?article=229582], retrieved 12:29, 25 August 2010 (UTC).
* [http://getsatisfaction.com/vivaty/ Vivaty Support]


; '''Mediamachines Flux World'''
Vivaty closed on April 16, 2010 {{quotation|The company’s revenue, pegged on the sales of its virtual currency Vivabux, was not substantial enough to cover its costs.}} [http://nextuplindenlab.wordpress.com/]. {{quotation|Jay Weber, chief technical officer and co-founder, announced on the company’s blog that the site will close because its business of letting users create their own 3D virtual spaces has never taken off.}} [http://venturebeatprofiles.com/news/view/second-life?article=229582], retrieved 12:29, 25 August 2010 (UTC).


In march 2007 Mediamachines announced [http://www.mediamachines.com/press/pressrelease-03292007.php Flux World] (announcement March 2007), a server technology based Simple Wide Area Multi-User Protocol, or SWMP (pronounced "swamp"). The company is now gone and its assets went to Vivaty, e.g. the excellent Vivati Studio X3D authoring tool (formerly "Flux studio"). Vivaty then died on April 2010. No trace of the multi-user server. The free (but not opensource) X3D authoring tool may still be available from some places.
; '''Media Machines'''
 
In March 2007 Media Machines announced [http://www.mediamachines.com/press/pressrelease-03292007.php Flux World], a server technology based on Simple Wide Area Multi-User Protocol, or SWMP (pronounced "swamp"). The company is now gone and its assets went to Vivaty, e.g. the excellent X3D authoring Flux Studio tool was forked to "Vivaty Studio", then in April 2010 assets went to Microsoft. No trace of the multi-user server. The free (but not opensource) X3D authoring tool may still be available from some places, like [http://mediamachines.wordpress.com/flux-player-and-flux-studio/ Media Machines Weblog].
* [http://mediamachines.wordpress.com Media Machines Weblog]
* [http://www.mediamachines.com/press/pressrelease-03292007.php Media Machines Flux World]


; '''Blaxxun'''
; '''Blaxxun'''


[www.blaxxun.com/ Blaxxun] was one of the first VRML-based systems. The company at some point went broke in the early 2000's, but was alive again (2007) and dead again (2010?). I suspect that most of it's assets now belowng
[http://www.blaxxun.com/ Blaxxun] was one of the first VRML-based systems. The company at some point went broke in the early 2000's, but was alive again (2007) and dead again (2010). I suspect that most of it's assets now belong to:
* [www.blaxxuntechnologies.com/ Blaxxun technologies] (info about servers)
* [http://www.blaxxuntechnologies.com/ Blaxxun technologies] (info about servers)
* [community.blaxxun.com/ community.blaxxun.com]
* [http://community.blaxxun.com/ community.blaxxun.com]
* [http://www.cybertown.com/ Cybertown] one of the blaxxun-based worlds (still alive in 2010).
* [http://www.cybertown.com/ Cybertown] one of the Blaxxun-based worlds (still alive in 2010)


=== Authoring tools ===
=== Authoring tools ===


Then, check the [http://www.web3d.org/ web3d.org] website. It has a good list of tools for X3D Development including a [http://www.web3d.org/x3d/wiki/index.php/Tool_support_for_X3D_components comparison] of four authoring tools.
Then, check the [http://www.web3d.org/ web3d.org] website. It has a good list of tools for X3D Development including a [http://www.web3d.org/x3d/wiki/index.php/Tool_support_for_X3D_components comparison] of four authoring tools.
Line 193: Line 228:
; Combined Modeling / behaviors and scripting tools with a GUI
; Combined Modeling / behaviors and scripting tools with a GUI


* [http://www.vivaty.com/downloads/studio/ Vivati Studio] (dead link) is from a company of the same name that died on April 16 2010. This product used to be called ''Flux studio'' before summer 2008. Vivatiy Studio was ''free'' for personal use! Authoring included modeling, animating, and scripting. Imports from other applications such as Sketchup, 3ds, Maya, Blender, and Unreal.  
* [http://www.vivaty.com/downloads/studio/ Vivaty Studio] (dead link) is from a company of the same name that died on April 16 2010. This product was forked from ''Flux Studio'' before summer 2008. Vivaty Studio was ''free'' for personal use! Authoring included modeling, animating, and scripting. Imports from other applications such as Sketchup, 3ds, Maya, Blender, and Unreal.  
** This tool is no longer available from any official web site, but copies may float around, e.g. [http://www.deepmatrix.org/downloads/VivatyStudio.exe here] at DeepMatrix.org. We tested Studio Version 1.0 (forked from Flux 2.0) on Vista 32bit/ and Windows 7/64 bit. It runs fine on both.
** This tool is no longer available from any official web site, but copies of both Vivaty Player and Vivaty Studio may float around, e.g. [http://digitalconcepts.free.fr/index.php?option=com_remository&Itemid=100009&func=select&id=11 here] at DigitalConcepts. We tested Vivaty Studio Version 1.0 (forked from Flux 2.0) on Vista/32bit and Windows 7/64 bit. It runs fine on both.
** [http://en.wikipedia.org/wiki/Flux_%28software%29 Flux (software)] (Wikipedia)
** [[Flux (software)]]: [[Flux single-user client]] and [[Flux multi-user server]]
** [http://3donthewebcheap.blogspot.com/2007/03/you-say-you-want-revolution-well.html You Say You Want A Revolution? Well...] by Len Bullard, March 2007. (Flux Studio tutorial).
** [http://3donthewebcheap.blogspot.com/2007/03/you-say-you-want-revolution-well.html You Say You Want A Revolution? Well...] by Len Bullard, March 2007. (Flux Studio tutorial).
* [http://titania.create3000.de/ Titania]
** {{quotation|Titania aims to provides you with powerful tools to compose complex objects and create exciting, animated and interactive worlds. Use existing 3D modelling programs like Blender or Maya to create polygonal or NURBS objects that can easily imported into Titania and then arranged and made interactive. Use Cobweb to publish your content to the Internet.}} (Retrieved May 2017)
** Only runs under Debian/Ubuntu


* [http://www.bitmanagement.de/en/products/authoring-tools/bs-editor BS Editor]. Commercial (Euros 990)
* [http://www.bitmanagement.de/en/products/authoring-tools/bs-editor BS Editor]. Commercial (Euros 990)
** {{quotation|The BS Editor supports the application developer to program interactivity and behavior to objects and scenes. The geometry of 3D models shall be imported from leading authoring tools like 3ds max or Blender and can be integrated into applications by using BS Editor without notable VRML/X3D knowhow}}, retrieved 11:20, 25 August 2010 (UTC). Only can edit *.wrl (VRML) if I understood right, therefore not a good buy.  
** {{quotation|The BS Editor supports the application developer to program interactivity and behavior to objects and scenes. The geometry of 3D models shall be imported from leading authoring tools like 3DStudio Max or Blender and can be integrated into applications by using BS Editor without notable X3DV knowhow}}, retrieved 11:20, 25 August 2010 (UTC). Only can edit *.wrl (VRML) if I understood right, therefore not a good buy.  


* [http://www.pinecoast.com/ SwirlX3D], 129 CAN$. This is a successor of popular Spazz3D
* [http://www.pinecoast.com/ SwirlX3D], 129 CAN$. This is a successor of popular Spazz3D.


* [http://www.inivis.com/ AC3D], Commercial (free trial). 3D modeler/editor that can export to X3D.
* [http://www.inivis.com AC3D], Commercial (free trial). 3D modeler/editor that can export to X3D.


; Structure editors
; Structure editors


* [[X3D-Edit]] Authoring Tool for Extensible 3D (X3D) Graphics. Written in open-source Java and XML using the Netbeans 6.7 platform.
* [[X3D-Edit]] Authoring Tool for Extensible 3D (X3D) Graphics. Written in open-source Java and XML using the Netbeans 6.7 platform.
** X3D-Edit is a graphics file editor for Extensible 3D (X3D) that enables simple error-free editing, authoring and validation of X3D or VRML scene-graph files. Context-sensitive tooltips provide concise summaries of each VRML node and attribute. These tooltips simplify authoring and improve understanding for novice and expert users alike.  
** X3D-Edit is a graphics file editor for Extensible 3D (X3D) that enables simple error-free editing, authoring and validation of X3D or VRML scene-graph files. Context-sensitive tooltips provide concise summaries of each VRML node and attribute. These tooltips simplify authoring and improve understanding for novice and expert users alike.  
* [https://github.com/x3dom/component-editor x3dom component editor], part of the x3dom project.


* [http://www.submarine.unipg.it/ Submarine X3D], a free very simple X3D Editor for Linux, Mac OS X and Windows by Andrea Nardinocchi from University of Perugia.
* [http://www.submarine.unipg.it/ Submarine X3D], a free very simple X3D Editor for Linux, Mac OS X and Windows by Andrea Nardinocchi from University of Perugia.


* For handcoding X3D, one also can use any [[XML editor]] that supports DTD or XSD, e.g. Xemacs.
* For handcoding of X3D, one also can use any [[XML editor]] that supports DTD or XSD, e.g. Xemacs.


=== Conversion, exporting and importing software ===
=== Conversion, exporting and importing software ===
Line 226: Line 267:
* [http://www.vrspace.org/sdk/ crossroads] (Win only). {{quotation|converts anything to everything and back again.}}
* [http://www.vrspace.org/sdk/ crossroads] (Win only). {{quotation|converts anything to everything and back again.}}
* [http://www.bitmanagement.de/en/products/authoring-tools/bs-exporter-blender BS Exporter for Blender].
* [http://www.bitmanagement.de/en/products/authoring-tools/bs-exporter-blender BS Exporter for Blender].
* [http://www.unrealroc.com/MaxExporter.html 3D Studio Max X3D Exporter].
* [http://www.micromouse.ca/ AccuTrans 3D] is a 3D object converter that supports [http://www.micromouse.ca/file_formats.html many file formats] and it is cheap ($20). Software download itself is full and unrestricted. As of 10/2010, it doesn't read Collada nor sketchup.
See also: [http://www.web3d.org/products/C23/ File Translators & Utilities]
== VRML Definition and short history==
VRML is a [[Web 3D technology]] that is still in use, but I suggest that people new to Web3D should rather go for [[#X3D|X3D]], its successor.
The Virtual Reality Modeling Language (VRML) can been seen as a 3D visual extension of the WWW. People can navigate through 3D space and click on objects representing URLs (including other VRML worlds). Often, VRML is pronounced like ``Vermal'', not ``V-R-M-L''.
As Mark Pesce [Pesce, 1995, p. 16] points out, the WWW had two fundamental dimensions: connectivity (the http protocol) and interface (i.e. the rendering of content, especially HTML and embedded URLS). VRML inserts itself seamlessly in the Web's connectivity. VRML browsers can access other VRML files via an URL. They can access any other format that then is passed to another application (e.g. an HTML browser or a HTML window). On the other hand HTML browsers can be configured to fire up VRML helper applications (or plug-ins). HTTP servers, finally, can be configured to tell the client that a VRML (*.wrl) document is transferred.
A short word on its history: The major impulse for VRML 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 3D navigation and representation scheme and (c) more generally 3D 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. Since VRML is a relatively simple format building upon a well defined standard, very quickly a number of modeling tools and converters also became available.
In the late nineties VRML was almost dead. Since VRML was invented before we had cheap 3D cards, it was too slow. Gaming engines back then optimized speed (e.g. did a lot just with textures) and they built specialized rendering engines for specialized tasks, so games looked much better. In addition, companies like SGI who had the skills to build decent viewers and editors did not pursue long-term strategies, e.g. its Cosmo Division was sold to Platinum Technologies and soon thereafter the Cosmo Player was dead. Other, smaller companies were bought and killed by competition (e.g. Microsoft bought WorldView and then also sold it to Platinum. Others went broke for commercial reasons, e.g. the German company Blaxxun who did have a nice but overpriced virtual worlds server. Finally initiatives to build a virtual worlds standard (multi-user VRML) never made it.
{{quotation | The final insult occurred in 1999 during the VRML 1999 conference in Germany. While the Platinum VRML employees were out of the country manning the Platinum trade show booth, Platinum laid off the entire VRML division in a Monday morning blood bath. Within another month or two, Platinum itself was sold to Computer Associates, which inherited the VRML browsers and tools and currently sits on them.}} ([http://www.clickz.com/showPage.html?page=822061]).
VRML still survived all those years in niche markets. E.g. in education it remained popular to visualize complex objects (e.g. chemical molecules) and data structures. It also was used to train procedures. Finally VRML as data format is used to display exported data from more sophisticated static CAD formats.
VRML is back in a new form: [[X3D]] and most modern X3D clients also can display VRML code. By the way, Blaxxun also reemerged from its ashes. [[User:Daniel K. Schneider|Daniel K. Schneider]] believes that an open Web3D standard does have its future. While gaming engines (e.g. [[Neverwinter Nights]] or virtual environments like [[Second Life]] are easier to build with and prettier, they do lack the flexibility that the X3D (SAI/[[ECMAScript]]/[[AJAX3D]]) has.


== Links ==
== Links ==
=== History ===
* [http://vrmlworks.crispen.org/history.html The History of VRML] As of Sept. 2010, last updated 2000.
* [http://www.feedmag.com/97.02pesce/97.02pesce.html The Great Leap Downward], Mark Pesce, 1997.


=== General / Indexes ===
=== General / Indexes ===


* [http://www.web3d.org/ web3D Consortium Home Page]
* [http://www.web3d.org/ Web3D Consortium Home Page]
** [http://www.web3d.org/products/C23/ File Translators & Utilities]
** [http://www.web3d.org/x3d/content/examples/X3dResources.html X3D resources] from Web3D (Applications, Players and Plugins for X3D / VRML Viewing) [http://www.realism.com/x3d/ X3D Page from DR]
** [http://www.web3d.org/x3d/content/examples/X3dResources.html X3D resources] from web3D (Applications, Players and Plugins for X3D / VRML Viewing) [http://www.realism.com/x3d/ X3D Page from DR]
* [http://xml.coverpages.org/vrml-X3D.html VRML (Virtual Reality Modeling Language) and X3D] (Cover page)
* [http://xml.coverpages.org/vrml-X3D.html VRML (Virtual Reality Modeling Language) and X3D] (Cover page)
=== Other software ===
* [http://www2.hrp.no/vr/tools/chisel/ Chisel] Best (and free) optimizer for VRML code. I reduzes size and speeds up execution time, etc.


=== Specifications ===
=== Specifications ===
Line 242: Line 313:


; Alternative reference documents
; Alternative reference documents
* [http://www.web3d.org/x3d/wiki/index.php/Node_Reference Node Reference] (very incomplete as of oct. 2010, what a shame !)
* [http://www.web3d.org/x3d/wiki/index.php/Node_Reference Node Reference] (very incomplete as of oct. 2010, what a shame!)
* [http://www.web3d.org/x3d/content/X3dTooltips.html X3D Tooltips] (ok)
* [http://www.web3d.org/x3d/content/X3dTooltips.html X3D Tooltips] (OK)
* [http://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html X3D Scene Authoring Hints]
* [http://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html X3D Scene Authoring Hints]
* [http://www.web3d.org/x3d/wiki/ X3D Wiki] at web3D. Additional information in the "semi-official" wiki (and links).
* [http://www.web3d.org/x3d/wiki/ X3D Wiki] at Web3D. Additional information in the "semi-official" wiki (and links).


; More and related specifications (extensions, additional)
; More and related specifications (extensions, additional)
* [http://www.x3dom.org/ X3dom] is an attempt started in 2010 to integrate X3D with [[HTML5]]. {{quotation|X3DOM (pronounced X-Freedom) is 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.org], retrieved 12:29, 25 August 2010 (UTC)). Alpha implementations work with browers that implement [[WebGL]] (e.g. Firefox 4.0 Beta as of Aug 2010).
* [http://www.x3dom.org/ X3DOM] is an attempt started in 2010 to integrate X3D with [[HTML5]]. {{quotation|X3DOM (pronounced X-Freedom) is 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.org], retrieved 12:29, 25 August 2010 (UTC)). Alpha implementations work with browers that implement [[WebGL]] (e.g. Firefox 4.0). See [[X3DOM]] for more information
* See the [http://www.web3d.org/x3d/content/examples/X3dResources.html#AuthoringSupport X3dResources]' Authoring Support section for additional resources (e.g. additional Schematron validation).
* See the [http://www.web3d.org/x3d/content/examples/X3dResources.html#AuthoringSupport X3dResources]' Authoring Support section for additional resources (e.g. additional Schematron validation).
* [http://www.h-anim.org/Specifications/H-Anim200x/ISO_IEC_FCD_19774/ H-Anim (2004). ISO/IEC FCD 19774] (Avatar specification)
* [http://www.h-anim.org/Specifications/H-Anim200x/ISO_IEC_FCD_19774/ H-Anim (2004). ISO/IEC FCD 19774] (Avatar specification)
Line 256: Line 327:
* [http://spafon.com/WBnD/ WBand]. Also has a [http://www.facebook.com/pages/WBandD/104684356892 FB group]. Formerly on vrml-x3d.ning.com
* [http://spafon.com/WBnD/ WBand]. Also has a [http://www.facebook.com/pages/WBandD/104684356892 FB group]. Formerly on vrml-x3d.ning.com
* Some general 3D communities like [http://news.hiperia3d.com/ Hiperia] also include X3D news and links
* Some general 3D communities like [http://news.hiperia3d.com/ Hiperia] also include X3D news and links
* The [http://www.web3d.org/ web3D Consortium Home Page] includes news plus some links, e.g. a mailing list.
* The [http://www.web3d.org/ Web3D Consortium Home Page] includes news plus some links, e.g. a mailing list


=== Overviews and comparisons ===
=== Overviews and comparisons ===
Line 262: Line 333:
* [http://www.khronos.org/collada/presentations/Developing_Web_Applications_with_COLLADA_and_X3D.pdf Developing Web Applications with COLLADA and X3D] by Dr. Rémi Arnaud and Tony Parisi, 2007.
* [http://www.khronos.org/collada/presentations/Developing_Web_Applications_with_COLLADA_and_X3D.pdf Developing Web Applications with COLLADA and X3D] by Dr. Rémi Arnaud and Tony Parisi, 2007.


* [http://web3d.org/x3d/wiki/index.php/Interview_with_Research_2.0 Interview with Research 2.0] (Interview with Stephen Waite (SW) from Research 2.0 and Anita Havele (AH), Web3D Consortium Executive Director, April 2010 ?)
* [http://web3d.org/x3d/wiki/index.php/Interview_with_Research_2.0 Interview with Research 2.0] (Interview with Stephen Waite (SW) from Research 2.0 and Anita Havele (AH), Web3D Consortium Executive Director, April 2010.)


* [http://broadcast.oreilly.com/2009/03/are-we-losing-the-declarative.html Are we losing the Declarative Web?] by By Philip Fennell, O'Reilly Community, March 31, 2009.
* [http://broadcast.oreilly.com/2009/03/are-we-losing-the-declarative.html Are we losing the Declarative Web?] by By Philip Fennell, O'Reilly Community, March 31, 2009.


=== Tutorials ===
=== Tutorials ===
(all retrieved Aug. 2010)
(all retrieved Aug. 2010)


It may be a good idea to understand some very basic 3D principles, e.g. read [http://computer.howstuffworks.com/3dgraphics.htm How 3-D Graphics Work] from ''how stuff works''.
It may be a good idea to understand some very basic 3D principles, e.g. read [http://computer.howstuffworks.com/3dgraphics.htm How 3D Graphics Work] from ''how stuff works''.


See also the [http://www.web3d.org/x3d/learn/tutorial/ resources to Learn X3D] (web|3D Consortium)
See also the [http://www.web3d.org/x3d/learn/tutorial/ resources to Learn X3D] (web|3D Consortium)


* [http://www.xml.com/pub/a/2003/08/06/x3d.html Extensible 3D: XML Meets VRML] xml.com tutorial by Len Bullard, Aug 2003
* [http://www.xml.com/pub/a/2003/08/06/x3d.html Extensible 3D: XML Meets VRML] xml.com tutorial by Len Bullard, Aug. 2003


* [http://x3dGraphics.com/slidesets Extensible 3D Graphics for Web Authors], course slidesets by Bon Brutzman
* [http://x3dGraphics.com/slidesets Extensible 3D Graphics for Web Authors], course slidesets by Bon Brutzman
Line 279: Line 351:
* [https://www.movesinstitute.org/Video/Courses/X3dForWebAuthors/X3dForWebAuthorsVideo.html Course Videos: X3D for Web Authors] by Don Brutzman. (several vido lessons that support the textbook [http://x3dgraphics.com/ X3D: Extensible 3D Graphics for Web Authors])
* [https://www.movesinstitute.org/Video/Courses/X3dForWebAuthors/X3dForWebAuthorsVideo.html Course Videos: X3D for Web Authors] by Don Brutzman. (several vido lessons that support the textbook [http://x3dgraphics.com/ X3D: Extensible 3D Graphics for Web Authors])


* The [http://www.web3d.org/x3d/wiki/index.php/Main_Page public X3D wiki] contains tutorials for X3D Nodes and concepts.
* [http://www.web3d.org/x3d/wiki/index.php/Main_Page Public X3D wiki] contains tutorials for the X3D Nodes and concepts


* [http://www.instantreality.org/tutorial/ Instant reality tutorials] (however, some stuff only works with the the InstantReality player).
* [http://www.instantreality.org/tutorial/ Instant Reality tutorials] (however, some stuff only works with the the InstantReality player)


=== Examples ===
=== Examples ===
There are many X3D/VRML examples on the web. However, many links collections and archives die or are not maintained. We shall add some more here, but maintaining links in web 3D is a nightmare (since most 3D Companies go broke after 3 or 5 years ....)
 
There are many X3DV examples on the web. However, many links collections and archives die or are not maintained. We shall add some more here, but maintaining links in web 3D is a nightmare (since most 3D Companies go broke after 3 or 5 years ...)


; Simple examples (typically showing a single X3D feature)
; Simple examples (typically showing a single X3D feature)
Line 295: Line 368:
* [http://www.bitmanagement.com/en/showcase/interactive-demos BS Contact demos]
* [http://www.bitmanagement.com/en/showcase/interactive-demos BS Contact demos]
* [http://www.realism.com/x3d/examples.php Examples] (Daly Realism, Inc.)
* [http://www.realism.com/x3d/examples.php Examples] (Daly Realism, Inc.)
* http://www.ernys.de


; Projects and show cases
; Projects and show cases


* [http://onaslant.ndsu.edu/x3d.html On-A-Slant Virtual Village]. Interactive X3d. A Social Science Education Project.
* [http://onaslant.ndsu.edu/x3d.html On-A-Slant Virtual Village]. Interactive X3D. A Social Science Education Project.
* [http://www.web3d.org/casestudies/ X3D Scenarios and Case Studies] (W3c)
* [http://www.web3d.org/casestudies/ X3D Scenarios and Case Studies] (W3C)
* [http://www.bitmanagement.de/showcase/customer-case-studies Customer Case Studies] (At BitManagement, probably the most "impressive" list and some very good examples in theory. However many links don't offer access to scenes, some are simply no good. Some annoying sites require IE/6 (I got version 8), old versions of Flash, BS contact etc....
* [http://www.bitmanagement.de/showcase/customer-case-studies Customer Case Studies] (At BitManagement, probably the most "impressive" list and some very good examples in theory. However many links don't offer access to scenes, some are simply no good. Some annoying sites require IE/6 (I got version 8), old versions of Flash, BS contact etc...


; Student projects
; Student projects
Line 308: Line 382:
; Multi-user worlds
; Multi-user worlds


* [http://www.leelh.com/ Leelh]. This is a quite impressive [[MMORPG]]. See also the [http://devblog.leelh.com/ Developer blog]) (in french)
* [http://www.bonsurf.net/chats.htm Chats + Mondes 3D] (the interface is in French)
* [http://www.leelh.com/ Leelh]. This is a quite impressive [[MMORPG]]. See also the [http://devblog.leelh.com/ Developer blog]) (the interface is in French)
* [http://woopwoop.8illusion.net/ Woop Woop] (3D Chat worlds)
* [http://woopwoop.8illusion.net/ Woop Woop] (3D Chat worlds)
* [http://3dplanets.com/ 3Dplanets] (needs installation of the older Blaxxun Contact Plugin)
* [http://3dplanets.com/ 3Dplanets] (needs installation of the older Blaxxun Contact Plugin)


== References ==
== References ==
* Ames, A. L., Nadeau, D. R., et Moreland, J. L. (1996b). The VRML Sourcebook. Wiley, New York.
* Ashby, Alicia. [http://www.engagedigital.com/2010/10/01/microsoft-buys-vivaty-for-new-project-may-be-looking-for-more-2/ Microsoft Buys Vivaty For New Project, May Be Looking For More].


* Behr, J., Dähne, P., and Roth, M. 2004. Utilizing X3D for immersive environments. In Proceedings of the Ninth international Conference on 3D Web Technology (Monterey, California, April 05 - 08, 2004). Web3D '04. ACM, New York, NY, 71-78. [http://doi.acm.org/10.1145/985040.985051 DOI=http://doi.acm.org/10.1145/985040.985051]
* Behr, J., Dähne, P., and Roth, M. 2004. Utilizing X3D for immersive environments. In Proceedings of the Ninth international Conference on 3D Web Technology (Monterey, California, April 05 - 08, 2004). Web3D '04. ACM, New York, NY, 71-78. [http://doi.acm.org/10.1145/985040.985051 DOI=http://doi.acm.org/10.1145/985040.985051]


* Behr, J., Jung, Y., Keil, J., Drevensek, T., Zoellner, M., Eschler, P., and Fellner, D. 2010. A scalable architecture for the HTML5/X3D integration model X3DOM. In Proceedings of the 15th international Conference on Web 3D Technology (Los Angeles, California, July 24 - 25, 2010). Web3D '10. ACM, New York, NY, 185-194. [http://doi.acm.org/10.1145/1836049.1836077 DOI:10.1145/1836049.1836077] HTML/PDF
* Behr, J., Jung, Y., Keil, J., Drevensek, T., Zoellner, M., Eschler, P., and Fellner, D. 2010. A scalable architecture for the HTML5/X3D integration model X3DOM. In Proceedings of the 15th international Conference on Web 3D Technology (Los Angeles, California, July 24 - 25, 2010). Web3D '10. ACM, New York, NY, 185-194. [http://doi.acm.org/10.1145/1836049.1836077 DOI:10.1145/1836049.1836077] HTML/PDF


* Brutzman, Don (2008), Computer Graphics Teaching Support using X3D: Extensible 3D Graphics for Web Authors, Nava Postagraduate School,
* Brutzman, Don (2008), Computer Graphics Teaching Support using X3D: Extensible 3D Graphics for Web Authors, Nava Postagraduate School


* Brutzman, Don, and Daly, Leonard, X3D: Extensible 3D Graphics for Web Authors, Morgan Kaufmann Publishing, 2007. 468 pages [http://x3dGraphics.com Book website]
* Brutzman, Don, and Daly, Leonard, X3D: Extensible 3D Graphics for Web Authors, Morgan Kaufmann Publishing, 2007. 468 pages [http://x3dGraphics.com Book website]
Line 325: Line 404:


* Chittaro, L. and Ranon, R. 2007. Web3D technologies in learning, education and training: Motivations, issues, opportunities. Comput. Educ. 49, 1 (Aug. 2007), 3-18. [http://dx.doi.org/10.1016/j.compedu.2005.06.002 DOI=http://dx.doi.org/10.1016/j.compedu.2005.06.002] The introductory article is also availabe as preprint from [http://hcilab.uniud.it/publications/2007-03.html HCI Lab].
* Chittaro, L. and Ranon, R. 2007. Web3D technologies in learning, education and training: Motivations, issues, opportunities. Comput. Educ. 49, 1 (Aug. 2007), 3-18. [http://dx.doi.org/10.1016/j.compedu.2005.06.002 DOI=http://dx.doi.org/10.1016/j.compedu.2005.06.002] The introductory article is also availabe as preprint from [http://hcilab.uniud.it/publications/2007-03.html HCI Lab].
* Choi, Richard. [https://groups.google.com/forum/#!topic/comp.lang.vrml/BEm4dpgHvEM Nexternet Announces Pivoron 3D Player for Web3D!]


* Daly, Leonard and Brutzman, Don, âX3D: Extensible 3D Graphics Standard,â Standards in a Nutshell column, IEEE Signal Processing Magazine, vol. 24 no. 6, November 2007, pp. 130-133.Y
* Daly, Leonard and Brutzman, Don, âX3D: Extensible 3D Graphics Standard,â Standards in a Nutshell column, IEEE Signal Processing Magazine, vol. 24 no. 6, November 2007, pp. 130-133.Y
Line 330: Line 411:
* Davis, Wiki A. (2007), The frontier of education: Web 3D, ''The Cool Cat Teacher'', Blog Entry. [http://coolcatteacher.blogspot.com/2007/03/frontier-of-education-web-3d.html HTML]
* Davis, Wiki A. (2007), The frontier of education: Web 3D, ''The Cool Cat Teacher'', Blog Entry. [http://coolcatteacher.blogspot.com/2007/03/frontier-of-education-web-3d.html HTML]


* Ieronutti, L. and Chittaro, L. 2007. Employing virtual humans for education and training in X3D/VRML worlds. Comput. Educ. 49, 1 (Aug. 2007), 93-109. [http://dx.doi.org/10.1016/j.compedu.2005.06.007 DOI 10.1016/j.compedu.2005.06.007]
* Ieronutti, L. and Chittaro, L. 2007. Employing virtual humans for education and training in X3DV worlds. Comput. Educ. 49, 1 (Aug. 2007), 93-109. [http://dx.doi.org/10.1016/j.compedu.2005.06.007 DOI 10.1016/j.compedu.2005.06.007]


* Jung, Y., Recker, R., Olbrich, M., and Bockholt, U. 2008. Using X3D for medical training simulations. In Proceedings of the 13th international Symposium on 3D Web Technology (Los Angeles, California, August 09 - 10, 2008). Web3D '08. ACM, New York, NY, 43-51. [http://doi.acm.org/10.1145/1394209.1394221 DOI=10.1145/1394209.1394221]
* Jung, Y., Recker, R., Olbrich, M., and Bockholt, U. 2008. Using X3D for medical training simulations. In Proceedings of the 13th international Symposium on 3D Web Technology (Los Angeles, California, August 09 - 10, 2008). Web3D '08. ACM, New York, NY, 43-51. [http://doi.acm.org/10.1145/1394209.1394221 DOI=10.1145/1394209.1394221]
 
* McCloskey, Bill, The Rise and Fall of VRML: Part 2, Blog entry. [http://www.clickz.com/showPage.html?page=822061 HTML], retrieved 12:09, 22 May 2007 (MEST)


* Nigel W. John, The impact of Web3D technologies on medical education and training, Computers & Education, Volume 49, Issue 1, Web3D Technologies in Learning, Education and Training, August 2007, Pages 19-31, ISSN 0360-1315, DOI: 10.1016/j.compedu.2005.06.003. [http://www.sciencedirect.com/science/article/B6VCJ-4GNTFHN-1/2/038248c7a389ba900e10bef7249450da Abstract/HTML/PDF]
* Nigel W. John, The impact of Web3D technologies on medical education and training, Computers & Education, Volume 49, Issue 1, Web3D Technologies in Learning, Education and Training, August 2007, Pages 19-31, ISSN 0360-1315, DOI: 10.1016/j.compedu.2005.06.003. [http://www.sciencedirect.com/science/article/B6VCJ-4GNTFHN-1/2/038248c7a389ba900e10bef7249450da Abstract/HTML/PDF]
Line 338: Line 421:
* Osvaldo Gervasi, Donald P. Brutzman (Eds.): Proceeding of the Twelfth International Conference on 3D Web Technology, Web3D 2007, Perugia, Italy, April 15-18, 2007. ACM 2007, ISBN 978-1-59593-652-3 [http://portal.acm.org/toc.cfm?id=1229390 TOC].
* Osvaldo Gervasi, Donald P. Brutzman (Eds.): Proceeding of the Twelfth International Conference on 3D Web Technology, Web3D 2007, Perugia, Italy, April 15-18, 2007. ACM 2007, ISBN 978-1-59593-652-3 [http://portal.acm.org/toc.cfm?id=1229390 TOC].


* Weber, Jay C. and Tony Parisi (2007.). ''An open protocol for wide-area multi-user X3D'', Proceedings of the twelfth international conference on 3D web technology, ACM Press, [http://doi.acm.org/10.1145/1229390.1229413 http://doi.acm.org/10.1145/1229390.1229413] {{ar}}.
* Pesce, M. (1995). VRML, Browsing and Building Cyberspace. New Riders, Indianapolis.
 
* Pesce, M. D., Kennard, P., et S., P. A. (1994). Cyberspace. In Proceedings of The First International Conference on The World-Wide Web.
 
* Schneider, Daniel K. and Sylvere Martin-Michiellot (1998). VRML Primer and Tutorial, Online Tutorial. TECFA, University of Geneva. [http://tecfa.unige.ch/guides/vrml/vrmlman/vrmlman.html HTML].
 
* Stephenson, N. (1992). Snow Crash. Bantam.


* Weber, Jay C. and Tony Parisi (2007). ''An open protocol for wide-area multi-user X3D'', Proceedings of the twelfth international conference on 3D web technology, ACM Press, http://doi.acm.org/10.1145/1229390.1229413 {{ar}}.


[[fr:X3DV]]


[[Category: Virtual environments]]
[[Category: Virtual environments]]
[[Category: XML]]
[[Category: XML]]
[[Category: 3D]]
[[Category: 3D]]
[[Category:web standards]]
[[Category: web standards]]

Latest revision as of 10:17, 14 May 2017

Draft

X3D Definition

X3D is a Web 3D technology.

“X3D is a royalty-free open standards file format and run-time architecture to represent and communicate 3D scenes and objects using XML. It is an ISO ratified standard that provides a system for the storage, retrieval and playback of real time graphics content embedded in applications, all within an open architecture to support a wide array of domains and user scenarios.

X3D has a rich set of componentized features that can be tailored for use in engineering and scientific visualization, CAD and architecture, medical visualization, training and simulation, multimedia, entertainment, education, and more.

The development of real-time communication of 3D data across all applications and network applications has evolved from its beginnings as the Virtual Reality Modeling Language (VRML) to the considerably more mature and refined X3D standard.” (web|3D, retrieved 12:59, 11 March 2009 (UTC)).

“X3D focuses on the visualization of 3D assets within applications. X3D has principally been targeted for the Web (thus the name and focus of the Web3D Consortium). X3D is a delivery format intended to contain the information needed for interactive applications. X3D specifies behaviors and interaction, and it includes both a specific run-time model that enables picking, viewing, navigation, and scripting, and an API to manipulate the scene graph at run-time.” (Arnaud and Parisi, 2007).

There exist two different formats (X3D in XML notation and X3DV in VRML notation). X3D has themodel/x3d+xmlmime-type and X3DV can be served as the model/x3d+vrmlmime-type

See also:

How to build X3D scenes, a very short overview

X3D scenes can contain two sorts of "contents": objects and behaviors.

Creating objects

Basically, there are three kinds of options for creating a 3D object:

  • Build 3D scenes or elements of the scene with a tool that can export to X3D, i.e. a 3D modeling tool or a 3D Computer-aided_design_and_manufacturing#Software CAD tool.
  • Use a special-purpose X3D editor. Often such editors can import models formats produced with other 3D software (previous option) or this other software can export to X3D. Therefore, X3D editors are often just to used to assemble a scene and to make it interactive with behaviors.
  • Use an XML editor

Here is a longer list of options (John F. Richardson / VRML mailing list):

  1. An open source modeling and animation system like Blender or Wings3D
  2. A commercial modeling and animation system like Maya or Lightwave3D or Softimage
  3. Your own proprietary modeling and animation system
  4. Free for personal use commercial X3DV authoring tools like Flux / Pivoron
  5. Commercial X3DV authoring system [ authoring systems from Bitmanagement / Octaga / Parallel Graphics / Vivaty … ], cost varies
  6. Open source X3DV authoring system like X3D-Edit
  7. A text editor, preferably an schema-aware XML editor
  8. A text editor without any XML support

See below and also the Web3D website for lists of tools

Creating behaviors

A so-called behavior can be defined as changing the value of property of an object with the scene. Values are usually numbers, e.g. define the size or shape or position of an object.

Behaviors can be triggered by various means such as "data producers" (e.g. a user navigates close to an object), interpolations (computer generated values over time) or scripts. These data producers are connected to objects that they change through ROUTEs. More specifically a ROUTE passes an event, i.e. a value change at a given time from an "output" field of an object to an "input" field of another object.

The scene graph

According to Nicholas f. Polys (retrieved Aug 27 2010), “Conceptually, each X3D application is a 3D time-based space that contains graphic and aural objects that can be loaded over a network and dynamically modified through a variety of mechanisms. The semantics of X3D describe an abstract functional behavior of time-based, interactive 3D, multimedia information.

The basic unit of the X3D run-time environment is the scene graph. This structure contains all the objects in the system and their relationships. Relationships are contained along several axes of the scene graph. The transformation hierarchy describes the spatial relationship of rendering objects. The behavior graph describes the connections between fields and the flow of events through the system.

An X3D scene graph is a directed acyclic graph. Nodes can contain specific fields with one or more children nodes which participate in the hierarchy. These may, in turn, contain nodes (or instances of nodes). This hierarchy of nodes is called the scene graph. Each arc in the graph from A to B means that node A has a field whose value directly contains node B.”

X3D, a modular architecture

Unlike its VRML predecessor, X3D has a modular architecture with four baseline profiles (What is X3D?)

  • Interchange is the basic profile for communicating between applications. It support geometry, texturing, basic lighting, and animation
  • Interactive enables basic interaction with a 3D environment by adding various sensor nodes for user navigation and interaction (e.g., PlaneSensor, TouchSensor, etc.), enhanced timing, and additional lighting (Spotlight, PointLight).
  • Immersive enables full 3D graphics and interaction, including audio support, collision, fog, and scripting.
  • Full includes all defined nodes including NURBS, H-Anim (animated interactive Avatars) and GeoSpatial components.
X3D Baseline Profiles: Source: What is X3D?, retrieved 11:53, 26 August 2010 (UTC)

Software

X3D Clients

Check:

Browser-based (WebGL

  • X3dom is a Javascript library for integrating and manipulating X3D scenes as HTML5/DOM elements. It be one day become a native implementation...

Other WebGL

  • Coweb (web-based WebGL, works with FF in nov. 2015)

There exist several clients for Windows/Linux/Mac. The best ones are probably commercial (in particular BS Contact), they provide free versions that include some "nagging", i.e. a crawling logo.

Navigator extensions

To check what X3DV extensions you have:

Major clients (tested by Daniel K. Schneider (sometimes in the past):


  • Octaga Player. Full free X3D player for Windows. A commercial version includes additional features. The free version includes a logo, inhibits recording, change or rendering mode, etc.
  • BS Contact X3DV. Commercial software for Windows, but 60 days of trial. A free version that includes a crawling banner is available. As of 2016, we could not find any Linux or Mac version.
Other clients
  • Free WRL the best known open-source (GPL) X3D and VRML browser for Unix/Linux/OS X/iOS and Android. Perl/C based. Not fully X3D feature complete, but getting there.... This is a long-term alive project.
  • OpenVRML, the other open-source X3D and VRML browser (not tested).
  • Flux from Media Machines, a company that was sold to Vivaty in 2008, which in turn was sold to Microsoft in April 2010 and killed. Clients (dated 2007) may still be available.
Specialized clients
  • Alpharis, a collective knowledge organization tool that uses X3D. Not sure that this format is fully supported, not tested.
  • ManyOne is a Digital Universe. Features a modified Mozilla with a Flux plugin for 3D contents. (dead as of Aug. 2010).
  • Kambi VRML game engine, main focus is on 3D games using X3DV format (although other 3D model formats are also supported). Added Aug. 2010.
3D plugin selector
Installing BS Contact under Ubuntu

To install under Ubuntu as explained here, follow these steps: Get it like this (but take a newer version):

wget http://www.bitmanagement.de/developer/download/BSContact-7.1.07-4.i386.rpm

Extract the files with rpm2cpio (creates a cpio archive, then will extract the files to./opt/BSContact)

rpm2cpio BSContact-7.1.07-4.i386.rpm | cpio -imV

Move to /opt:

mv opt/BSContact /opt
rmdir opt

Tell Ubuntu it's there.

SETUP_INSTALLPATH=/opt/BSContact SETUP_OPTIONTAGS=icons /opt/BSContact/bin/postinstall --root --create icons

Serving X3D contents

Any web-server can serve X3D contents for stand-alone usage. You only have to make sure to configure the following mime-types in your web server:

.x3dv model/x3d+vrml
.x3d model/x3d+xml
.x3db model/x3d+binary

Multi-user servers

  • VR4All. This is a free 3D world building and chat environment. It works with the BS Contact player.
    • You can build an area and choose from various components that you can parametrize.
    • The toolbox is on the lower left and it has tooltips. Then other tools may open (e.g. the construction tool).
    • The interface is in French
    • This is the first free X3DV multi-user constructible world I have seen in a long time. Works smoothly on my "doorstopper" laptop (Dell XPS 1730/Nvidia GeForce 8700 M GT), according to Daniel K. Schneider.
  • VR SPACE is a free cross-platform modular 3D community software. Features include chat, with live people or chatbots; ready-to-use application server, mail and news server plugins; persistence in text files or database; world editor, able to save VRML 'screenshots', and so on.

Live multi user server software

See also: 3D interactive environments

Currently (Sept. 2010) at least the following multi-user X3D server technology is available. There are probably additional commercial solutions. See also VRML. Resource-limited open-source projects seem to stick to this older standard. E.g. Vr4all is nice community and their technology does work. Also, it seems that some dead commercial platform code "floats" around, e.g. read this VRML Server forum.

DeepMatrix server (free)

DeepMatrix is an open-source Java server/client 3D multi-user system capable of both chat and shared events working in conjunction with X3DV browsers that have Java EAI or External SAI. Currently (15:18, 16 May 2010 (UTC), this server works with the Deep MatrixIP9 client (see above). You may have to download the latest (non public) version from the FTP archive.

Bitmanagement's BS Collaborate (commercial)

“BS Collaborate designed for virtual reality applications from games up to cooperative work enables customer in combination with the basic visualization component BS Contact 7.2 (and higher) to realize real time communication between 3D objects like avatars in shared environments as well as collaborate working on 3D models with standard PC on the Internet.” (BS Collaborate, retrieved Sept. 8 2010).

X3Daemon 3D Multiuser Network Server (beta)

“X3Daemon is middleware commercially available to developers, and is freely available to Office Towers users...” (not tested, except for at look at OfficeTowers, which also can be used as free service for your X3DV scene)

Dead multi user servers

It seems to Daniel K. Schneider that it will take time to attract more open source developers or companies to develop X3DV-based multi-user servers. The ongoing pattern since the mid-1990's seems to be announcements, prototypes and then death of both the product and the companies. However, given that 3D is a "niche market" this is not too surprising. Let's recall the fate of some major technologies. IE (as of March 2009) still cannot handle XHTML and does not implement SVG. The SVG implementation of Firefox is partial only (doesn't include the "SMIL" tags. Firefox does not implement SMIL. Correct implementations of CSS3 and XSL-FO real-time players are other sore issues...

One reason why VRML and X3D is less popular than the sum of proprietary formats (in particular gaming engines) might be that other engines are optimized for speed. X3D, on the other hand, is much more flexible, in a scene any property of any object can change at any time (even if the user can't see the thing). Optimizing players to deal with lots of potentially changing geometry is already difficult. Now, propagating changes in multi-user environment over the Internet multiplies this challenge.

However, sticking to standards still seems to be best solution since code can be reused. Lively, Google's probably Flash 3D-based chat environment, was terminated on December 2008. It would be interesting to know the reasons. ThePalace (the company who produced the Palace 2D environment) is dead. Active Worlds (the "Second Life of the late nineties) seems to be the only commercial proprietary 3D server that managed to stay alive over the years. It's too early to predict the fate of Second Life. It does look like a huge digital desert to users, but it may survive because of some specialized activities like fashion shows or virtual chat. The difference between Active Worlds and Second Life is that Active Worlds Inc. also sells servers you can install on your own machines. You also may consult 3D interactive environments for a longer list.

Below are some recently dead projects (probably most links are dead too now)

AbNet2 (free for non-commercial use)

“ABNet is a Java communications client/server that turns a single-user VRML or X3D world into a multi-user virtual world environment. 3D avatars can interact and use shared events to provide a virtual experience similar to SecondLife and the Blaxxun platform. More generally, the communication framework of ABNet provides an asynchronous low-latency publish and subscribe environment using XML messages over TCP/IP.” (ABNet2 Software, retrieved Sept. 10 2010).

  • This project seems to be inactive as of Sept. 2010. Servers can't be downloaded anymore.
  • ABNet2 Software (Win/Linux/Mac)
  • VRMLWorld.net has been implemented with AbNet2.
Vivaty

Vivaty offered an online 3D chat service with a similar developer model as Second Life, but it's based on a real standard and therefore your contents can outlive the platform. It runs under Vista/XP as Firefox or IE plugin. You can design your own X3D scenes and then import to their server. There is also an interface with Facebook and AIM.

Vivaty closed on April 16, 2010 “The company’s revenue, pegged on the sales of its virtual currency Vivabux, was not substantial enough to cover its costs.” [1]. “Jay Weber, chief technical officer and co-founder, announced on the company’s blog that the site will close because its business of letting users create their own 3D virtual spaces has never taken off.” [2], retrieved 12:29, 25 August 2010 (UTC).

Media Machines

In March 2007 Media Machines announced Flux World, a server technology based on Simple Wide Area Multi-User Protocol, or SWMP (pronounced "swamp"). The company is now gone and its assets went to Vivaty, e.g. the excellent X3D authoring Flux Studio tool was forked to "Vivaty Studio", then in April 2010 assets went to Microsoft. No trace of the multi-user server. The free (but not opensource) X3D authoring tool may still be available from some places, like Media Machines Weblog.

Blaxxun

Blaxxun was one of the first VRML-based systems. The company at some point went broke in the early 2000's, but was alive again (2007) and dead again (2010). I suspect that most of it's assets now belong to:

Authoring tools

Then, check the web3d.org website. It has a good list of tools for X3D Development including a comparison of four authoring tools.

Modeling tools

See also 3D modeling. Several 3D modeling tools can export to X3D. Many X3D designers use a normal 3D or CAD modeling tool for creating individual objects and then export/import to a X3D structure editor (or X3D-aware programming editor) to build a scene.

  • Seamless3d, a free, open source 3D modeling software free and available for all under the MIT license. Can export to VRML, X3D XML and POV-RAY, imports VRML and X3D VRML. The Interface is a bit unusual, but (probably) easy to learn. Tutorials are provided. (testing, to do)
Combined Modeling / behaviors and scripting tools with a GUI
  • Vivaty Studio (dead link) is from a company of the same name that died on April 16 2010. This product was forked from Flux Studio before summer 2008. Vivaty Studio was free for personal use! Authoring included modeling, animating, and scripting. Imports from other applications such as Sketchup, 3ds, Maya, Blender, and Unreal.
  • Titania
    • “Titania aims to provides you with powerful tools to compose complex objects and create exciting, animated and interactive worlds. Use existing 3D modelling programs like Blender or Maya to create polygonal or NURBS objects that can easily imported into Titania and then arranged and made interactive. Use Cobweb to publish your content to the Internet.” (Retrieved May 2017)
    • Only runs under Debian/Ubuntu
  • BS Editor. Commercial (Euros 990)
    • “The BS Editor supports the application developer to program interactivity and behavior to objects and scenes. The geometry of 3D models shall be imported from leading authoring tools like 3DStudio Max or Blender and can be integrated into applications by using BS Editor without notable X3DV knowhow”, retrieved 11:20, 25 August 2010 (UTC). Only can edit *.wrl (VRML) if I understood right, therefore not a good buy.
  • SwirlX3D, 129 CAN$. This is a successor of popular Spazz3D.
  • AC3D, Commercial (free trial). 3D modeler/editor that can export to X3D.
Structure editors
  • X3D-Edit Authoring Tool for Extensible 3D (X3D) Graphics. Written in open-source Java and XML using the Netbeans 6.7 platform.
    • X3D-Edit is a graphics file editor for Extensible 3D (X3D) that enables simple error-free editing, authoring and validation of X3D or VRML scene-graph files. Context-sensitive tooltips provide concise summaries of each VRML node and attribute. These tooltips simplify authoring and improve understanding for novice and expert users alike.
  • Submarine X3D, a free very simple X3D Editor for Linux, Mac OS X and Windows by Andrea Nardinocchi from University of Perugia.
  • For handcoding of X3D, one also can use any XML editor that supports DTD or XSD, e.g. Xemacs.

Conversion, exporting and importing software

  • X3D encoding converter is an online service from InstantReality.org. It converts from VRML97 to X3D and from both to X3DOM (the proposed HTML 5 version of X3D)
  • VrmlMerge Merge multiple VRML files, convert to X3D. Free for non-commercial use. Read the howto. Command line:
java -jar VrmlMerge-[version].jar -merge inputfile.wrl [outputfile.wrl]
java -jar VrmlMerge-[version].jar -convert inputfile.wrl [outputfile.x3d]
java -jar VrmlMerge-[version].jar -images inputfile.wrl outputfile.wrl bitsPerColor
java -jar VrmlMerge-[version].jar -images2 inputfile.wrl [outputfile.wrl] 

See also: File Translators & Utilities

VRML Definition and short history

VRML is a Web 3D technology that is still in use, but I suggest that people new to Web3D should rather go for X3D, its successor.

The Virtual Reality Modeling Language (VRML) can been seen as a 3D visual extension of the WWW. People can navigate through 3D space and click on objects representing URLs (including other VRML worlds). Often, VRML is pronounced like ``Vermal, not ``V-R-M-L.

As Mark Pesce [Pesce, 1995, p. 16] points out, the WWW had two fundamental dimensions: connectivity (the http protocol) and interface (i.e. the rendering of content, especially HTML and embedded URLS). VRML inserts itself seamlessly in the Web's connectivity. VRML browsers can access other VRML files via an URL. They can access any other format that then is passed to another application (e.g. an HTML browser or a HTML window). On the other hand HTML browsers can be configured to fire up VRML helper applications (or plug-ins). HTTP servers, finally, can be configured to tell the client that a VRML (*.wrl) document is transferred.

A short word on its history: The major impulse for VRML 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 3D navigation and representation scheme and (c) more generally 3D 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. Since VRML is a relatively simple format building upon a well defined standard, very quickly a number of modeling tools and converters also became available.

In the late nineties VRML was almost dead. Since VRML was invented before we had cheap 3D cards, it was too slow. Gaming engines back then optimized speed (e.g. did a lot just with textures) and they built specialized rendering engines for specialized tasks, so games looked much better. In addition, companies like SGI who had the skills to build decent viewers and editors did not pursue long-term strategies, e.g. its Cosmo Division was sold to Platinum Technologies and soon thereafter the Cosmo Player was dead. Other, smaller companies were bought and killed by competition (e.g. Microsoft bought WorldView and then also sold it to Platinum. Others went broke for commercial reasons, e.g. the German company Blaxxun who did have a nice but overpriced virtual worlds server. Finally initiatives to build a virtual worlds standard (multi-user VRML) never made it.

“The final insult occurred in 1999 during the VRML 1999 conference in Germany. While the Platinum VRML employees were out of the country manning the Platinum trade show booth, Platinum laid off the entire VRML division in a Monday morning blood bath. Within another month or two, Platinum itself was sold to Computer Associates, which inherited the VRML browsers and tools and currently sits on them.” ([3]).

VRML still survived all those years in niche markets. E.g. in education it remained popular to visualize complex objects (e.g. chemical molecules) and data structures. It also was used to train procedures. Finally VRML as data format is used to display exported data from more sophisticated static CAD formats.

VRML is back in a new form: X3D and most modern X3D clients also can display VRML code. By the way, Blaxxun also reemerged from its ashes. Daniel K. Schneider believes that an open Web3D standard does have its future. While gaming engines (e.g. Neverwinter Nights or virtual environments like Second Life are easier to build with and prettier, they do lack the flexibility that the X3D (SAI/ECMAScript/AJAX3D) has.

Links

History

General / Indexes

Other software

  • Chisel Best (and free) optimizer for VRML code. I reduzes size and speeds up execution time, etc.

Specifications

Main
Alternative reference documents
More and related specifications (extensions, additional)
  • X3DOM is an attempt started in 2010 to integrate X3D with HTML5. “X3DOM (pronounced X-Freedom) is 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.org], retrieved 12:29, 25 August 2010 (UTC)). Alpha implementations work with browers that implement WebGL (e.g. Firefox 4.0). See X3DOM for more information
  • See the X3dResources' Authoring Support section for additional resources (e.g. additional Schematron validation).
  • H-Anim (2004). ISO/IEC FCD 19774 (Avatar specification)

Developer communities

Overviews and comparisons

  • Interview with Research 2.0 (Interview with Stephen Waite (SW) from Research 2.0 and Anita Havele (AH), Web3D Consortium Executive Director, April 2010.)

Tutorials

(all retrieved Aug. 2010)

It may be a good idea to understand some very basic 3D principles, e.g. read How 3D Graphics Work from how stuff works.

See also the resources to Learn X3D (web|3D Consortium)

Examples

There are many X3DV examples on the web. However, many links collections and archives die or are not maintained. We shall add some more here, but maintaining links in web 3D is a nightmare (since most 3D Companies go broke after 3 or 5 years ...)

Simple examples (typically showing a single X3D feature)
  • Examples (X3D consortium resources). Follow up the links.
Example code collections
Projects and show cases
  • On-A-Slant Virtual Village. Interactive X3D. A Social Science Education Project.
  • X3D Scenarios and Case Studies (W3C)
  • Customer Case Studies (At BitManagement, probably the most "impressive" list and some very good examples in theory. However many links don't offer access to scenes, some are simply no good. Some annoying sites require IE/6 (I got version 8), old versions of Flash, BS contact etc...
Student projects
  • Educational Web3D, by Stephen Guynup, 15th ACM Conference on Web 3D Technlogy. Includes a description of a class and pointers to student projects.
Multi-user worlds

References

  • Ames, A. L., Nadeau, D. R., et Moreland, J. L. (1996b). The VRML Sourcebook. Wiley, New York.
  • Behr, J., Dähne, P., and Roth, M. 2004. Utilizing X3D for immersive environments. In Proceedings of the Ninth international Conference on 3D Web Technology (Monterey, California, April 05 - 08, 2004). Web3D '04. ACM, New York, NY, 71-78. DOI=http://doi.acm.org/10.1145/985040.985051
  • Behr, J., Jung, Y., Keil, J., Drevensek, T., Zoellner, M., Eschler, P., and Fellner, D. 2010. A scalable architecture for the HTML5/X3D integration model X3DOM. In Proceedings of the 15th international Conference on Web 3D Technology (Los Angeles, California, July 24 - 25, 2010). Web3D '10. ACM, New York, NY, 185-194. DOI:10.1145/1836049.1836077 HTML/PDF
  • Brutzman, Don (2008), Computer Graphics Teaching Support using X3D: Extensible 3D Graphics for Web Authors, Nava Postagraduate School
  • Brutzman, Don, and Daly, Leonard, X3D: Extensible 3D Graphics for Web Authors, Morgan Kaufmann Publishing, 2007. 468 pages Book website
  • Chittaro, L. and R. Rano (editors) (2007). Web3D Technologies in Learning, Education and Training, Computers & Education Volume 49, Issue 1, Pages 1-130 (August 2007). Table of contents for the special issue)
  • Daly, Leonard and Brutzman, Don, âX3D: Extensible 3D Graphics Standard,â Standards in a Nutshell column, IEEE Signal Processing Magazine, vol. 24 no. 6, November 2007, pp. 130-133.Y
  • Davis, Wiki A. (2007), The frontier of education: Web 3D, The Cool Cat Teacher, Blog Entry. HTML
  • Ieronutti, L. and Chittaro, L. 2007. Employing virtual humans for education and training in X3DV worlds. Comput. Educ. 49, 1 (Aug. 2007), 93-109. DOI 10.1016/j.compedu.2005.06.007
  • Jung, Y., Recker, R., Olbrich, M., and Bockholt, U. 2008. Using X3D for medical training simulations. In Proceedings of the 13th international Symposium on 3D Web Technology (Los Angeles, California, August 09 - 10, 2008). Web3D '08. ACM, New York, NY, 43-51. DOI=10.1145/1394209.1394221
  • McCloskey, Bill, The Rise and Fall of VRML: Part 2, Blog entry. HTML, retrieved 12:09, 22 May 2007 (MEST)
  • Nigel W. John, The impact of Web3D technologies on medical education and training, Computers & Education, Volume 49, Issue 1, Web3D Technologies in Learning, Education and Training, August 2007, Pages 19-31, ISSN 0360-1315, DOI: 10.1016/j.compedu.2005.06.003. Abstract/HTML/PDF
  • Osvaldo Gervasi, Donald P. Brutzman (Eds.): Proceeding of the Twelfth International Conference on 3D Web Technology, Web3D 2007, Perugia, Italy, April 15-18, 2007. ACM 2007, ISBN 978-1-59593-652-3 TOC.
  • Pesce, M. (1995). VRML, Browsing and Building Cyberspace. New Riders, Indianapolis.
  • Pesce, M. D., Kennard, P., et S., P. A. (1994). Cyberspace. In Proceedings of The First International Conference on The World-Wide Web.
  • Schneider, Daniel K. and Sylvere Martin-Michiellot (1998). VRML Primer and Tutorial, Online Tutorial. TECFA, University of Geneva. HTML.
  • Stephenson, N. (1992). Snow Crash. Bantam.