<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://old.web3d.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Brutzman</id>
		<title>Web3D.org - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://old.web3d.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Brutzman"/>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php/Special:Contributions/Brutzman"/>
		<updated>2026-04-14T20:37:39Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=Main_Page&amp;diff=12791</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=Main_Page&amp;diff=12791"/>
				<updated>2026-03-20T18:01:21Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: warning, archival use only&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Advisory: this wiki is no longer active and is maintained for archival purposes only.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Community Wiki ==&lt;br /&gt;
&lt;br /&gt;
Nearby:  [http://www.web3d.org Web3D home], [http://www.web3d.org/realtime-3d/news-events Web3D events], and [http://www.web3d.org/realtime-3d/member/wiki/Main Web3D Members-Only Wiki]&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/contact?target=webSite Contact the WebMaster] if you need access to the wiki.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Web3D and SIGGRAPH 2017 Conference Events ==&lt;br /&gt;
&lt;br /&gt;
* [http://web3d2017.web3d.org/ Web3D 2017] at Brisbane, June 5th to 7th&lt;br /&gt;
* [http://s2017.siggraph.org/ Siggraph 2017] at Los Angeles, July 30th to August 3rd&lt;br /&gt;
&lt;br /&gt;
== Active X3D Working Groups:  Public Pages ==&lt;br /&gt;
&lt;br /&gt;
=== X3D Working Group ===&lt;br /&gt;
* The X3D Working Group ([http://www.web3d.org/working-groups/x3d executive summary]) is the main forum for coordinating all X3D specification activities, including other working groups.&lt;br /&gt;
* This group also performs future X3D design, resolution of X3D specification comments, and review of X3D implementation resources.&lt;br /&gt;
* Working group teleconferences are every Wednesday at 08-0900 Pacific time, 16-1700 UK time, on the Web3D teleconference line.&lt;br /&gt;
* Co-chairs: Roy Walmsley and Don Brutzman&lt;br /&gt;
* ISO Convener:  Dick Puk&lt;br /&gt;
&lt;br /&gt;
===  Current activities: JSON, Binary Compression, X3D v3.4, v4.0 and v4.1, etc. === &lt;br /&gt;
* [[X3D JSON Encoding]]&lt;br /&gt;
* [[X3D Binary Compression Capabilities and Plans]] for a new Efficient Binary Encoding&lt;br /&gt;
* [[X3D Development Public Plans]] (contains public statements and links for the items below)&lt;br /&gt;
** [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/X3D.html X3D version 3.3] has been finalized as an ISO International Standard (IS).  The text has been sent to ISO/IEC for final ballot.&lt;br /&gt;
*** [http://www.web3d.org/realtime-3d/member/wiki/x3d-v33-specification-changes X3D v3.3 Specification Changes] (members-only document&amp;lt;!--, formerly [http://www.web3d.org/membership/login/memberwiki/index.php/X3D_v3.3_Specification_Changes X3D v3.3 Specification Changes]--&amp;gt;) includes relevant information on deferred capabilities.&lt;br /&gt;
** [[X3D version 3.4 Development]] efforts are evolutionary improvements to the proven X3D Graphics architecture.&lt;br /&gt;
*** Working groups and individual contributions helped to define future goals and requirements.&lt;br /&gt;
*** The version 3.4 effort is now integrated into version 4.0 and is no longer being pursued as a separate activity.&lt;br /&gt;
** [[X3D version 4.0 Development]] efforts are considering major evolutionary changes to the baseline X3D architecture.&lt;br /&gt;
*** Major technology under consideration: HTML5/DOM/Declarative 3D with [https://www.x3dom.org/ X3DOM] and [http://titania.create3000.de/cobweb/ Cobweb] implementations.&lt;br /&gt;
** X3D version 4.1 development supports AR, VR devices&lt;br /&gt;
*** Major technology under consideration: ISO Mixed and Augmented Reality (MAR) Reference Model&lt;br /&gt;
** Please [http://www.web3d.org/contact contact Web3D Consortium] or [http://www.web3d.org/page/contact/x3d-chairs contact X3D co-chairs] if you think additional technologies need to be considered.&lt;br /&gt;
*** X3D futures planning is currently a Web3D Consortium member-only activity.&lt;br /&gt;
* [[X3D MIME-Type]] in X3D Working Group to get official IETF MIME-Type recognition for X3D&lt;br /&gt;
** This has been completed. The IETF listing is at [http://www.iana.org/assignments/media-types/media-types.xhtml#model]&lt;br /&gt;
&lt;br /&gt;
=== Access and Participation ===&lt;br /&gt;
&lt;br /&gt;
Many Web3D technical efforts are visible to the public.  Some are restricted to Web3D Consortium members.  Membership has value.&lt;br /&gt;
&lt;br /&gt;
* Web3D Consortium members are allowed to decide on specification priorities and whether new technology is accepted for our royalty-free X3D International Standard.&lt;br /&gt;
* The general public is allowed to observe and comment at various stages of development.&lt;br /&gt;
* Some working group activities are fully open, some activities are performed by Web3D Consortium members only.&lt;br /&gt;
* Web3D Consortium members have agreed to the [http://www.web3d.org/sites/default/files/page/Join%20the%20Web3D%20Consortium/Web3D_IPR.pdf Intellectual Property Rights (IPR) Policy] which effectively prevents any royalty-based technology from being adopted by X3D.&lt;br /&gt;
* This approach provides great value to the public, and also allows both companies and individual professionals to contribute to X3D directly as Web3D Consortium members.&lt;br /&gt;
* Meanwhile, each working group can still decide to place some work in the open and some with restricted access.  For example, HTML5/DOM work is open.&lt;br /&gt;
* For private member-only communications, Web3D Members can also use the [http://www.web3d.org/member/wiki/Main Web3D Members-Only Wiki].&lt;br /&gt;
&lt;br /&gt;
=== [[X3D and Augmented Reality]] Continuum (ARC) Working Group: AR Extensions for X3D ===&lt;br /&gt;
&lt;br /&gt;
* The Augmented Reality (AR) Working Group was formed to address the needs of projecting computer generated information into the real world. The Working Group focuses on utilizing and extending X3D capabilities to support augmented reality (AR) and mixed reality (MR) applications.&lt;br /&gt;
* [http://www.web3d.org/realtime-3d/working-groups/augmented-reality-ar X3D and Augmented Reality working group summary]&lt;br /&gt;
* [[X3D and Augmented Reality]] wiki&lt;br /&gt;
* Members are also participating in efforts by the ISO SC24 Working Group 9 for Augmented Reality Continuum (ARC)&lt;br /&gt;
&lt;br /&gt;
=== [[X3D CAD]] Working Group: Computer Aided Design (CAD) Extensions for X3D ===&lt;br /&gt;
&lt;br /&gt;
* The X3D CAD Working Group is now in its third generation of development effort. We are developing and demonstrating best practices for exporting any CAD model to X3D for Web applications.&lt;br /&gt;
* [http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD) working group summary]&lt;br /&gt;
* [[X3D CAD]] working group wiki&lt;br /&gt;
&lt;br /&gt;
=== [[X3D Earth Working Group]] for geospatial representations ===&lt;br /&gt;
* The X3D Earth Working Group uses the Web architecture, XML languages, and open protocols to build a standards-based X3D Earth specification usable by governments, industry, scientists, academia, and the general public. X3D-Earth efforts encompass client-side, server-side, authoring, and conversion technologies.&lt;br /&gt;
''Vision:'' Make it easier to create and use 3D spatial data.&lt;br /&gt;
''Mission.'' Promote spatial data use within X3D via open architectures.&lt;br /&gt;
* [http://www.web3d.org/realtime-3d/working-groups/x3d-earth X3D Earth working group summary]&lt;br /&gt;
* [[X3D Earth Working Group]] wiki&lt;br /&gt;
&lt;br /&gt;
=== X3D [[H-Anim]] Working Group: Humanoid Animation (H-Anim) ===&lt;br /&gt;
* The Humanoid Animation (H-Anim) standard supports representative human models incorporating open best practices of haptic and kinematic interfaces and a certain default skeleton pose in order to enable shared animations.&lt;br /&gt;
* There are corresponding documents for [http://www.web3d.org/files/specifications/19774/V1.0/index.html Humanoid Animation (H-Anim)]  abstract specification and [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/hanim.html X3D Humanoid Animation component].&lt;br /&gt;
* [http://www.web3d.org/realtime-3d/working-groups/h-anim H-Anim working group summary]&lt;br /&gt;
* [[H-Anim]] wiki&lt;br /&gt;
&lt;br /&gt;
=== [[X3D Medical]] Working Group:  Volume visualization and Medical uses ===&lt;br /&gt;
* The Medical Working Group is developing an open interoperable standard for the representation of human anatomy based on input from a wide variety of imaging modalities.&lt;br /&gt;
* [http://www.web3d.org/realtime-3d/working-groups/medx3d X3D Medical working group summary]&lt;br /&gt;
* [[X3D Medical]] wiki&lt;br /&gt;
&lt;br /&gt;
=== [[Heritage]] Working Group:  Cultural Heritage and Natural History ===&lt;br /&gt;
&lt;br /&gt;
* Initial efforts are following up on really interesting keynote presentation and workshop discussions at the Web3D 2014 Symposium.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== X3D Special Interest Groups:  Public Pages ==&lt;br /&gt;
X3D Special Interest groups are open to anyone interested in participating. &lt;br /&gt;
This open approach provides great value to the public to explore new technologies and applications for X3D. It also allows both companies and individuals to contribute some technologies towards moving the X3D standard forward. &lt;br /&gt;
&amp;lt;!-- none yet:  * [[X3D and Networking]] Special Interest Group efforts --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[X3D Mobile]] Working Group efforts --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Xj3D Evolution]] ===&lt;br /&gt;
&lt;br /&gt;
Renewed open-source community effort.&lt;br /&gt;
&lt;br /&gt;
=== [[X3D and HTML5]] design efforts and [http://www.w3.org/community/declarative3d Declarative 3D Community Group] ===&lt;br /&gt;
Numerous efforts are working to establish a solid foundation for proper X3D graphics support in HTML5. &lt;br /&gt;
* [http://www.w3.org/community/declarative3d Declarative 3D Community Group] efforts include integration of Declarative 3D requirements as part of X3D version 4.0 design&lt;br /&gt;
* [[X3D and HTML5]] wiki lists a wide variety of techniques for authors creating Web content&lt;br /&gt;
&lt;br /&gt;
=== [[X3D and E-Learning]] ===&lt;br /&gt;
&lt;br /&gt;
Special Interest Group efforts are discussed on the X3D mailing list.&lt;br /&gt;
&lt;br /&gt;
== About X3D ==&lt;br /&gt;
* [http://www.web3d.org/x3d/what-x3d What is X3D]&lt;br /&gt;
** [http://www.web3d.org/about/faq/ X3D/VRML FAQ] TODO: Page not found&lt;br /&gt;
** [[X3D and HTML FAQ]]&lt;br /&gt;
* [[Features and Strengths of X3D]]&lt;br /&gt;
* [[Industry Adopters]]&lt;br /&gt;
* [http://www.web3d.org/membership/join/ Get Involved!]&lt;br /&gt;
* [[Interviews and Outreach]]&lt;br /&gt;
* [http://www.web3d.org/events/past Recent Events]&lt;br /&gt;
&lt;br /&gt;
== X3D Community Information==&lt;br /&gt;
* [[Player support for X3D components]]&lt;br /&gt;
* [[Tool support for X3D components]]&lt;br /&gt;
* [[X3D Plugfest]] to improve interoperability between X3D players&lt;br /&gt;
* [[X3D Implementations]]&lt;br /&gt;
&lt;br /&gt;
== Technology Contributions ==&lt;br /&gt;
&lt;br /&gt;
The Web3D Consortium is always happy to receive proposals for [[Technology Contributions]] that might help to advance 3D graphics on the Web.&lt;br /&gt;
&lt;br /&gt;
== X3D Resources ==&lt;br /&gt;
* [http://www.web3d.org/x3d/content/examples/X3dResources.html X3D Resources] provides comprehensive links to many X3D applications, sources and capabilities&lt;br /&gt;
* [http://www.web3d.org/x3d/content/examples/X3dResources.html#Tooltips X3D Tooltips] provides multilingual details on the X3D vocabulary&lt;br /&gt;
* [[How-To Guides]] and [[Node Reference]]&lt;br /&gt;
* [http://www.web3d.org/specifications/ X3D Specifications] provides public copies of all Web3D specification work&lt;br /&gt;
* [[Player support for X3D components]] and [[Tool support for X3D components]]&lt;br /&gt;
* [[Plug-in and browser compliance]]&lt;br /&gt;
* [[Recommendations for browser developers]]&lt;br /&gt;
&lt;br /&gt;
== Web3D Chapters ==&lt;br /&gt;
Official Chapters (geographically oriented) of the Web3D Consortium&lt;br /&gt;
&lt;br /&gt;
* [http://web3d.kr Web3D Consortium Korea Chapter]&lt;br /&gt;
* [[Korea Chapter Public Wiki]]&lt;br /&gt;
* Nearby: [http://www.web3d.org/membership/login/memberwiki/index.php/Korea_Chapter_Members-Only_Wiki Korea Chapter Members-Only Wiki]&lt;br /&gt;
&lt;br /&gt;
== About the Public and Members-Only X3D Wiki ==&lt;br /&gt;
* [[Usage Guidelines]]&lt;br /&gt;
* [[How to wiki]]&lt;br /&gt;
* [[Create New Page]]&lt;br /&gt;
* [http://www.web3d.org/membership/login/memberwiki/index.php/Main_Page Web3D Members-Only Wiki]&lt;br /&gt;
&lt;br /&gt;
Administrative notes: &lt;br /&gt;
* '''If you need an account on this wiki''', please [http://www.web3d.org/contact?target=webSite contact the Webmaster] and include 'Wiki Account' in the subject.&lt;br /&gt;
* Because of some reported abuse to existing members, creation of all new accounts have been '''disabled'''. This state will continue until a better means of identifying members has been established.&lt;br /&gt;
* SysAdmin Note: WikiMedia software upgraded to latest version (9 Jan 2013).&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_and_HTML5&amp;diff=9833</id>
		<title>X3D and HTML5</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_and_HTML5&amp;diff=9833"/>
				<updated>2025-05-16T20:21:10Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Goals: X3D and HTML5 */ note historical&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: this page is historic, see the [https://www.web3d.org/X3D4 X3D4 page for subsequent progress and success.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Design Goals: X3D and HTML5=&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3D.org/x3d X3D Working Group] has made multiple contributions to the [http://www.w3.org/html/wg W3C HTML Working Group] for the purpose of fully integrating X3D with HTML.&lt;br /&gt;
&lt;br /&gt;
Our long-term goal is to make the native authoring and use of declarative XML-based X3D scenes as natural and well-supported for HTML5 authors as the support provided for&lt;br /&gt;
[http://www.w3.org/Graphics/SVG Scalable Vector Graphics (SVG)]&lt;br /&gt;
and&lt;br /&gt;
[http://www.w3.org/Math Mathematical Markup Language (MathML)].&lt;br /&gt;
&lt;br /&gt;
This effort has strategic importance for Web3D and indeed for all 3D graphics, since X3D is an interchange format for a wide variety of models.  We are working to establish a solid foundation for X3D to properly support 3D graphics in HTML5.&lt;br /&gt;
&lt;br /&gt;
In order to reach their primary goals in a timely manner, the HTML5 group has decided not to pursue the forms of extensibility that we proposed.&lt;br /&gt;
This is perhaps unsurprising since they are working on so many important improvements!&lt;br /&gt;
&amp;lt;!-- TODO add link --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nevertheless we are continuing these investigations and remain optimistic that this excellent progress will continue.&lt;br /&gt;
Our technical proposal&lt;br /&gt;
[http://www.web3d.org/x3d/content/html5/HTML5RecommendationAdditionsForX3D.html HTML5 Recommendation Additions for X3D]&lt;br /&gt;
remains online and is available for comment.&lt;br /&gt;
&lt;br /&gt;
We have pursued three basic approaches to display an X3D scene inside an HTML page:&lt;br /&gt;
* '''X3D object in HTML page as an embedded object.''' HTML page includes an [http://dev.w3.org/html5/spec/Overview.html#the-object-element object] element tag that refers to an .x3d scene, implemented via an X3D plugin.  Data can be passed within the page to/from an X3D scene using DOM events.&lt;br /&gt;
** ''Status.'' This is specification-compliant and demonstrated by multiple plugins.&lt;br /&gt;
&lt;br /&gt;
* '''X3D directly inline as XML in HTML.''' HTML page directly includes X3D source, likely with an XML namespace prefix, presumably implemented via an X3D plugin or the browser itself.  Again data might be exchanged within the page using DOM events.  &lt;br /&gt;
** ''Status.'' Experimentally demonstrated as a new capability by [http://www.x3dom.org X3DOM], and now being considered for further implementation and potential standardization in a Mobile and/or Augmented Reality (AR) profile for X3D.&lt;br /&gt;
&lt;br /&gt;
* '''Canvas3D or special API access.''' HTML page includes some form of [http://dev.w3.org/html5/spec/Overview.html#the-canvas-element canvas] (or maybe &amp;lt;code&amp;gt;Canvas3D&amp;lt;/code&amp;gt;) element that allows programmatic access to the page, so that X3D Scene Access Interface (SAI) might draw a bitmap.  &lt;br /&gt;
** ''Status.'' Deferred until HTML5 working group decides whether or not to provide such a new feature.&lt;br /&gt;
&lt;br /&gt;
Example combinations of X3D and HTML (plus variations on these approaches) are considered and demonstrated as part of [[X3D and HTML5 examples]].&lt;br /&gt;
&lt;br /&gt;
Important new work includes the [http://www.x3DOM.org X3DOM suite] by Fraunhofer, which shows native X3D within an HTML page, runnable in nightly builds for Chrome, Firefox and Safari.  Additional implementations are being considered, and similar solutions are being pursued for Internet Explorer and Opera.&lt;br /&gt;
&lt;br /&gt;
Our&lt;br /&gt;
[[X3D and HTML5 Summary]] slideset was presented at the&lt;br /&gt;
HTML5 Working Group sessions&lt;br /&gt;
Friday 6 November 2009&lt;br /&gt;
in Mountain View&lt;br /&gt;
during the&lt;br /&gt;
[http://www.w3.org/2009/11/TPAC/ W3C Technical Plenary and Advisory Committee (TPAC)] meeting.&lt;br /&gt;
As a result we are now actively working on showing [http://www.w3.org/Bugs/Public/show_bug.cgi?id=8238 X3D as XML in HTML].&lt;br /&gt;
&lt;br /&gt;
=HTML 5=&lt;br /&gt;
&lt;br /&gt;
The [http://www.w3.org/html/wg HTML working group] page states:&lt;br /&gt;
&lt;br /&gt;
        What is HTML?  HTML is the publishing language of the World Wide Web.&lt;br /&gt;
&lt;br /&gt;
The latest editor's draft Hypertext Markup Language (HTML) recommendation states:&lt;br /&gt;
&lt;br /&gt;
        [http://dev.w3.org/html5/spec/Overview.html HTML 5] W3C Working Draft&lt;br /&gt;
        A vocabulary and associated APIs for HTML and XHTML&lt;br /&gt;
&lt;br /&gt;
        [http://dev.w3.org/html5/spec/Overview.html#declarative-3d-scenes 13.2 Declarative 3D scenes]&lt;br /&gt;
        Embedding 3D imagery into XHTML documents is the domain of X3D,&lt;br /&gt;
        or technologies based on X3D that are namespace-aware.&lt;br /&gt;
&lt;br /&gt;
        [http://dev.w3.org/html5/spec/Overview.html#the-object-element 4.8.5 The object element]&lt;br /&gt;
        The object element can represent an external resource, which, depending on&lt;br /&gt;
        the type of the resource, will either be treated as an image, as a nested&lt;br /&gt;
        browsing context, or as an external resource to be processed by a plugin.&lt;br /&gt;
&lt;br /&gt;
        [http://dev.w3.org/html5/spec/Overview.html#the-param-element 4.8.6 The param element]&lt;br /&gt;
        The param element defines parameters for plugins invoked by object elements.&lt;br /&gt;
&lt;br /&gt;
=Technical Tasks=&lt;br /&gt;
&lt;br /&gt;
We are working on the following tasks.&lt;br /&gt;
* Ensure that all HTML5 questions and issues relative to X3D are properly considered and answered.&lt;br /&gt;
* Document how native X3D in .xml encoding can be best be embedded inside an HTML5 document, typically in a namespace-aware fashion&lt;br /&gt;
* Demonstrate X3D+HTML5 examples on the [http://www.web3D.org Web3D Consortium] website&lt;br /&gt;
* Examine how X3D pertains to related HTML5 tags (such as object and canvas) that are used for plugin-type content&lt;br /&gt;
* Track MIME type issues&lt;br /&gt;
* Examine overall interoperability issues:  combined X3D and HTML content with one floating over the other&lt;br /&gt;
** X3D scene with transparent background floating over HTML document or desktop&lt;br /&gt;
** HTML text overlay laid out over an X3D scene as help&lt;br /&gt;
* Identify API issues of mutual interest (such as DOM, Ajax and XHR) for further developmental work&lt;br /&gt;
* Consider direct integration of Scalable Vector Graphics (SVG) images as a supported format for X3D ImageTexture node&lt;br /&gt;
&lt;br /&gt;
=Work Support=&lt;br /&gt;
&lt;br /&gt;
* Maintain this X3D and HTML5 wiki page to track issues and progress&lt;br /&gt;
* Identify people in HTML5 working group who want to collaborate with us on these issues&lt;br /&gt;
* Report on efforts regularly to [mailto:x3d-public@web3d.org x3d-public@web3d.org mailing list] (with [http://www.web3d.org/pipermail/x3d-public_web3d.org mail archive]) and in our every-Tuesday (8 pacific, 1700 Germany) X3D working group teleconferences&lt;br /&gt;
* Discussions to occur on the [mailto:x3d-public@web3d.org x3d-public@web3d.org mailing list] and [mailto:public-html@w3.org public-html@w3.org mailing list]&lt;br /&gt;
* Other tasks and efforts as needed&lt;br /&gt;
&lt;br /&gt;
=Participation=&lt;br /&gt;
&lt;br /&gt;
Relevant HTML5 and W3C information:&lt;br /&gt;
* [http://www.w3.org/html/wg HTML Working Group] especially [http://www.w3.org/html/wg/#who Membership and Participation]&lt;br /&gt;
* [http://www.w3.org World Wide Web Consortium (W3C)]&lt;br /&gt;
* [http://www.w3.org/Consortium/Process W3C Process Document]&lt;br /&gt;
&lt;br /&gt;
The following individuals have volunteered to serve as X3D Working Group representatives in the HTML5 Working Group.&lt;br /&gt;
* Johannes Behr, [http://instantreality.org Instant Reality], Fraunhofer Research, Darmstadt Germany&lt;br /&gt;
* [http://web.nps.navy.mil/~brutzman Don Brutzman], Naval Postgraduate School (Web3D-W3C liaison and W3C Advisory Committee representative), Monterey California USA&lt;br /&gt;
* John Stewart, [http://www.crc.ca/FreeWRL FreeWrl], Communications Research Center (CRC) Canada&lt;br /&gt;
* Joe Williams, [http://hypermultimedia.com HyperMultiMedia], Santa Rosa California USA&lt;br /&gt;
&lt;br /&gt;
Any other [http://www.web3D.org Web3D Consortium] members who are interested in serving as one of our X3D Working Group representatives is asked to review the HTML working group membership materials, notify the X3D working group that you are interested, and describe what your goals will be.&lt;br /&gt;
&lt;br /&gt;
=Meetings=&lt;br /&gt;
&lt;br /&gt;
Our weekly X3D and HTML5 teleconference is usually 0800-0900 (pacific time) each Tuesday.&lt;br /&gt;
&lt;br /&gt;
Designated members can participate Web3D HTML5 teleconference call.&lt;br /&gt;
&lt;br /&gt;
Minutes are saved on the X3D server, and are now distributed on the X3D-Public mailing list:&lt;br /&gt;
&lt;br /&gt;
2009: [http://www.web3d.org/pipermail/x3d-public_web3d.org/2009-October/000385.html 18 Aug 2009]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2009-October/000377.html 1 Oct 2009]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2009-October/000409.html 20 Oct 2009]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2009-October/000417.html 27 Oct 2009]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2009-November/000479.html 17 Nov 2009]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2009-December/000505.html 24 Nov 2009]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2009-December/000504.html 1 Dec 2009]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2010-January/000581.html 29 Dec 2009]&lt;br /&gt;
&lt;br /&gt;
2010: [http://www.web3d.org/pipermail/x3d-public_web3d.org/2010-January/000600.html 5 Jan 2010]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2010-January/000615.html 19 Jan 2010]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2010-January/000620.html 26 Jan 2010]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2010-February/000645.html 02 Feb 2010]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2010-February/000651.html 09 Feb 2010]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2010-February/000682.html 16 Feb 2010]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2010-February/000691.html 23 Feb 2010]&lt;br /&gt;
(TODO insert missing links)&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2010-August/000970.html 3 Aug 2010]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2010-August/001036.html 24 Aug 2010]&lt;br /&gt;
[http://www.web3d.org/pipermail/x3d-public_web3d.org/2010-September/001068.html 14 Sep 2010]&lt;br /&gt;
&lt;br /&gt;
=Annotated References=&lt;br /&gt;
&amp;lt;!-- TODO descriptive sentences --&amp;gt;&lt;br /&gt;
X3D and HTML4&lt;br /&gt;
* [http://www.web3d.org/x3d/content/examples/HtmlObjectTagForX3d.html HTML Object Tag for X3D] shows how to place X3D objects within an HTML page&lt;br /&gt;
* [http://www.web3d.org/x3d/content/examples/newHtmlPageWithX3dObject.html newHtmlPageWithX3dObject.html] is an example HTML scene with X3D object tag to copy, edit and reuse.&lt;br /&gt;
* [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/X3D.html X3D Abstract Specification]&lt;br /&gt;
* [http://www.web3d.org/x3d/specifications/ISO-IEC-FCD-19775-2.2-X3D-SceneAccessInterface/Part02/X3D_SAI.html X3D Scene Access Interface (SAI)] Edition 2&lt;br /&gt;
** [http://www.web3d.org/x3d/specifications/ISO-IEC-FCD-19775-2.2-X3D-SceneAccessInterface/Part02/servRef.html#importDocument 6.3.13 importDocument] service is a utility request to import a W3C DOM document or document fragment and convert it to an X3D scene.&lt;br /&gt;
&lt;br /&gt;
HTML4 and XHTML&lt;br /&gt;
* [http://www.w3.org/TR/html4 HTML 4.01] HyperText Markup Language (HTML)&lt;br /&gt;
* [http://www.w3.org/TR/xhtml1/ XHTML] Extensible HyperText Markup Language (XHTML)&lt;br /&gt;
&lt;br /&gt;
HTML5&lt;br /&gt;
* [http://www.w3.org/TR/html-design-principles HTML Design Principles]&lt;br /&gt;
* [http://dev.w3.org/html5/spec/Overview.html#embedded-content-0 4.8 Embedded content] &lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#the-figure-element 4.8.1 The figure element] represents some flow content, optionally with a caption, which can be moved away from the main flow of the document without affecting the document's meaning.&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#the-img-element 4.8.2 The img element] represents an image.&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#the-iframe-element 4.8.3 The iframe element] represents a nested browsing context.&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#the-embed-element 4.8.4 The embed element] represents an integration point for an external (typically non-HTML) application or interactive content. (See HTML issue [http://www.w3.org/Bugs/Public/show_bug.cgi?id=7075 embed element should be deprecated])&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#the-object-element 4.8.5 The object element] can represent an external resource, which, depending on the type of the resource, will either be treated as an image, as a nested browsing context, or as an external resource to be processed by a plugin.&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#the-param-element 4.8.6 The param element] defines parameters for plugins invoked by object elements. It does not represent anything on its own.&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#video 4.8.7 The video element] represents a video or movie.&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#audio 4.8.8 The audio element] is a media element whose media data is ostensibly audio data.&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#source 4.8.9 The source element] allows authors to specify multiple media resources for media elements. It does not represent anything on its own.&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#media-elements 4.8.10 Media elements] are used to present audio data, or video and audio data, to the user. &lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#the-canvas-element 4.8.11 The canvas element] represents a resolution-dependent bitmap canvas, which can be used for rendering graphs, game graphics, or other visual images on the fly.&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#the-map-element 4.8.12 The map element], in conjunction with any area element descendants, defines an image map. The element represents its children.&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#the-area-element 4.8.13 The area element] represents either a hyperlink with some text and a corresponding area on an image map, or a dead area on an image map.&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#the-image-element 4.8.14 Image maps] allows geometric areas on an image to be associated with hyperlinks.&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#mathml 4.8.15 MathML] from the [http://dev.w3.org/html5/spec/Overview.html#mathml-namespace MathML namespace] falls into the embedded content  category for the purposes of the content models in this specification.&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#svg 4.8.16 SVG] from the [http://dev.w3.org/html5/spec/Overview.html#svg-namespace SVG namespace] falls into the embedded content category for the purposes of the content models in this specification.&lt;br /&gt;
** [http://dev.w3.org/html5/spec/Overview.html#dimension-attributes 4.8.17 Dimension attributes]&lt;br /&gt;
&lt;br /&gt;
Canvas for 2D and 3D&lt;br /&gt;
* [http://dev.w3.org/html5/canvas-api/canvas-2d-api.html Canvas 2D API 1.0 Specification] W3C Editor's Draft highlights SVG goals and approach&lt;br /&gt;
* [http://www.khronos.org/news/press/releases/khronos-webgl-initiative-hardware-accelerated-3d-graphics-internet Khronos Canvas3D] press release from SIGGRAPH 2009 about working group efforts for Javascript bindings to OpenGL ES&lt;br /&gt;
* [https://wiki.mozilla.org/Canvas:3D Mozilla Canvas:3D] proposal&lt;br /&gt;
* [http://blog.vlad1.com/canvas-3d Firefox Canvas3D] is a prominent possible approach&lt;br /&gt;
* [http://blogoscoped.com/archive/2009-03-26-n50.html Canvas 3D Rendering Demo] appears to show another way to do things&lt;br /&gt;
* [http://java.sun.com/javase/technologies/desktop/java3d/forDevelopers/J3D_1_2_API/j3dapi/javax/media/j3d/Canvas3D.html Java3D Canvas3D] is an established API, though not directly related to HTML&lt;br /&gt;
&lt;br /&gt;
Distributed Extensibility&lt;br /&gt;
* [http://intertwingly.net/blog/2009/11/05/Web3D Sam Ruby's blog] discusses HTML5 Distributed Extensibility and X3D&lt;br /&gt;
&lt;br /&gt;
=X3D and HTML5 Examples=&lt;br /&gt;
&lt;br /&gt;
The&lt;br /&gt;
[[X3D and HTML5 examples]] page shows a set of examples ranging from simple to sophisticated.&lt;br /&gt;
&lt;br /&gt;
=Proposals=&lt;br /&gt;
&lt;br /&gt;
We have discussed Johannes' message of 25 March 2009 + responses (Subject:  Re: Khronos Press Releases etc.) that included an X3DOM-connector.pdf diagram regarding how X3D might work with DOM, HTML etc.  Also discussed the thread on Khronos' presumed upcoming work on Canvas3D element, and past work on Ajax3D.&lt;br /&gt;
&lt;br /&gt;
These and other API topics are all technically related, and of interest, but have varying degrees of maturity.&lt;br /&gt;
&lt;br /&gt;
The primary objective of the current effort is to support X3D and HTML5.  Further work on DOM and other APIs is likely to evolve and spin off from this central effort.&lt;br /&gt;
&lt;br /&gt;
==X3DOM proposal==&lt;br /&gt;
&lt;br /&gt;
===Basics===&lt;br /&gt;
&lt;br /&gt;
The object element represents external resources like pdf-documents, movies or x3d-worlds. This plugin model works nicely for isolated content and applications which are unrelated to the surrounding xhtml-document. If the web-application developer would like to access and manipulate the object content he or she has to deal with object or plugin specific interfaces. e.g. X3D browser should provide a Scene Access Interface (SAI). &lt;br /&gt;
&lt;br /&gt;
The X3DOM model tries to ease the development of applications by not providing a special interface but following and respecting some basic xhtml rules:&lt;br /&gt;
&lt;br /&gt;
1) Declarative XML content is part of the DOM tree; Embedded with a separate xml namespace&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
        &amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;x3d:x3d xmlns:x3d=&amp;quot;http://www.web3d.org/specifications/x3d-3.0.xsd&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;x3d:Scene&amp;gt;&lt;br /&gt;
                &amp;lt;x3d:Shape&amp;gt;&amp;lt;x3d:Box x3d:size=&amp;quot;4 4 4&amp;quot; /&amp;gt;&amp;lt;/x3d:Shape&amp;gt;&lt;br /&gt;
            &amp;lt;/x3d:Scene&amp;gt;                &lt;br /&gt;
          &amp;lt;/x3d:x3d&amp;gt;&lt;br /&gt;
        &amp;lt;/body&amp;gt;&lt;br /&gt;
        &amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) The DOM elements can be used to read and manipulate the content&lt;br /&gt;
&lt;br /&gt;
         &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
         &amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot;,&amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;x3d xmlns=&lt;br /&gt;
              &amp;quot;http://www.web3d.org/specifications/x3d-3.0.xsd&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;Scene&amp;gt;&lt;br /&gt;
                 &amp;lt;Shape&amp;gt;&amp;lt;Box size=&amp;quot;4 4 4&amp;quot; /&amp;gt;&amp;lt;/Shape&amp;gt;&lt;br /&gt;
             &amp;lt;/Scene&amp;gt;                &lt;br /&gt;
           &amp;lt;/x3d&amp;gt;&lt;br /&gt;
           &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;       &lt;br /&gt;
          // The namespace URIs&lt;br /&gt;
           var xhtml_ns = &amp;quot;http://www.w3.org/1999/xhtml&amp;quot;;&lt;br /&gt;
           var x3d_ns =&lt;br /&gt;
              &amp;quot;http://www.web3d.org/specifications/x3d-3.0.xsd&amp;quot;;&lt;br /&gt;
          // Get elements using namespaces&lt;br /&gt;
           var h1 = &lt;br /&gt;
               document.getElementsByTagNameNS(xhtml_ns, &amp;quot;h1&amp;quot;);            &lt;br /&gt;
           var box = &lt;br /&gt;
               document.getElementsByTagNameNS(x3d_ns, &amp;quot;Box&amp;quot;)[0];&lt;br /&gt;
          // Edit an attribute of the &amp;lt;Box /&amp;gt; element&lt;br /&gt;
           alert(box.getAttributeNS(null, &amp;quot;size&amp;quot;));&lt;br /&gt;
           box.setAttributeNS(null, &amp;quot;size&amp;quot;, &amp;quot;2 2 2&amp;quot;);    &lt;br /&gt;
           alert(box.getAttributeNS(null, &amp;quot;size&amp;quot;));&lt;br /&gt;
           &amp;lt;/script&amp;gt;&lt;br /&gt;
           &amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Events can be used to interact with the content&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
            &amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot;, &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;body&amp;gt;&lt;br /&gt;
               &amp;lt;x3d xmlns=&lt;br /&gt;
                   &amp;quot;http://www.web3d.org/specifications/x3d-3.0.xsd&amp;quot;&amp;gt;&lt;br /&gt;
                   &amp;lt;Scene&amp;gt;&lt;br /&gt;
                       &amp;lt;Transform&amp;gt;&lt;br /&gt;
                           &amp;lt;Shape&amp;gt;&amp;lt;Box size=&amp;quot;4 4 4&amp;quot; /&amp;gt;&lt;br /&gt;
                           &amp;lt;/Shape&amp;gt;&lt;br /&gt;
                           &amp;lt;TouchSensor id=&amp;quot;ts&amp;quot; DEF=&amp;quot;ts&amp;quot; /&amp;gt;&lt;br /&gt;
                       &amp;lt;/Transform&amp;gt;&lt;br /&gt;
                   &amp;lt;/Scene&amp;gt;                &lt;br /&gt;
               &amp;lt;/x3d&amp;gt;&lt;br /&gt;
               &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;                    &lt;br /&gt;
               // The namespace URIs&lt;br /&gt;
               var xhtml_ns = &amp;quot;http://www.w3.org/1999/xhtml&amp;quot;;&lt;br /&gt;
                var x3d_ns = &amp;quot;http://www.web3d.org/specifications/x3d-3.0.xsd&amp;quot;;&lt;br /&gt;
               // Get elements using namespaces&lt;br /&gt;
                var h1 =  document.getElementsByTagNameNS(xhtml_ns, &amp;quot;h1&amp;quot;);     &lt;br /&gt;
               var x3d = document.getElementsByTagNameNS(x3d_ns, &amp;quot;x3d&amp;quot;)[0];        &lt;br /&gt;
               var ts = x3d.getElementsByTagName(&amp;quot;TouchSensor&amp;quot;)[0];&lt;br /&gt;
               alert(&amp;quot;ts=&amp;quot; + ts);&lt;br /&gt;
               ts.addEventListener(&amp;quot;touchTime&amp;quot;, function() {&lt;br /&gt;
                   alert(&amp;quot;clicked&amp;quot;);&lt;br /&gt;
               }, false);&lt;br /&gt;
               &amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;/body&amp;gt;&lt;br /&gt;
            &amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) The position of the content in the document defines the position of the visible elements&lt;br /&gt;
&lt;br /&gt;
            The X3D element should also define the position where the content will be integrated into the html page. &lt;br /&gt;
            Simular how e.g. SVG or canvas works. A decoupled mechanisms will confuse application developer&lt;br /&gt;
&lt;br /&gt;
===Implementation===&lt;br /&gt;
&lt;br /&gt;
The X3DOM model should be implemented as native browser feature, simular to SVG, in the future. Current test-implementation utilize the object/SAI model internally. In addition test-versions based on the Canvas3D layer exist. Both need a browser-extension right now to synchronize and update the DOM changes&lt;br /&gt;
&lt;br /&gt;
===Further Information===&lt;br /&gt;
Fallback model (how an HTML browser can choose an X3D implementation) is available here:&lt;br /&gt;
[http://freewrl.sourceforge.net/x3dom-fallback-model.pdf x3dom-fallback-model.pdf]&lt;br /&gt;
&lt;br /&gt;
More information can be found in the X3DOM paper at the Web3D 2009 symposium. The [[{{ns:-2}}:X3dom-web3d2009-slides.zip|slides]] and [[{{ns:-2}}:X3dom-web3d2009-paper.pdf|paper]] are available as preprint.&lt;br /&gt;
&lt;br /&gt;
==X3D Mobile+HTML5 Profile proposal==&lt;br /&gt;
&lt;br /&gt;
Here is the [http://www.web3d.org/x3d/wiki/index.php/Image:X3dProfilePossibilitiesMobileHtml5AR.2010June29.pdf X3D Mobile+HTML5 Profile slideset] presented to ISO June 2010 and to the SIGGRAPH HTML5 BOF July 2010 that outlines how a common profile is achievable for both HTML5 and Mobile applications.  This would give Web authors a consistent and portable palette for X3D-enabled HTML5 content.&lt;br /&gt;
&lt;br /&gt;
==X3D and Augmented Reality==&lt;br /&gt;
Coming soon&lt;br /&gt;
&lt;br /&gt;
=Future work=&lt;br /&gt;
Some topics might become relevant once HTML5 is established as a formal W3C Recommendation. These are not part of our current planned work.&lt;br /&gt;
&lt;br /&gt;
* Publishing [http://www.web3d.org/x3d/specifications X3D Specifications] in HTML5&lt;br /&gt;
* Other topics as needed&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_JSON_Encoding&amp;diff=9820</id>
		<title>X3D JSON Encoding</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_JSON_Encoding&amp;diff=9820"/>
				<updated>2023-02-01T07:24:39Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are X3D Working Group notes on the creation of an X3D JSON encoding and corresponding conversion processes.&lt;br /&gt;
&lt;br /&gt;
Overall status: encoding is essentially complete, as demonstrated by&lt;br /&gt;
[http://www.web3d.org/x3d/stylesheets/X3dToJson.html X3D to JSON Stylesheet Converter]. &lt;br /&gt;
&lt;br /&gt;
Further work awaits completed formalization of&lt;br /&gt;
[https://json-schema.org JSON Schema specifications].  Current assets include preliminary interoperability implementations at&lt;br /&gt;
[http://www.web3d.org/specifications/x3d-3.3-JSONSchema.json JSON schema] &lt;br /&gt;
([http://www.web3d.org/specifications/X3dJsonSchemaDocumentation3.3/x3d-3.3-JSONSchema.html documentation]), &lt;br /&gt;
[https://github.com/coderextreme/X3DJSONLD X3DJSONLD JavaScript conversion library] and&lt;br /&gt;
[https://github.com/Web3dConsortium draft X3D JSON specification].&lt;br /&gt;
&lt;br /&gt;
== Design Requirements, Goals and Use Cases ==&lt;br /&gt;
&lt;br /&gt;
Design requirement:&lt;br /&gt;
* Round-trippable encoding supporting X3D abstract specification&lt;br /&gt;
&lt;br /&gt;
Design goals and primary use cases:&lt;br /&gt;
* Exchange format for a variety of 3D geometry and scene graphs&lt;br /&gt;
* Loader for various JavaScript-controlled renderers&lt;br /&gt;
* Manipulate a scene graph using JavaScript&lt;br /&gt;
&lt;br /&gt;
Design considerations: are there any special use cases for having X3D JSON available in JavaScript?&lt;br /&gt;
* Are there any use cases that might modify how X3D is represented in JSON?  Yes.&lt;br /&gt;
* If so, it would be good to spell them out and understand them well... Accomplished.&lt;br /&gt;
* We want conversion rules to permit implementations that can achieve user goals... Optimization efforts successful.&lt;br /&gt;
&lt;br /&gt;
Observation: the more that this work has progressed, the more the JSON output resembles VRML/ClassicVrml structure with slight differences in syntax. This approach has a valuable extra benefit in that results are broadly understandable by many object-oriented programmers.&lt;br /&gt;
&lt;br /&gt;
== Initial implementations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.web3d.org/x3d/stylesheets/X3dToJson.html X3D to JSON Stylesheet Converter], an experimental effort to help create a JSON encoding for X3D Graphics.&lt;br /&gt;
* JSON translations for all of the 3900+ scenes in [http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples X3D Example Archives] have been deployed.&lt;br /&gt;
** Production build scripts autoconvert .x3d to .json, test with [http://www.jslint.com JSLint] validation, and publish JSON results&lt;br /&gt;
** In version control at [https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/X3dToJson.xslt sourceforge]&lt;br /&gt;
* Conversion support included in [https://savage.nps.edu/X3D-Edit/ X3D-Edit] for testing of new examples by authors&lt;br /&gt;
* Conversion syntax discussions continue on [http://www.web3d.org/community/public-mailing-lists x3d-public mail list] and [http://web3d.org/pipermail/x3d-public_web3d.org/2014-October/002981.html x3dom-developers mail list] (with [http://www.x3dom.org/x3dom/test/functional/flipper.html &amp;quot;dump scene as json&amp;quot; test] by Dr. Yvonne Jung)&lt;br /&gt;
&lt;br /&gt;
Related work in progress: X3D JSON loader to test round-trippability works satisfactorily&lt;br /&gt;
&lt;br /&gt;
This X3D JSON Encoding page is periodically refreshed based on implementation/evaluation results.&lt;br /&gt;
&lt;br /&gt;
== Conversion Considerations ==&lt;br /&gt;
&lt;br /&gt;
Primary design criterion: round-trippable lossless representation of X3D scene.&lt;br /&gt;
&lt;br /&gt;
Conversion approach of greatest practical interest: XML to/from JSON. Issues:&lt;br /&gt;
&lt;br /&gt;
# How to convert attribute names to distinguish them from child elements. Resolution: &amp;quot;@attributeName&amp;quot;.&lt;br /&gt;
# JSON handling of container elements to preserve parent/child relationships, distinguishing child elements from attributes Resolution: use SFNode/MFNode field names as unique keys.&lt;br /&gt;
# Creation of JSON elements with datatypes appropriate to content (e.g., integer, float, strings, etc.). Note special JSON rules for floats (not equivalent to IEEE floats).&lt;br /&gt;
# Both X3D and JavaScript can include comments, although JSON does not.  Need an option for inclusion (by default) or removal (optional) of comments in order to ensure 100% round-trip conversion capabilities. &lt;br /&gt;
# jslint-validatable field/fieldValue representations within Scripts and prototypes &lt;br /&gt;
# Support for singleton (self-closing) XML tags also needs to be considered, without loss of generality.&lt;br /&gt;
# Inclusion and preservation of embedded XML namespace information in an XML (.x3d) document: might not be necessary or possible.&lt;br /&gt;
&lt;br /&gt;
The&lt;br /&gt;
[http://www.web3d.org/x3d/stylesheets/X3dToJson.html X3D to JSON Stylesheet Converter]&lt;br /&gt;
considers these and other interoperability issues in great detail.&lt;br /&gt;
&lt;br /&gt;
== Standardization ==&lt;br /&gt;
&lt;br /&gt;
Probably smartest to first start out defining an X3D best practice.&lt;br /&gt;
&lt;br /&gt;
This capability likely needs to be defined as one of the [http://www.web3d.org/standards X3D standards] as shown in the [http://www.web3d.org/specifications/X3dSpecificationRelationships.png X3D Specification Relationships] diagram.&lt;br /&gt;
&lt;br /&gt;
The most probable place to put it is as a new Part 5 to ISO/IEC 19776. In this manner, it would correspond to the XML, Classic VRML, and Compressed Binary encodings.&lt;br /&gt;
&lt;br /&gt;
== Discussion points ==&lt;br /&gt;
&lt;br /&gt;
Here are suggested discussion points for X3D teleconferences and future followups.&lt;br /&gt;
&lt;br /&gt;
# Is there a good/consistent way for X3DOM, Cobweb or other tools to utilize such capabilities?&lt;br /&gt;
# Is there a way for [http://threejs.org Three.js] X3D loader, [http://d3js.org D3.js] X3D loader, or other javascript libraries, to utilize such capabilities?&lt;br /&gt;
# Is there a single authoritative reference for JSON itself? and for JSON-XML conversions? See [6] for the JSON Data Interchange Format, need to confirm no others.&lt;br /&gt;
# What is the right file extension? .json is distinguishable from .js used in plain Javascript in Script code; .x3dj distinguishes X3D JSON&lt;br /&gt;
## [https://tools.ietf.org/html/rfc7159 IETF] (referencing ECMA) states that &amp;lt;code&amp;gt;.json&amp;lt;/code&amp;gt; is the standard extension&lt;br /&gt;
## Internet MIME-type is &amp;lt;code&amp;gt;application/json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Can a file reader distinguish the incoming encodings (.x3d .x3dv .x3db .x3de .json/.x3dj) independent of file extension or MIME media type?&lt;br /&gt;
# Compare compression size and decompression speed of a TestMesh.x3d.json.gz to TestMesh.x3db and TestMesh.x3d.exi (EXI will likely win because it includes data typing)&lt;br /&gt;
# Show .dot notation in JavaScript code accessing elements and attributes, see if it is sensible&lt;br /&gt;
&lt;br /&gt;
Lots of progress continues.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* Roy Walmsley, Don Brutzman and John Carlson, &amp;quot;[http://www.web3d.org/specifications/java/references/BrutzmanWalmsleyCarlsonJsonEncodingForX3dJuly2016.pdf A JSON Encoding for X3D]&amp;quot;, [http://web3d2016.web3d.org Web3D 2016 Conference], Anaheim California, 22-24 July 2016. (also [https://dl.acm.org/citation.cfm?id=2945304&amp;amp;dl=ACM&amp;amp;coll=DL ACM Digital Library])&lt;br /&gt;
* [http://www.jslint.com JSLint] validation&lt;br /&gt;
* X3D JSON loader, https://github.com/coderextreme/X3DJSONLD&lt;br /&gt;
* X3D to JSON Stylesheet Converter, http://www.web3d.org/x3d/stylesheets/X3dToJson.html&lt;br /&gt;
* XML to JSON Converter (provides option to assign a prefix to JSON attributes, default is @ character) http://www.freeformatter.com/xml-to-json-converter.html&lt;br /&gt;
* Apache Camel, XML JSON Data Format (camel-xmljson) [http://camel.apache.org/xmljson.html&lt;br /&gt;
* JavaScript Object Notation (JSON) Definition http://json.org&lt;br /&gt;
* ECMA 404: JSON Data Interchange Format (Final Draft) http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf&lt;br /&gt;
* JSON Markup Language (JsonML) http://www.jsonml.org&lt;br /&gt;
* XSLTJSON: Transforming XML to JSON using XSLT http://www.bramstein.com/projects/xsltjson&lt;br /&gt;
* Converting Between XML and JSON http://www.xml.com/pub/a/2006/05/31/converting-between-xml-and-json.html&lt;br /&gt;
* XML/JSON Perl Converter http://search.cpan.org/~ken/XML-XML2JSON-0.06/lib/XML/XML2JSON.pm&lt;br /&gt;
* IBM's PHP converter http://www.ibm.com/developerworks/library/x-xml2jsonphp&lt;br /&gt;
* Java Converter http://www.json.org/javadoc/org/json/XML.html&lt;br /&gt;
* Google Code Library https://code.google.com/p/x2js&lt;br /&gt;
&lt;br /&gt;
'''Mailing list discussions'''&lt;br /&gt;
* Initial message [http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/002854.html]&lt;br /&gt;
* July's thread listing [http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html]&lt;br /&gt;
* Ongoing on [http://www.web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list], occasionally on [http://www.x3dom.org/?page_id=3 x3dom mailing list]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_JSON_Encoding&amp;diff=9819</id>
		<title>X3D JSON Encoding</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_JSON_Encoding&amp;diff=9819"/>
				<updated>2023-02-01T07:22:51Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: sort, clarify top links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are X3D Working Group notes on the creation of an X3D JSON encoding and corresponding conversion processes.&lt;br /&gt;
&lt;br /&gt;
Overall status: encoding is essentially complete, as demonstrated by&lt;br /&gt;
[http://www.web3d.org/x3d/stylesheets/X3dToJson.html X3D to JSON Stylesheet Converter]. &lt;br /&gt;
&lt;br /&gt;
Further work awaits formalization of&lt;br /&gt;
[https://json-schema.org/](JSON Schema) and have preliminary interoperability implementations at&lt;br /&gt;
[http://www.web3d.org/specifications/x3d-3.3-JSONSchema.json JSON schema] &lt;br /&gt;
([http://www.web3d.org/specifications/X3dJsonSchemaDocumentation3.3/x3d-3.3-JSONSchema.html documentation]), &lt;br /&gt;
[https://github.com/coderextreme/X3DJSONLD X3DJSONLD JavaScript conversion library] and&lt;br /&gt;
[https://github.com/Web3dConsortium draft X3D JSON specification].&lt;br /&gt;
&lt;br /&gt;
== Design Requirements, Goals and Use Cases ==&lt;br /&gt;
&lt;br /&gt;
Design requirement:&lt;br /&gt;
* Round-trippable encoding supporting X3D abstract specification&lt;br /&gt;
&lt;br /&gt;
Design goals and primary use cases:&lt;br /&gt;
* Exchange format for a variety of 3D geometry and scene graphs&lt;br /&gt;
* Loader for various JavaScript-controlled renderers&lt;br /&gt;
* Manipulate a scene graph using JavaScript&lt;br /&gt;
&lt;br /&gt;
Design considerations: are there any special use cases for having X3D JSON available in JavaScript?&lt;br /&gt;
* Are there any use cases that might modify how X3D is represented in JSON?  Yes.&lt;br /&gt;
* If so, it would be good to spell them out and understand them well... Accomplished.&lt;br /&gt;
* We want conversion rules to permit implementations that can achieve user goals... Optimization efforts successful.&lt;br /&gt;
&lt;br /&gt;
Observation: the more that this work has progressed, the more the JSON output resembles VRML/ClassicVrml structure with slight differences in syntax. This approach has a valuable extra benefit in that results are broadly understandable by many object-oriented programmers.&lt;br /&gt;
&lt;br /&gt;
== Initial implementations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.web3d.org/x3d/stylesheets/X3dToJson.html X3D to JSON Stylesheet Converter], an experimental effort to help create a JSON encoding for X3D Graphics.&lt;br /&gt;
* JSON translations for all of the 3900+ scenes in [http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples X3D Example Archives] have been deployed.&lt;br /&gt;
** Production build scripts autoconvert .x3d to .json, test with [http://www.jslint.com JSLint] validation, and publish JSON results&lt;br /&gt;
** In version control at [https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/X3dToJson.xslt sourceforge]&lt;br /&gt;
* Conversion support included in [https://savage.nps.edu/X3D-Edit/ X3D-Edit] for testing of new examples by authors&lt;br /&gt;
* Conversion syntax discussions continue on [http://www.web3d.org/community/public-mailing-lists x3d-public mail list] and [http://web3d.org/pipermail/x3d-public_web3d.org/2014-October/002981.html x3dom-developers mail list] (with [http://www.x3dom.org/x3dom/test/functional/flipper.html &amp;quot;dump scene as json&amp;quot; test] by Dr. Yvonne Jung)&lt;br /&gt;
&lt;br /&gt;
Related work in progress: X3D JSON loader to test round-trippability works satisfactorily&lt;br /&gt;
&lt;br /&gt;
This X3D JSON Encoding page is periodically refreshed based on implementation/evaluation results.&lt;br /&gt;
&lt;br /&gt;
== Conversion Considerations ==&lt;br /&gt;
&lt;br /&gt;
Primary design criterion: round-trippable lossless representation of X3D scene.&lt;br /&gt;
&lt;br /&gt;
Conversion approach of greatest practical interest: XML to/from JSON. Issues:&lt;br /&gt;
&lt;br /&gt;
# How to convert attribute names to distinguish them from child elements. Resolution: &amp;quot;@attributeName&amp;quot;.&lt;br /&gt;
# JSON handling of container elements to preserve parent/child relationships, distinguishing child elements from attributes Resolution: use SFNode/MFNode field names as unique keys.&lt;br /&gt;
# Creation of JSON elements with datatypes appropriate to content (e.g., integer, float, strings, etc.). Note special JSON rules for floats (not equivalent to IEEE floats).&lt;br /&gt;
# Both X3D and JavaScript can include comments, although JSON does not.  Need an option for inclusion (by default) or removal (optional) of comments in order to ensure 100% round-trip conversion capabilities. &lt;br /&gt;
# jslint-validatable field/fieldValue representations within Scripts and prototypes &lt;br /&gt;
# Support for singleton (self-closing) XML tags also needs to be considered, without loss of generality.&lt;br /&gt;
# Inclusion and preservation of embedded XML namespace information in an XML (.x3d) document: might not be necessary or possible.&lt;br /&gt;
&lt;br /&gt;
The&lt;br /&gt;
[http://www.web3d.org/x3d/stylesheets/X3dToJson.html X3D to JSON Stylesheet Converter]&lt;br /&gt;
considers these and other interoperability issues in great detail.&lt;br /&gt;
&lt;br /&gt;
== Standardization ==&lt;br /&gt;
&lt;br /&gt;
Probably smartest to first start out defining an X3D best practice.&lt;br /&gt;
&lt;br /&gt;
This capability likely needs to be defined as one of the [http://www.web3d.org/standards X3D standards] as shown in the [http://www.web3d.org/specifications/X3dSpecificationRelationships.png X3D Specification Relationships] diagram.&lt;br /&gt;
&lt;br /&gt;
The most probable place to put it is as a new Part 5 to ISO/IEC 19776. In this manner, it would correspond to the XML, Classic VRML, and Compressed Binary encodings.&lt;br /&gt;
&lt;br /&gt;
== Discussion points ==&lt;br /&gt;
&lt;br /&gt;
Here are suggested discussion points for X3D teleconferences and future followups.&lt;br /&gt;
&lt;br /&gt;
# Is there a good/consistent way for X3DOM, Cobweb or other tools to utilize such capabilities?&lt;br /&gt;
# Is there a way for [http://threejs.org Three.js] X3D loader, [http://d3js.org D3.js] X3D loader, or other javascript libraries, to utilize such capabilities?&lt;br /&gt;
# Is there a single authoritative reference for JSON itself? and for JSON-XML conversions? See [6] for the JSON Data Interchange Format, need to confirm no others.&lt;br /&gt;
# What is the right file extension? .json is distinguishable from .js used in plain Javascript in Script code; .x3dj distinguishes X3D JSON&lt;br /&gt;
## [https://tools.ietf.org/html/rfc7159 IETF] (referencing ECMA) states that &amp;lt;code&amp;gt;.json&amp;lt;/code&amp;gt; is the standard extension&lt;br /&gt;
## Internet MIME-type is &amp;lt;code&amp;gt;application/json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Can a file reader distinguish the incoming encodings (.x3d .x3dv .x3db .x3de .json/.x3dj) independent of file extension or MIME media type?&lt;br /&gt;
# Compare compression size and decompression speed of a TestMesh.x3d.json.gz to TestMesh.x3db and TestMesh.x3d.exi (EXI will likely win because it includes data typing)&lt;br /&gt;
# Show .dot notation in JavaScript code accessing elements and attributes, see if it is sensible&lt;br /&gt;
&lt;br /&gt;
Lots of progress continues.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* Roy Walmsley, Don Brutzman and John Carlson, &amp;quot;[http://www.web3d.org/specifications/java/references/BrutzmanWalmsleyCarlsonJsonEncodingForX3dJuly2016.pdf A JSON Encoding for X3D]&amp;quot;, [http://web3d2016.web3d.org Web3D 2016 Conference], Anaheim California, 22-24 July 2016. (also [https://dl.acm.org/citation.cfm?id=2945304&amp;amp;dl=ACM&amp;amp;coll=DL ACM Digital Library])&lt;br /&gt;
* [http://www.jslint.com JSLint] validation&lt;br /&gt;
* X3D JSON loader, https://github.com/coderextreme/X3DJSONLD&lt;br /&gt;
* X3D to JSON Stylesheet Converter, http://www.web3d.org/x3d/stylesheets/X3dToJson.html&lt;br /&gt;
* XML to JSON Converter (provides option to assign a prefix to JSON attributes, default is @ character) http://www.freeformatter.com/xml-to-json-converter.html&lt;br /&gt;
* Apache Camel, XML JSON Data Format (camel-xmljson) [http://camel.apache.org/xmljson.html&lt;br /&gt;
* JavaScript Object Notation (JSON) Definition http://json.org&lt;br /&gt;
* ECMA 404: JSON Data Interchange Format (Final Draft) http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf&lt;br /&gt;
* JSON Markup Language (JsonML) http://www.jsonml.org&lt;br /&gt;
* XSLTJSON: Transforming XML to JSON using XSLT http://www.bramstein.com/projects/xsltjson&lt;br /&gt;
* Converting Between XML and JSON http://www.xml.com/pub/a/2006/05/31/converting-between-xml-and-json.html&lt;br /&gt;
* XML/JSON Perl Converter http://search.cpan.org/~ken/XML-XML2JSON-0.06/lib/XML/XML2JSON.pm&lt;br /&gt;
* IBM's PHP converter http://www.ibm.com/developerworks/library/x-xml2jsonphp&lt;br /&gt;
* Java Converter http://www.json.org/javadoc/org/json/XML.html&lt;br /&gt;
* Google Code Library https://code.google.com/p/x2js&lt;br /&gt;
&lt;br /&gt;
'''Mailing list discussions'''&lt;br /&gt;
* Initial message [http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/002854.html]&lt;br /&gt;
* July's thread listing [http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html]&lt;br /&gt;
* Ongoing on [http://www.web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list], occasionally on [http://www.x3dom.org/?page_id=3 x3dom mailing list]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=Player_support_for_X3D_components&amp;diff=9818</id>
		<title>Player support for X3D components</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=Player_support_for_X3D_components&amp;diff=9818"/>
				<updated>2023-01-22T02:55:03Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: Status, historic, redirect viewer to X3D4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is no longer relevant, maintained here for historical purposes.  Please see ''X3D Node Inventory Comparison'' found at https://www.web3d.org/specifications&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The&lt;br /&gt;
[http://www.web3D.org/x3d Extensible 3D (X3D) Graphics]&lt;br /&gt;
standard has many capabilities.&lt;br /&gt;
[http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/Architecture.html X3D components]&lt;br /&gt;
are modular collections of nodes that make it easier for software to gradually implement the full range of X3D capabilities.&lt;br /&gt;
&lt;br /&gt;
Authors can also indicate what components are needed in an X3D scene in order to ensure that proper support is provided at run time.&lt;br /&gt;
&lt;br /&gt;
This table records support for the official X3D components by each of the various &lt;br /&gt;
[http://x3dgraphics.com/examples/X3dResources.html#Applications X3D players].&lt;br /&gt;
It is maintained by the&lt;br /&gt;
[http://www.web3d.org/x3d/workgroups X3D Working Group]&lt;br /&gt;
and member companies in the&lt;br /&gt;
[http://www.web3d.org Web3D Consortium].&lt;br /&gt;
&lt;br /&gt;
* The [http://www.web3d.org/x3d/content/examples/X3dResources.html X3D Resources] page provides lots of additional information about X3D.&lt;br /&gt;
&amp;lt;!-- Where post bugs and comments? To x3d-public list, individual companies, or where? --&amp;gt;&lt;br /&gt;
* Please [http://www.web3d.org/contact Contact Web3D] if you want to learn more or report an update.&lt;br /&gt;
* The [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx X3D Node Inventory Comparison] ([http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf .pdf]) shows implementation coverage of the X3D Abstract Specification, X3D Schema, X3D DOCTYPE, X3D-Edit, X3DOM, and VRML97 node sets.&lt;br /&gt;
&amp;lt;!-- * TODO: show support by [http://www.x3dom.org X3DOM] in table. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Related pages nearby: [[Tool support for X3D components]], [http://www.web3d.org/x3d/content/examples/X3dResources.html#Applications X3D Resources: Applications], [[X3D Implementations]], [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] &amp;lt;!-- [[Plug-in and browser compliance]],--&amp;gt; and [[X3D Plugfest]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TODO bookmarks? --&amp;gt;&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Table key&amp;lt;/u&amp;gt;&lt;br /&gt;
* '''&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;yes&amp;lt;/span&amp;gt;''' all nodes, all fields supported for all levels of this component (though some bugs may be present)&lt;br /&gt;
* '''partial''' some nodes and fields supported&lt;br /&gt;
* '''level #''' which component level number (1-4) is supported (found at end of each component specification) &lt;br /&gt;
* '''&amp;lt;span style=&amp;quot;color:maroon&amp;quot;&amp;gt;no&amp;lt;/span&amp;gt;''' no support provided&lt;br /&gt;
* '''&amp;lt;span style=&amp;quot;color:grey&amp;quot;&amp;gt;?&amp;lt;/span&amp;gt;''' unknown, need status report&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | Players&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.bitmanagement.de BS Contact family]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://freewrl.sourceforge.io FreeWRL]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.h3dapi.org H3DViewer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://instantreality.org InstantPlayer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.octagavs.com OctagaVS Player]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.openvrml.org OpenVRML]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.pinecoast.com/swview.php SwirlX3D]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://castle-engine.sourceforge.net/x3d_implementation_status.php view3dscene]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.xj3d.org Xj3D]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://www.niallmoody.com/heilan/index.htm Heilan]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:PivoronPlayer.zip|Pivoron]]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://mediamachines.wordpress.com Flux]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://vivaty.wordpress.com Vivaty]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | Versions&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; [http://www.bitmanagement.com/en/products/product-workflow v8.0]&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; [http://freewrl.sourceforge.io v5.1]&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; [http://www.h3dapi.org/modules/PDdownloads/viewcat.php?cid=28 v2.1]&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; [http://www.instantreality.org/documentation/component 2.1]&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; [http://www.octagavs.com/company/news-archive/128-get-the-new-octaga-player-40 v4.0]&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; [http://www.openvrml.org/doc/conformance.html v0.17.9]&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; [http://www.pinecoast.com/swview.php v2.1.7]&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; [http://castle-engine.sourceforge.net/view3dscene.php v3.11.0]&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; [http://www.xj3d.org/status.html 1.0]&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://www.niallmoody.com/heilan/docs.htm v0.15]&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:PivoronPlayer.zip|v1.0]]&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:FluxPlayerStudio2-0.zip|v2.0]], [[:File:FluxPlayerStudio2-1.zip|v2.1]]&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://getsatisfaction.com/vivaty/ v1.0 build 900]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | [http://www.web3d.org/x3d/conformance/conformingvendors X3D Conformance Certification]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;background:#F0F0F0; color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;background:#F0F0F0; color:green&amp;quot; | Interchange Profile&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | Development Status&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- OctagaVS --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! align='left' style=&amp;quot;background:#E0F0F0;&amp;quot; colspan='14' | &amp;lt;br /&amp;gt; '''File Encodings'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19776-X3DEncodings-XML-ClassicVRML/Part01/X3D_XML.html XML] (.x3d)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19776-X3DEncodings-XML-ClassicVRML/Part02/X3D_ClassicVRML.html ClassicVRML] (.x3dv)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/files/specifications/19776-3/V3.2/Part03/X3D_Binary.html Compressed Binary Encoding] (.x3db)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-VRML97 VRML 97 (v2.0)] (.wrl)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/vrml/VRML1.0/index.html VRML 1 (v1.0)] (.wrl)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:black&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! align='left' style=&amp;quot;background:#E0F0F0;&amp;quot; colspan='14' | &amp;lt;br /&amp;gt; '''[http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/componentIndex.html X3D component list]'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/CADGeometry.html CAD geometry]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/core.html Core]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial &amp;lt;br /&amp;gt; (not Proto)&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/env_texture.html Cube map environmental texturing]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/dis.html Distributed interactive simulation (DIS)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/enveffects.html Environmental effects]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/envsensor.html Environmental sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/utils.html Event utilities]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/followers.html Followers]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/geometry2D.html Geometry2D]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/geometry3D.html Geometry3D]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 3&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/geodata.html Geospatial]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/group.html Grouping]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/hanim.html Humanoid animation (H-Anim)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/interp.html Interpolation]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/keyboard.html Key device sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/layering.html Layering]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/layout.html Layout]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/lighting.html Lighting]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/navigation.html Navigation]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 1&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/networking.html Networking]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/nurbs.html NURBS]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/particle_systems.html Particle systems]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/picking.html Picking sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/pointingsensor.html Pointing device sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shaders.html Programmable shaders]:&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes (GLSL)&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| * [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/shaders_glsl.html OpenGL shading language (GLSL)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| * [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/shaders_hlsl.html Microsoft high level shading language (HLSL)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| * [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/shaders_cg.html nVidia Cg shading language]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/rendering.html Rendering]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4 (partial level 5)&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 3&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/rigid_physics.html Rigid body physics]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no &lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/scripting.html Scripting] - [http://www.web3d.org/x3d/specifications/ISO-IEC-19777-1-X3DLanguageBindings-ECMAScript ECMAScript]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/scripting.html Scripting] - [http://www.web3d.org/x3d/specifications/ISO-IEC-19777-2-X3DLanguageBindings-Java Java]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial (external)&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial (external)&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shape.html Shape]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| align=&amp;quot;LEFT | [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shape.html#FillProperties FillProperties node]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;LEFT | [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shape.html#LineProperties LineProperties node]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/sound.html Sound]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/text.html Text]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/texturing.html Texturing]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/texture3D.html Texturing3D]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/time.html Time]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.igraphics.com/Standards/ISO_IEC_19775_1_2_PDAM1_Candidate_2011_05_12/Part01/components/volume.html Volume Rendering (X3D v3.3)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | Players&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.bitmanagement.de BS Contact]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://freewrl.sourceforge.io FreeWRL]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.h3dapi.org H3DViewer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://instantreality.org InstantPlayer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.octagavs.com Octaga]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.openvrml.org OpenVRML]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.pinecoast.com/swview.php SwirlX3D]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://castle-engine.sourceforge.net/view3dscene.php view3dscene]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.xj3d.org Xj3D]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://www.niallmoody.com/heilan/index.htm Heilan]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:PivoronPlayer.zip|Pivoron]]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://mediamachines.wordpress.com Flux]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://vivaty.wordpress.com Vivaty]&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=Player_support_for_X3D_components&amp;diff=9817</id>
		<title>Player support for X3D components</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=Player_support_for_X3D_components&amp;diff=9817"/>
				<updated>2023-01-22T02:51:34Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: Status, historic, redirect viewer to X3D4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is maintained for historical purposes.  Please see ''X3D Node Inventory Comparison'' found at https://www.web3d.org/specifications&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The&lt;br /&gt;
[http://www.web3D.org/x3d Extensible 3D (X3D) Graphics]&lt;br /&gt;
standard has many capabilities.&lt;br /&gt;
[http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/Architecture.html X3D components]&lt;br /&gt;
are modular collections of nodes that make it easier for software to gradually implement the full range of X3D capabilities.&lt;br /&gt;
&lt;br /&gt;
Authors can also indicate what components are needed in an X3D scene in order to ensure that proper support is provided at run time.&lt;br /&gt;
&lt;br /&gt;
This table records support for the official X3D components by each of the various &lt;br /&gt;
[http://x3dgraphics.com/examples/X3dResources.html#Applications X3D players].&lt;br /&gt;
It is maintained by the&lt;br /&gt;
[http://www.web3d.org/x3d/workgroups X3D Working Group]&lt;br /&gt;
and member companies in the&lt;br /&gt;
[http://www.web3d.org Web3D Consortium].&lt;br /&gt;
&lt;br /&gt;
* The [http://www.web3d.org/x3d/content/examples/X3dResources.html X3D Resources] page provides lots of additional information about X3D.&lt;br /&gt;
&amp;lt;!-- Where post bugs and comments? To x3d-public list, individual companies, or where? --&amp;gt;&lt;br /&gt;
* Please [http://www.web3d.org/contact Contact Web3D] if you want to learn more or report an update.&lt;br /&gt;
* The [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx X3D Node Inventory Comparison] ([http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf .pdf]) shows implementation coverage of the X3D Abstract Specification, X3D Schema, X3D DOCTYPE, X3D-Edit, X3DOM, and VRML97 node sets.&lt;br /&gt;
&amp;lt;!-- * TODO: show support by [http://www.x3dom.org X3DOM] in table. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Related pages nearby: [[Tool support for X3D components]], [http://www.web3d.org/x3d/content/examples/X3dResources.html#Applications X3D Resources: Applications], [[X3D Implementations]], [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] &amp;lt;!-- [[Plug-in and browser compliance]],--&amp;gt; and [[X3D Plugfest]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TODO bookmarks? --&amp;gt;&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Table key&amp;lt;/u&amp;gt;&lt;br /&gt;
* '''&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;yes&amp;lt;/span&amp;gt;''' all nodes, all fields supported for all levels of this component (though some bugs may be present)&lt;br /&gt;
* '''partial''' some nodes and fields supported&lt;br /&gt;
* '''level #''' which component level number (1-4) is supported (found at end of each component specification) &lt;br /&gt;
* '''&amp;lt;span style=&amp;quot;color:maroon&amp;quot;&amp;gt;no&amp;lt;/span&amp;gt;''' no support provided&lt;br /&gt;
* '''&amp;lt;span style=&amp;quot;color:grey&amp;quot;&amp;gt;?&amp;lt;/span&amp;gt;''' unknown, need status report&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | Players&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.bitmanagement.de BS Contact family]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://freewrl.sourceforge.io FreeWRL]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.h3dapi.org H3DViewer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://instantreality.org InstantPlayer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.octagavs.com OctagaVS Player]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.openvrml.org OpenVRML]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.pinecoast.com/swview.php SwirlX3D]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://castle-engine.sourceforge.net/x3d_implementation_status.php view3dscene]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.xj3d.org Xj3D]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://www.niallmoody.com/heilan/index.htm Heilan]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:PivoronPlayer.zip|Pivoron]]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://mediamachines.wordpress.com Flux]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://vivaty.wordpress.com Vivaty]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | Versions&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; [http://www.bitmanagement.com/en/products/product-workflow v8.0]&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; [http://freewrl.sourceforge.io v5.1]&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; [http://www.h3dapi.org/modules/PDdownloads/viewcat.php?cid=28 v2.1]&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; [http://www.instantreality.org/documentation/component 2.1]&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; [http://www.octagavs.com/company/news-archive/128-get-the-new-octaga-player-40 v4.0]&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; [http://www.openvrml.org/doc/conformance.html v0.17.9]&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; [http://www.pinecoast.com/swview.php v2.1.7]&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; [http://castle-engine.sourceforge.net/view3dscene.php v3.11.0]&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; [http://www.xj3d.org/status.html 1.0]&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://www.niallmoody.com/heilan/docs.htm v0.15]&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:PivoronPlayer.zip|v1.0]]&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:FluxPlayerStudio2-0.zip|v2.0]], [[:File:FluxPlayerStudio2-1.zip|v2.1]]&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://getsatisfaction.com/vivaty/ v1.0 build 900]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | [http://www.web3d.org/x3d/conformance/conformingvendors X3D Conformance Certification]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;background:#F0F0F0; color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;background:#F0F0F0; color:green&amp;quot; | Interchange Profile&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | Development Status&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- OctagaVS --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! align='left' style=&amp;quot;background:#E0F0F0;&amp;quot; colspan='14' | &amp;lt;br /&amp;gt; '''File Encodings'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19776-X3DEncodings-XML-ClassicVRML/Part01/X3D_XML.html XML] (.x3d)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19776-X3DEncodings-XML-ClassicVRML/Part02/X3D_ClassicVRML.html ClassicVRML] (.x3dv)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/files/specifications/19776-3/V3.2/Part03/X3D_Binary.html Compressed Binary Encoding] (.x3db)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-VRML97 VRML 97 (v2.0)] (.wrl)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/vrml/VRML1.0/index.html VRML 1 (v1.0)] (.wrl)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:black&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! align='left' style=&amp;quot;background:#E0F0F0;&amp;quot; colspan='14' | &amp;lt;br /&amp;gt; '''[http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/componentIndex.html X3D component list]'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/CADGeometry.html CAD geometry]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/core.html Core]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial &amp;lt;br /&amp;gt; (not Proto)&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/env_texture.html Cube map environmental texturing]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/dis.html Distributed interactive simulation (DIS)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/enveffects.html Environmental effects]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/envsensor.html Environmental sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/utils.html Event utilities]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/followers.html Followers]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/geometry2D.html Geometry2D]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/geometry3D.html Geometry3D]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 3&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/geodata.html Geospatial]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/group.html Grouping]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/hanim.html Humanoid animation (H-Anim)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/interp.html Interpolation]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/keyboard.html Key device sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/layering.html Layering]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/layout.html Layout]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/lighting.html Lighting]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/navigation.html Navigation]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 1&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/networking.html Networking]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/nurbs.html NURBS]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/particle_systems.html Particle systems]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/picking.html Picking sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/pointingsensor.html Pointing device sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shaders.html Programmable shaders]:&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes (GLSL)&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| * [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/shaders_glsl.html OpenGL shading language (GLSL)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| * [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/shaders_hlsl.html Microsoft high level shading language (HLSL)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| * [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/shaders_cg.html nVidia Cg shading language]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/rendering.html Rendering]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4 (partial level 5)&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 3&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/rigid_physics.html Rigid body physics]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no &lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/scripting.html Scripting] - [http://www.web3d.org/x3d/specifications/ISO-IEC-19777-1-X3DLanguageBindings-ECMAScript ECMAScript]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/scripting.html Scripting] - [http://www.web3d.org/x3d/specifications/ISO-IEC-19777-2-X3DLanguageBindings-Java Java]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial (external)&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial (external)&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shape.html Shape]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| align=&amp;quot;LEFT | [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shape.html#FillProperties FillProperties node]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;LEFT | [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shape.html#LineProperties LineProperties node]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/sound.html Sound]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/text.html Text]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/texturing.html Texturing]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/texture3D.html Texturing3D]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/time.html Time]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.igraphics.com/Standards/ISO_IEC_19775_1_2_PDAM1_Candidate_2011_05_12/Part01/components/volume.html Volume Rendering (X3D v3.3)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | Players&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.bitmanagement.de BS Contact]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://freewrl.sourceforge.io FreeWRL]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.h3dapi.org H3DViewer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://instantreality.org InstantPlayer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.octagavs.com Octaga]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.openvrml.org OpenVRML]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.pinecoast.com/swview.php SwirlX3D]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://castle-engine.sourceforge.net/view3dscene.php view3dscene]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.xj3d.org Xj3D]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://www.niallmoody.com/heilan/index.htm Heilan]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:PivoronPlayer.zip|Pivoron]]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://mediamachines.wordpress.com Flux]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://vivaty.wordpress.com Vivaty]&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=Player_support_for_X3D_components&amp;diff=9816</id>
		<title>Player support for X3D components</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=Player_support_for_X3D_components&amp;diff=9816"/>
				<updated>2023-01-22T02:50:57Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: note historic status, redirect to new page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is maintained for historical purposes.  Please see&lt;br /&gt;
* ''X3D Node Inventory Comparison'' found at https://www.web3d.org/specifications&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The&lt;br /&gt;
[http://www.web3D.org/x3d Extensible 3D (X3D) Graphics]&lt;br /&gt;
standard has many capabilities.&lt;br /&gt;
[http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/Architecture.html X3D components]&lt;br /&gt;
are modular collections of nodes that make it easier for software to gradually implement the full range of X3D capabilities.&lt;br /&gt;
&lt;br /&gt;
Authors can also indicate what components are needed in an X3D scene in order to ensure that proper support is provided at run time.&lt;br /&gt;
&lt;br /&gt;
This table records support for the official X3D components by each of the various &lt;br /&gt;
[http://x3dgraphics.com/examples/X3dResources.html#Applications X3D players].&lt;br /&gt;
It is maintained by the&lt;br /&gt;
[http://www.web3d.org/x3d/workgroups X3D Working Group]&lt;br /&gt;
and member companies in the&lt;br /&gt;
[http://www.web3d.org Web3D Consortium].&lt;br /&gt;
&lt;br /&gt;
* The [http://www.web3d.org/x3d/content/examples/X3dResources.html X3D Resources] page provides lots of additional information about X3D.&lt;br /&gt;
&amp;lt;!-- Where post bugs and comments? To x3d-public list, individual companies, or where? --&amp;gt;&lt;br /&gt;
* Please [http://www.web3d.org/contact Contact Web3D] if you want to learn more or report an update.&lt;br /&gt;
* The [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx X3D Node Inventory Comparison] ([http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf .pdf]) shows implementation coverage of the X3D Abstract Specification, X3D Schema, X3D DOCTYPE, X3D-Edit, X3DOM, and VRML97 node sets.&lt;br /&gt;
&amp;lt;!-- * TODO: show support by [http://www.x3dom.org X3DOM] in table. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Related pages nearby: [[Tool support for X3D components]], [http://www.web3d.org/x3d/content/examples/X3dResources.html#Applications X3D Resources: Applications], [[X3D Implementations]], [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] &amp;lt;!-- [[Plug-in and browser compliance]],--&amp;gt; and [[X3D Plugfest]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TODO bookmarks? --&amp;gt;&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Table key&amp;lt;/u&amp;gt;&lt;br /&gt;
* '''&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;yes&amp;lt;/span&amp;gt;''' all nodes, all fields supported for all levels of this component (though some bugs may be present)&lt;br /&gt;
* '''partial''' some nodes and fields supported&lt;br /&gt;
* '''level #''' which component level number (1-4) is supported (found at end of each component specification) &lt;br /&gt;
* '''&amp;lt;span style=&amp;quot;color:maroon&amp;quot;&amp;gt;no&amp;lt;/span&amp;gt;''' no support provided&lt;br /&gt;
* '''&amp;lt;span style=&amp;quot;color:grey&amp;quot;&amp;gt;?&amp;lt;/span&amp;gt;''' unknown, need status report&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | Players&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.bitmanagement.de BS Contact family]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://freewrl.sourceforge.io FreeWRL]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.h3dapi.org H3DViewer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://instantreality.org InstantPlayer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.octagavs.com OctagaVS Player]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.openvrml.org OpenVRML]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.pinecoast.com/swview.php SwirlX3D]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://castle-engine.sourceforge.net/x3d_implementation_status.php view3dscene]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.xj3d.org Xj3D]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://www.niallmoody.com/heilan/index.htm Heilan]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:PivoronPlayer.zip|Pivoron]]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://mediamachines.wordpress.com Flux]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://vivaty.wordpress.com Vivaty]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | Versions&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; [http://www.bitmanagement.com/en/products/product-workflow v8.0]&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; [http://freewrl.sourceforge.io v5.1]&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; [http://www.h3dapi.org/modules/PDdownloads/viewcat.php?cid=28 v2.1]&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; [http://www.instantreality.org/documentation/component 2.1]&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; [http://www.octagavs.com/company/news-archive/128-get-the-new-octaga-player-40 v4.0]&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; [http://www.openvrml.org/doc/conformance.html v0.17.9]&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; [http://www.pinecoast.com/swview.php v2.1.7]&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; [http://castle-engine.sourceforge.net/view3dscene.php v3.11.0]&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; [http://www.xj3d.org/status.html 1.0]&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://www.niallmoody.com/heilan/docs.htm v0.15]&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:PivoronPlayer.zip|v1.0]]&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:FluxPlayerStudio2-0.zip|v2.0]], [[:File:FluxPlayerStudio2-1.zip|v2.1]]&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://getsatisfaction.com/vivaty/ v1.0 build 900]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | [http://www.web3d.org/x3d/conformance/conformingvendors X3D Conformance Certification]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;background:#F0F0F0; color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;background:#F0F0F0; color:green&amp;quot; | Interchange Profile&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | Development Status&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- OctagaVS --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! align='left' style=&amp;quot;background:#E0F0F0;&amp;quot; colspan='14' | &amp;lt;br /&amp;gt; '''File Encodings'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19776-X3DEncodings-XML-ClassicVRML/Part01/X3D_XML.html XML] (.x3d)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19776-X3DEncodings-XML-ClassicVRML/Part02/X3D_ClassicVRML.html ClassicVRML] (.x3dv)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/files/specifications/19776-3/V3.2/Part03/X3D_Binary.html Compressed Binary Encoding] (.x3db)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-VRML97 VRML 97 (v2.0)] (.wrl)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/vrml/VRML1.0/index.html VRML 1 (v1.0)] (.wrl)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:black&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! align='left' style=&amp;quot;background:#E0F0F0;&amp;quot; colspan='14' | &amp;lt;br /&amp;gt; '''[http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/componentIndex.html X3D component list]'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/CADGeometry.html CAD geometry]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/core.html Core]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial &amp;lt;br /&amp;gt; (not Proto)&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/env_texture.html Cube map environmental texturing]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/dis.html Distributed interactive simulation (DIS)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/enveffects.html Environmental effects]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/envsensor.html Environmental sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/utils.html Event utilities]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/followers.html Followers]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/geometry2D.html Geometry2D]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/geometry3D.html Geometry3D]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 3&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/geodata.html Geospatial]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/group.html Grouping]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/hanim.html Humanoid animation (H-Anim)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/interp.html Interpolation]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/keyboard.html Key device sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/layering.html Layering]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/layout.html Layout]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/lighting.html Lighting]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/navigation.html Navigation]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 1&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/networking.html Networking]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/nurbs.html NURBS]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/particle_systems.html Particle systems]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/picking.html Picking sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/pointingsensor.html Pointing device sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shaders.html Programmable shaders]:&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes (GLSL)&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| * [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/shaders_glsl.html OpenGL shading language (GLSL)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| * [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/shaders_hlsl.html Microsoft high level shading language (HLSL)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| * [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/shaders_cg.html nVidia Cg shading language]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/rendering.html Rendering]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4 (partial level 5)&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 3&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/rigid_physics.html Rigid body physics]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no &lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/scripting.html Scripting] - [http://www.web3d.org/x3d/specifications/ISO-IEC-19777-1-X3DLanguageBindings-ECMAScript ECMAScript]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/scripting.html Scripting] - [http://www.web3d.org/x3d/specifications/ISO-IEC-19777-2-X3DLanguageBindings-Java Java]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial (external)&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial (external)&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shape.html Shape]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| align=&amp;quot;LEFT | [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shape.html#FillProperties FillProperties node]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;LEFT | [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shape.html#LineProperties LineProperties node]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/sound.html Sound]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/text.html Text]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/texturing.html Texturing]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/texture3D.html Texturing3D]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/time.html Time]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.igraphics.com/Standards/ISO_IEC_19775_1_2_PDAM1_Candidate_2011_05_12/Part01/components/volume.html Volume Rendering (X3D v3.3)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | Players&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.bitmanagement.de BS Contact]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://freewrl.sourceforge.io FreeWRL]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.h3dapi.org H3DViewer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://instantreality.org InstantPlayer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.octagavs.com Octaga]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.openvrml.org OpenVRML]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.pinecoast.com/swview.php SwirlX3D]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://castle-engine.sourceforge.net/view3dscene.php view3dscene]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.xj3d.org Xj3D]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://www.niallmoody.com/heilan/index.htm Heilan]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:PivoronPlayer.zip|Pivoron]]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://mediamachines.wordpress.com Flux]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://vivaty.wordpress.com Vivaty]&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=Player_support_for_X3D_components&amp;diff=9815</id>
		<title>Player support for X3D components</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=Player_support_for_X3D_components&amp;diff=9815"/>
				<updated>2023-01-22T02:49:11Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: note historical, link to update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is maintained for historical purposes.  Please see&lt;br /&gt;
* X3D Node Inventory Comparison at&lt;br /&gt;
* https://www.web3d.org/specifications&lt;br /&gt;
&lt;br /&gt;
====&lt;br /&gt;
&lt;br /&gt;
The&lt;br /&gt;
[http://www.web3D.org/x3d Extensible 3D (X3D) Graphics]&lt;br /&gt;
standard has many capabilities.&lt;br /&gt;
[http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/Architecture.html X3D components]&lt;br /&gt;
are modular collections of nodes that make it easier for software to gradually implement the full range of X3D capabilities.&lt;br /&gt;
&lt;br /&gt;
Authors can also indicate what components are needed in an X3D scene in order to ensure that proper support is provided at run time.&lt;br /&gt;
&lt;br /&gt;
This table records support for the official X3D components by each of the various &lt;br /&gt;
[http://x3dgraphics.com/examples/X3dResources.html#Applications X3D players].&lt;br /&gt;
It is maintained by the&lt;br /&gt;
[http://www.web3d.org/x3d/workgroups X3D Working Group]&lt;br /&gt;
and member companies in the&lt;br /&gt;
[http://www.web3d.org Web3D Consortium].&lt;br /&gt;
&lt;br /&gt;
* The [http://www.web3d.org/x3d/content/examples/X3dResources.html X3D Resources] page provides lots of additional information about X3D.&lt;br /&gt;
&amp;lt;!-- Where post bugs and comments? To x3d-public list, individual companies, or where? --&amp;gt;&lt;br /&gt;
* Please [http://www.web3d.org/contact Contact Web3D] if you want to learn more or report an update.&lt;br /&gt;
* The [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx X3D Node Inventory Comparison] ([http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf .pdf]) shows implementation coverage of the X3D Abstract Specification, X3D Schema, X3D DOCTYPE, X3D-Edit, X3DOM, and VRML97 node sets.&lt;br /&gt;
&amp;lt;!-- * TODO: show support by [http://www.x3dom.org X3DOM] in table. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Related pages nearby: [[Tool support for X3D components]], [http://www.web3d.org/x3d/content/examples/X3dResources.html#Applications X3D Resources: Applications], [[X3D Implementations]], [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] &amp;lt;!-- [[Plug-in and browser compliance]],--&amp;gt; and [[X3D Plugfest]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TODO bookmarks? --&amp;gt;&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Table key&amp;lt;/u&amp;gt;&lt;br /&gt;
* '''&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;yes&amp;lt;/span&amp;gt;''' all nodes, all fields supported for all levels of this component (though some bugs may be present)&lt;br /&gt;
* '''partial''' some nodes and fields supported&lt;br /&gt;
* '''level #''' which component level number (1-4) is supported (found at end of each component specification) &lt;br /&gt;
* '''&amp;lt;span style=&amp;quot;color:maroon&amp;quot;&amp;gt;no&amp;lt;/span&amp;gt;''' no support provided&lt;br /&gt;
* '''&amp;lt;span style=&amp;quot;color:grey&amp;quot;&amp;gt;?&amp;lt;/span&amp;gt;''' unknown, need status report&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | Players&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.bitmanagement.de BS Contact family]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://freewrl.sourceforge.io FreeWRL]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.h3dapi.org H3DViewer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://instantreality.org InstantPlayer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.octagavs.com OctagaVS Player]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.openvrml.org OpenVRML]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.pinecoast.com/swview.php SwirlX3D]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://castle-engine.sourceforge.net/x3d_implementation_status.php view3dscene]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.xj3d.org Xj3D]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://www.niallmoody.com/heilan/index.htm Heilan]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:PivoronPlayer.zip|Pivoron]]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://mediamachines.wordpress.com Flux]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://vivaty.wordpress.com Vivaty]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | Versions&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; [http://www.bitmanagement.com/en/products/product-workflow v8.0]&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; [http://freewrl.sourceforge.io v5.1]&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; [http://www.h3dapi.org/modules/PDdownloads/viewcat.php?cid=28 v2.1]&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; [http://www.instantreality.org/documentation/component 2.1]&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; [http://www.octagavs.com/company/news-archive/128-get-the-new-octaga-player-40 v4.0]&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; [http://www.openvrml.org/doc/conformance.html v0.17.9]&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; [http://www.pinecoast.com/swview.php v2.1.7]&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; [http://castle-engine.sourceforge.net/view3dscene.php v3.11.0]&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; [http://www.xj3d.org/status.html 1.0]&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://www.niallmoody.com/heilan/docs.htm v0.15]&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:PivoronPlayer.zip|v1.0]]&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:FluxPlayerStudio2-0.zip|v2.0]], [[:File:FluxPlayerStudio2-1.zip|v2.1]]&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://getsatisfaction.com/vivaty/ v1.0 build 900]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | [http://www.web3d.org/x3d/conformance/conformingvendors X3D Conformance Certification]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;background:#F0F0F0; color:green&amp;quot; | Interchange Profile&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;background:#F0F0F0; color:green&amp;quot; | Interchange Profile&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#E7F0F0;&amp;quot; | Development Status&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- OctagaVS --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | Active&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;background:#F0F0F0; color:maroon&amp;quot; | Inactive&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! align='left' style=&amp;quot;background:#E0F0F0;&amp;quot; colspan='14' | &amp;lt;br /&amp;gt; '''File Encodings'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19776-X3DEncodings-XML-ClassicVRML/Part01/X3D_XML.html XML] (.x3d)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19776-X3DEncodings-XML-ClassicVRML/Part02/X3D_ClassicVRML.html ClassicVRML] (.x3dv)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/files/specifications/19776-3/V3.2/Part03/X3D_Binary.html Compressed Binary Encoding] (.x3db)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-VRML97 VRML 97 (v2.0)] (.wrl)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/vrml/VRML1.0/index.html VRML 1 (v1.0)] (.wrl)&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:black&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! align='left' style=&amp;quot;background:#E0F0F0;&amp;quot; colspan='14' | &amp;lt;br /&amp;gt; '''[http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/componentIndex.html X3D component list]'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/CADGeometry.html CAD geometry]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/core.html Core]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial &amp;lt;br /&amp;gt; (not Proto)&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/env_texture.html Cube map environmental texturing]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/dis.html Distributed interactive simulation (DIS)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/enveffects.html Environmental effects]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/envsensor.html Environmental sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/utils.html Event utilities]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/followers.html Followers]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/geometry2D.html Geometry2D]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/geometry3D.html Geometry3D]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 3&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/geodata.html Geospatial]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/group.html Grouping]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/hanim.html Humanoid animation (H-Anim)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/interp.html Interpolation]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/keyboard.html Key device sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/layering.html Layering]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/layout.html Layout]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/lighting.html Lighting]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/navigation.html Navigation]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 1&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/networking.html Networking]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/nurbs.html NURBS]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/particle_systems.html Particle systems]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/picking.html Picking sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | none&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/pointingsensor.html Pointing device sensor]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shaders.html Programmable shaders]:&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes (GLSL)&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| * [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/shaders_glsl.html OpenGL shading language (GLSL)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| * [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/shaders_hlsl.html Microsoft high level shading language (HLSL)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| * [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/shaders_cg.html nVidia Cg shading language]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/rendering.html Rendering]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4 (partial level 5)&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 3&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 4&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/rigid_physics.html Rigid body physics]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no &lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/scripting.html Scripting] - [http://www.web3d.org/x3d/specifications/ISO-IEC-19777-1-X3DLanguageBindings-ECMAScript ECMAScript]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes &lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/scripting.html Scripting] - [http://www.web3d.org/x3d/specifications/ISO-IEC-19777-2-X3DLanguageBindings-Java Java]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial (external)&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial (external)&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shape.html Shape]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| align=&amp;quot;LEFT | [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shape.html#FillProperties FillProperties node]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;LEFT | [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shape.html#LineProperties LineProperties node]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/sound.html Sound]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/text.html Text]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/texturing.html Texturing]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/texture3D.html Texturing3D]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F0F0F0;&amp;quot;&lt;br /&gt;
| [http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/time.html Time]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color: black&amp;quot; | partial&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:black&amp;quot; | level 2&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| [http://www.igraphics.com/Standards/ISO_IEC_19775_1_2_PDAM1_Candidate_2011_05_12/Part01/components/volume.html Volume Rendering (X3D v3.3)]&lt;br /&gt;
! &amp;lt;!-- BS Contact --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- FreeWRL --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- H3DViewer --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- InstantReality --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Octaga --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- OpenVRML --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- SwirlX3D --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- view3dscene --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Xj3D --&amp;gt; style=&amp;quot;color:green&amp;quot; | yes&lt;br /&gt;
! &amp;lt;!-- Heilan --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Pivoron --&amp;gt; style=&amp;quot;color:grey&amp;quot; | ?&lt;br /&gt;
! &amp;lt;!-- Flux --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
! &amp;lt;!-- Vivaty --&amp;gt; style=&amp;quot;color:maroon&amp;quot; | no&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | Players&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.bitmanagement.de BS Contact]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://freewrl.sourceforge.io FreeWRL]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.h3dapi.org H3DViewer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://instantreality.org InstantPlayer]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.octagavs.com Octaga]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.openvrml.org OpenVRML]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.pinecoast.com/swview.php SwirlX3D]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://castle-engine.sourceforge.net/view3dscene.php view3dscene]&lt;br /&gt;
! style=&amp;quot;background:#E0F0F0;&amp;quot; | [http://www.xj3d.org Xj3D]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://www.niallmoody.com/heilan/index.htm Heilan]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [[:File:PivoronPlayer.zip|Pivoron]]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://mediamachines.wordpress.com Flux]&lt;br /&gt;
! style=&amp;quot;background:#F0F0F0;&amp;quot; | [http://vivaty.wordpress.com Vivaty]&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9812</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9812"/>
				<updated>2022-10-31T15:49:49Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Status: this page was used for early development and is maintained for archival purposes and design-review insight.&lt;br /&gt;
Please see [http://www.web3d.org/x3d4 X3D Version 4] for continuing progress on this successful effort.&lt;br /&gt;
&lt;br /&gt;
[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# Implement, evaluate examples, refine, resolve all related issues,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# Board of Directors consider whether draft spec is a public release to encourage engagement - or not.&lt;br /&gt;
# '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Confirm implement/evaluate examples complete&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# '''Web3D deadline for new additions to X3Dv4: 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# '''Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9811</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9811"/>
				<updated>2022-10-31T15:49:06Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Status: this page was used for early development and is maintained for archival purposes and design-review insight.&lt;br /&gt;
Please see [[ttp://www.web3d.org/x3d4 X3D Version 4] page for continuing progress on this successful effort.&lt;br /&gt;
&lt;br /&gt;
[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# Implement, evaluate examples, refine, resolve all related issues,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# Board of Directors consider whether draft spec is a public release to encourage engagement - or not.&lt;br /&gt;
# '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Confirm implement/evaluate examples complete&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# '''Web3D deadline for new additions to X3Dv4: 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# '''Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9810</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9810"/>
				<updated>2022-10-31T15:47:31Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: Status, historic, redirect viewer to X3D4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Status: this page was used for early development and is maintained for archival purposes and continuing-review insigth.&lt;br /&gt;
Please see [[http://www.web3d.org/x3d4 X3D Version 4] page for continuing progress on this successful effort.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# Implement, evaluate examples, refine, resolve all related issues,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# Board of Directors consider whether draft spec is a public release to encourage engagement - or not.&lt;br /&gt;
# '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Confirm implement/evaluate examples complete&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# '''Web3D deadline for new additions to X3Dv4: 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# '''Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=Xj3D_Evolution&amp;diff=9806</id>
		<title>Xj3D Evolution</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=Xj3D_Evolution&amp;diff=9806"/>
				<updated>2020-01-30T03:48:12Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: bold&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Xj3Dlogo-275.png|right]]&lt;br /&gt;
&lt;br /&gt;
Xj3D is an open-source Java implementation for X3D graphics. Xj3D is used to demonstrate many capabilities for specification development and supports a variety of valuable projects.&lt;br /&gt;
&lt;br /&gt;
'''This page is a historic asset.''' Please see&lt;br /&gt;
[https://savage.nps.edu/Savage/developers.html#Xj3D Savage Developers, Xj3D NPS Source] for the latest status. &lt;br /&gt;
&lt;br /&gt;
== Discussion and consensus building ==&lt;br /&gt;
&lt;br /&gt;
NPS originally ported the full Xj3D codebase and history to the [http://sourceforge.net/projects/xj3d Sourceforge Xj3D] site. This page describes the how that transition from the original [http://xj3d.org xj3d.org] site took place.&lt;br /&gt;
&lt;br /&gt;
We are using [mailto:source@web3d.org?subject=Xj3D%20Evolution source@web3d.org] mailing list &lt;br /&gt;
to work out these possibilities and build stakeholder consensus.&lt;br /&gt;
([http://web3d.org/mailman/listinfo/source_web3d.org subscribe], [http://web3d.org/mailman/private/source_web3d.org/ archive])&lt;br /&gt;
&lt;br /&gt;
Consensus summary points&lt;br /&gt;
* Basic strategy: we are evolving by re-versioning, not re-naming Xj3D&lt;br /&gt;
* We will simply mirror the current xj3d.org repository, as version 2.0, and maintain full backwards compatibility by integrating any forthcoming changes there&lt;br /&gt;
&lt;br /&gt;
== Transition Goals and Timeline ==&lt;br /&gt;
&lt;br /&gt;
Long-term stability, improvement and development of the Xj3D code base are shared goals. This page records ideas for potential improvement. These are familiar topics and lots of excellent work continues. &lt;br /&gt;
&lt;br /&gt;
It was straightforward for interested stakeholders to discuss and agree on next steps.&lt;br /&gt;
* Following extensive comments from Xj3D source community and X3D working group from our teleconference on 30 June 2014, work to mirror Xj3D on SourceForge began during the week of 7 July 2014.&lt;br /&gt;
* We achieved the goal to have everything transitioned, stabilized, announced and ready for new contributions at the [http://www.web3d2014.org Web3D 2014 Conference] and [http://www.siggraph.org SIGGRAPH 2014 Conference] in Vancouver Canada.&lt;br /&gt;
* The NPS branch and original Yumetech trunk were successfully swapped in May 2015.&lt;br /&gt;
* Additional variants of Xj3D have been integrated within the new trunk, sometimes saving alternates as branches for archival purposes.&lt;br /&gt;
* Primary development is on the trunk with JOGAMP/JOGL/JOAL fully updated.&lt;br /&gt;
&lt;br /&gt;
== Source Code Hosting Transferred ==&lt;br /&gt;
&lt;br /&gt;
The Xj3D code was moved to a stable public open-source repository in order to enable greater participation and development. This approach also gained more visibility among programmers who might want to contribute.&lt;br /&gt;
* [http://www.xj3d.org xj3d.org] has hosted the source for many years but development has been intermittent and somewhat less than fully open.&lt;br /&gt;
* [https://savage.nps.edu/Savage/developers.html#Xj3D NPS branch of Xj3D] was used for experimental development. Proven changes and unit tests are integrated back into the Xj3D trunk when stable.&lt;br /&gt;
&lt;br /&gt;
'''Direction''': mirroring the full xj3d.org site on [https://sourceforge.net/projects/xj3d SourceForge Xj3D project] is the group's best approach to meet group goals for unveiling and evangelizing Xj3D community opportunities at Web3D 2014 Conference and SIGGRAPH 2014.&lt;br /&gt;
&lt;br /&gt;
'''Results''': The codebase has been re-established at [http://sourceforge.net/projects/xj3d Xj3D Sourceforge project]&lt;br /&gt;
* [http://sourceforge.net/p/xj3d/code/HEAD/tree Xj3D Sourceforge codebase] without change (and with total prior code history) was made publicly available 8 August 2014&lt;br /&gt;
* Initial build tests satisfactory for both NPS branch and original Yumetech trunk.&lt;br /&gt;
&lt;br /&gt;
Decision rationale follows for choice of source archive site.&lt;br /&gt;
&lt;br /&gt;
=== SourceForge ===&lt;br /&gt;
&lt;br /&gt;
* The current xj3d.org code is in subversion, this can be migrated completely&lt;br /&gt;
* Web3D already has numerous assets checked into the [https://sourceforge.net/projects/x3d Sourceforge X3D project], it is available&lt;br /&gt;
* Sourceforge also has related projects for [https://sourceforge.net/projects/jgeom jgeom] and [https://sourceforge.net/projects/open-dis open-dis]&lt;br /&gt;
* Multiple participants have experience with using and administering the Sourceforge site&lt;br /&gt;
* Instead of using the Web3D X3D project, can Web3D instead create a new and separate Sourceforge project for Xj3D to keep things a bit simpler?&lt;br /&gt;
* Can the new site maintain a side-by-side mirror of Xj3D.org and an refactored trunk, so that all updates are reliably accessible?&lt;br /&gt;
* Can the new site keep a new trunk adjacent but separate so that new developers can get started quickly?&lt;br /&gt;
* There is a lot of merit to using a version-control system that is familiar, especially as we try to integrate other Xj3D variants and prepare for SIGGRAPH milestones.&lt;br /&gt;
&lt;br /&gt;
=== GitHub ===&lt;br /&gt;
&lt;br /&gt;
* GitHub includes the X3DOM project and a few other X3D-related projects.&lt;br /&gt;
* We have reserved an [https://github.com/x3d X3D Xj3D] project site on GitHub as a placeholder. This might be useful for cross-links and future evolution.&lt;br /&gt;
* The [https://github.com/pricing github pricing policy] does not cost money to operate an open-source organizational repository.&lt;br /&gt;
* We are looking at migration of subversion to git.. appears possible but somewhat involved.&lt;br /&gt;
* If we do migrate to GitHub, that will likely complicate the re-integration of other existing subversion-based exports of Xj3D.&lt;br /&gt;
&lt;br /&gt;
=== Maven ===&lt;br /&gt;
&lt;br /&gt;
* [http://maven.apache.org Apache Maven] can encourage a variety of build possibilities and paired support between multiple projects, especially for Java. Who has some experience, or wants to experiment, with adding it?&lt;br /&gt;
&lt;br /&gt;
== Web3D.org Website ==&lt;br /&gt;
Several project builds are maintained on external repositories but their corresponding websites are automatically built and updated on [http://www.web3d.org web3d.org]&lt;br /&gt;
&lt;br /&gt;
=== Web3D summary page ===&lt;br /&gt;
&lt;br /&gt;
* TODO: have ''www.web3d.org/xj3d'' (or somesuch) provide an official summary page for Xj3D community on new web3d.org website&lt;br /&gt;
* TODO: find and cleanup or move other wiki pages for Xj3D - somewhat gated by difficulties with web3d.org wiki.&lt;br /&gt;
&lt;br /&gt;
=== Mailing list considerations ===&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium maintains the mailing list archives.&lt;br /&gt;
* Discussion list ''[http://web3d.org/mailman/listinfo/source_web3d.org source@web3D.org]'' seems to be a misnomer, perhaps it should be restarted as ''xj3d@web3d.org''&lt;br /&gt;
* This list is also used for discussions on the SourceForge [https://sourceforge.net/projects/jgeom/?source=directory jgeom] project, so perhaps the current name is actually OK&lt;br /&gt;
* Commits list ''[http://web3d.org/mailman/listinfo/source_web3d.org source_x3d_cvs@web3d.org]'' and commits account ''[http://web3d.org/mailman/listinfo/source_web3d.org cvs-user@xj3d.org]'' are also mis-named since subversion is used&lt;br /&gt;
&lt;br /&gt;
Another alternative option:&lt;br /&gt;
* Move all discussion and reporting lists to the sourceforge repository in order to maximize community productivity. In that case, the prior email lists are simply closed and kept archived, which also reduces the web3d.org administrative burden.&lt;br /&gt;
&lt;br /&gt;
Resolution: we maintained stability with the ''[http://web3d.org/mailman/listinfo/source_web3d.org source@web3D.org]'' list.&lt;br /&gt;
&lt;br /&gt;
== TODO: Opportunities and upcoming tasks ==&lt;br /&gt;
&lt;br /&gt;
=== Merge orphaned Xj3D codebases ===&lt;br /&gt;
&lt;br /&gt;
Separate projects have made excellent improvements to Xj3D over the years, but were never re-integrated into the master code base. We hope to capture, merge and test these improvements in version control, and then issue a series of new releases.&lt;br /&gt;
* NPS has maintained an [https://savage.nps.edu/Savage/developers.html#Xj3D Xj3D branch] that is used in multiple tools: X3D-Edit, example archives image generation, AUV Workbench, Viskit&lt;br /&gt;
* [http://www.web3d.org/case-studies/structure-and-form-analysis-system-safas/e-learning-and-e-design Structure And Form Analysis System (SAFAS)], Nicholas Polys, Virginia Tech (VT) &lt;br /&gt;
* [http://www.partdb.com PartDB Inc.], Hyokwang Lee, Don Brutzman and Terry Norbraten&lt;br /&gt;
* [http://www.aniviza.com/svn/listing.php Aniviza modifications for NASA WorldWind] by Rick Goldberg&lt;br /&gt;
* [https://github.com/Norkart/NK-VirtualGlobe Norkart/NK-VirtualGlobe], Rune Aasgaard&lt;br /&gt;
* Others?&lt;br /&gt;
&lt;br /&gt;
Please [mailto:source@web3d.org,brutzman@nps.edu,tdnorbra@nps.edu?subject=Xj3D%20inquiry contact us] if you have source code to integrate into the Xj3D project.&lt;br /&gt;
&lt;br /&gt;
=== Xj3D issue tracking ===&lt;br /&gt;
&lt;br /&gt;
Currently two bugzilla sites are in existence. They need to be merged and become active.&lt;br /&gt;
* [http://bugzilla.xj3d.org bugzilla.xj3d.org] (master)&lt;br /&gt;
* [https://www.movesinstitute.org/bugzilla/buglist.cgi?quicksearch=xj3d NPS bugzilla] &lt;br /&gt;
&lt;br /&gt;
TODO: for maximum reliability over long term, we need to migrate to the SourceForge tickets tracker. Past bugs and issues can be transcribed as appropriate to maintain historical rationales.&lt;br /&gt;
&lt;br /&gt;
=== Xj3D website improvements ===&lt;br /&gt;
&lt;br /&gt;
The orginal [http://www.xj3d.org Xj3D website] is moderately complete but woefully out of date. &lt;br /&gt;
&lt;br /&gt;
TODO website migration: &lt;br /&gt;
* Confirm that website pages and documentation are checked into version control&lt;br /&gt;
* Automate website updates by synchronizing with version control&lt;br /&gt;
* Offer ways for people to contribute bug reports, issues, improvements&lt;br /&gt;
&lt;br /&gt;
=== Programming problems ===&lt;br /&gt;
&lt;br /&gt;
Several areas of Xj3D implementation are problematic. Dedicated attention and teamwork may help.&lt;br /&gt;
* Better run-time exception reporting (most log entries are completely obscure)&lt;br /&gt;
* Confirm updated jogl rendering is working, especially z-buffer and aliasing&lt;br /&gt;
* Extrusion node support for orientation field (overall passes 7 of 10 tests)&lt;br /&gt;
* Image rendering timing can miss colors/textures and hangs on numerous examples&lt;br /&gt;
* Compressed binary encoding hangs on numerous examples, but the apparent list of exception errors seems short&lt;br /&gt;
* Ensure that we are keeping current with [http://jogamp.org JOGAMP] (formerly java.net JOGL, includes JOAL JOCL etc.) and the [http://aviatrix3d.j3d.org Aviatrix3D] render layer ([https://github.com/j3d/aviatrix3d github]), administered by Justin Couch&lt;br /&gt;
* FontStyle implementation is incorrect. See example [http://www.web3d.org/x3d/content/examples/ConformanceNist/Appearance/FontStyle/_pages/page01.html FontStyle/default]&lt;br /&gt;
&lt;br /&gt;
Other project efforts are always welcome.&lt;br /&gt;
* [https://savage.nps.edu/X3D-Edit X3D-Edit] update report&lt;br /&gt;
* Automatic creation of viewpoint images for all scenes in the [http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples X3D Examples] archives&lt;br /&gt;
&lt;br /&gt;
All inputs and contributions are welcome. Have fun with Xj3D!&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=Xj3D_Evolution&amp;diff=9805</id>
		<title>Xj3D Evolution</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=Xj3D_Evolution&amp;diff=9805"/>
				<updated>2020-01-30T03:47:34Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: note historic asset, link to latest status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Xj3Dlogo-275.png|right]]&lt;br /&gt;
&lt;br /&gt;
Xj3D is an open-source Java implementation for X3D graphics. Xj3D is used to demonstrate many capabilities for specification development and supports a variety of valuable projects.&lt;br /&gt;
&lt;br /&gt;
*This page is a historic asset.* Please see&lt;br /&gt;
[https://savage.nps.edu/Savage/developers.html#Xj3D Savage Developers, Xj3D NPS Source] for the latest status. &lt;br /&gt;
&lt;br /&gt;
== Discussion and consensus building ==&lt;br /&gt;
&lt;br /&gt;
NPS originally ported the full Xj3D codebase and history to the [http://sourceforge.net/projects/xj3d Sourceforge Xj3D] site. This page describes the how that transition from the original [http://xj3d.org xj3d.org] site took place.&lt;br /&gt;
&lt;br /&gt;
We are using [mailto:source@web3d.org?subject=Xj3D%20Evolution source@web3d.org] mailing list &lt;br /&gt;
to work out these possibilities and build stakeholder consensus.&lt;br /&gt;
([http://web3d.org/mailman/listinfo/source_web3d.org subscribe], [http://web3d.org/mailman/private/source_web3d.org/ archive])&lt;br /&gt;
&lt;br /&gt;
Consensus summary points&lt;br /&gt;
* Basic strategy: we are evolving by re-versioning, not re-naming Xj3D&lt;br /&gt;
* We will simply mirror the current xj3d.org repository, as version 2.0, and maintain full backwards compatibility by integrating any forthcoming changes there&lt;br /&gt;
&lt;br /&gt;
== Transition Goals and Timeline ==&lt;br /&gt;
&lt;br /&gt;
Long-term stability, improvement and development of the Xj3D code base are shared goals. This page records ideas for potential improvement. These are familiar topics and lots of excellent work continues. &lt;br /&gt;
&lt;br /&gt;
It was straightforward for interested stakeholders to discuss and agree on next steps.&lt;br /&gt;
* Following extensive comments from Xj3D source community and X3D working group from our teleconference on 30 June 2014, work to mirror Xj3D on SourceForge began during the week of 7 July 2014.&lt;br /&gt;
* We achieved the goal to have everything transitioned, stabilized, announced and ready for new contributions at the [http://www.web3d2014.org Web3D 2014 Conference] and [http://www.siggraph.org SIGGRAPH 2014 Conference] in Vancouver Canada.&lt;br /&gt;
* The NPS branch and original Yumetech trunk were successfully swapped in May 2015.&lt;br /&gt;
* Additional variants of Xj3D have been integrated within the new trunk, sometimes saving alternates as branches for archival purposes.&lt;br /&gt;
* Primary development is on the trunk with JOGAMP/JOGL/JOAL fully updated.&lt;br /&gt;
&lt;br /&gt;
== Source Code Hosting Transferred ==&lt;br /&gt;
&lt;br /&gt;
The Xj3D code was moved to a stable public open-source repository in order to enable greater participation and development. This approach also gained more visibility among programmers who might want to contribute.&lt;br /&gt;
* [http://www.xj3d.org xj3d.org] has hosted the source for many years but development has been intermittent and somewhat less than fully open.&lt;br /&gt;
* [https://savage.nps.edu/Savage/developers.html#Xj3D NPS branch of Xj3D] was used for experimental development. Proven changes and unit tests are integrated back into the Xj3D trunk when stable.&lt;br /&gt;
&lt;br /&gt;
'''Direction''': mirroring the full xj3d.org site on [https://sourceforge.net/projects/xj3d SourceForge Xj3D project] is the group's best approach to meet group goals for unveiling and evangelizing Xj3D community opportunities at Web3D 2014 Conference and SIGGRAPH 2014.&lt;br /&gt;
&lt;br /&gt;
'''Results''': The codebase has been re-established at [http://sourceforge.net/projects/xj3d Xj3D Sourceforge project]&lt;br /&gt;
* [http://sourceforge.net/p/xj3d/code/HEAD/tree Xj3D Sourceforge codebase] without change (and with total prior code history) was made publicly available 8 August 2014&lt;br /&gt;
* Initial build tests satisfactory for both NPS branch and original Yumetech trunk.&lt;br /&gt;
&lt;br /&gt;
Decision rationale follows for choice of source archive site.&lt;br /&gt;
&lt;br /&gt;
=== SourceForge ===&lt;br /&gt;
&lt;br /&gt;
* The current xj3d.org code is in subversion, this can be migrated completely&lt;br /&gt;
* Web3D already has numerous assets checked into the [https://sourceforge.net/projects/x3d Sourceforge X3D project], it is available&lt;br /&gt;
* Sourceforge also has related projects for [https://sourceforge.net/projects/jgeom jgeom] and [https://sourceforge.net/projects/open-dis open-dis]&lt;br /&gt;
* Multiple participants have experience with using and administering the Sourceforge site&lt;br /&gt;
* Instead of using the Web3D X3D project, can Web3D instead create a new and separate Sourceforge project for Xj3D to keep things a bit simpler?&lt;br /&gt;
* Can the new site maintain a side-by-side mirror of Xj3D.org and an refactored trunk, so that all updates are reliably accessible?&lt;br /&gt;
* Can the new site keep a new trunk adjacent but separate so that new developers can get started quickly?&lt;br /&gt;
* There is a lot of merit to using a version-control system that is familiar, especially as we try to integrate other Xj3D variants and prepare for SIGGRAPH milestones.&lt;br /&gt;
&lt;br /&gt;
=== GitHub ===&lt;br /&gt;
&lt;br /&gt;
* GitHub includes the X3DOM project and a few other X3D-related projects.&lt;br /&gt;
* We have reserved an [https://github.com/x3d X3D Xj3D] project site on GitHub as a placeholder. This might be useful for cross-links and future evolution.&lt;br /&gt;
* The [https://github.com/pricing github pricing policy] does not cost money to operate an open-source organizational repository.&lt;br /&gt;
* We are looking at migration of subversion to git.. appears possible but somewhat involved.&lt;br /&gt;
* If we do migrate to GitHub, that will likely complicate the re-integration of other existing subversion-based exports of Xj3D.&lt;br /&gt;
&lt;br /&gt;
=== Maven ===&lt;br /&gt;
&lt;br /&gt;
* [http://maven.apache.org Apache Maven] can encourage a variety of build possibilities and paired support between multiple projects, especially for Java. Who has some experience, or wants to experiment, with adding it?&lt;br /&gt;
&lt;br /&gt;
== Web3D.org Website ==&lt;br /&gt;
Several project builds are maintained on external repositories but their corresponding websites are automatically built and updated on [http://www.web3d.org web3d.org]&lt;br /&gt;
&lt;br /&gt;
=== Web3D summary page ===&lt;br /&gt;
&lt;br /&gt;
* TODO: have ''www.web3d.org/xj3d'' (or somesuch) provide an official summary page for Xj3D community on new web3d.org website&lt;br /&gt;
* TODO: find and cleanup or move other wiki pages for Xj3D - somewhat gated by difficulties with web3d.org wiki.&lt;br /&gt;
&lt;br /&gt;
=== Mailing list considerations ===&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium maintains the mailing list archives.&lt;br /&gt;
* Discussion list ''[http://web3d.org/mailman/listinfo/source_web3d.org source@web3D.org]'' seems to be a misnomer, perhaps it should be restarted as ''xj3d@web3d.org''&lt;br /&gt;
* This list is also used for discussions on the SourceForge [https://sourceforge.net/projects/jgeom/?source=directory jgeom] project, so perhaps the current name is actually OK&lt;br /&gt;
* Commits list ''[http://web3d.org/mailman/listinfo/source_web3d.org source_x3d_cvs@web3d.org]'' and commits account ''[http://web3d.org/mailman/listinfo/source_web3d.org cvs-user@xj3d.org]'' are also mis-named since subversion is used&lt;br /&gt;
&lt;br /&gt;
Another alternative option:&lt;br /&gt;
* Move all discussion and reporting lists to the sourceforge repository in order to maximize community productivity. In that case, the prior email lists are simply closed and kept archived, which also reduces the web3d.org administrative burden.&lt;br /&gt;
&lt;br /&gt;
Resolution: we maintained stability with the ''[http://web3d.org/mailman/listinfo/source_web3d.org source@web3D.org]'' list.&lt;br /&gt;
&lt;br /&gt;
== TODO: Opportunities and upcoming tasks ==&lt;br /&gt;
&lt;br /&gt;
=== Merge orphaned Xj3D codebases ===&lt;br /&gt;
&lt;br /&gt;
Separate projects have made excellent improvements to Xj3D over the years, but were never re-integrated into the master code base. We hope to capture, merge and test these improvements in version control, and then issue a series of new releases.&lt;br /&gt;
* NPS has maintained an [https://savage.nps.edu/Savage/developers.html#Xj3D Xj3D branch] that is used in multiple tools: X3D-Edit, example archives image generation, AUV Workbench, Viskit&lt;br /&gt;
* [http://www.web3d.org/case-studies/structure-and-form-analysis-system-safas/e-learning-and-e-design Structure And Form Analysis System (SAFAS)], Nicholas Polys, Virginia Tech (VT) &lt;br /&gt;
* [http://www.partdb.com PartDB Inc.], Hyokwang Lee, Don Brutzman and Terry Norbraten&lt;br /&gt;
* [http://www.aniviza.com/svn/listing.php Aniviza modifications for NASA WorldWind] by Rick Goldberg&lt;br /&gt;
* [https://github.com/Norkart/NK-VirtualGlobe Norkart/NK-VirtualGlobe], Rune Aasgaard&lt;br /&gt;
* Others?&lt;br /&gt;
&lt;br /&gt;
Please [mailto:source@web3d.org,brutzman@nps.edu,tdnorbra@nps.edu?subject=Xj3D%20inquiry contact us] if you have source code to integrate into the Xj3D project.&lt;br /&gt;
&lt;br /&gt;
=== Xj3D issue tracking ===&lt;br /&gt;
&lt;br /&gt;
Currently two bugzilla sites are in existence. They need to be merged and become active.&lt;br /&gt;
* [http://bugzilla.xj3d.org bugzilla.xj3d.org] (master)&lt;br /&gt;
* [https://www.movesinstitute.org/bugzilla/buglist.cgi?quicksearch=xj3d NPS bugzilla] &lt;br /&gt;
&lt;br /&gt;
TODO: for maximum reliability over long term, we need to migrate to the SourceForge tickets tracker. Past bugs and issues can be transcribed as appropriate to maintain historical rationales.&lt;br /&gt;
&lt;br /&gt;
=== Xj3D website improvements ===&lt;br /&gt;
&lt;br /&gt;
The orginal [http://www.xj3d.org Xj3D website] is moderately complete but woefully out of date. &lt;br /&gt;
&lt;br /&gt;
TODO website migration: &lt;br /&gt;
* Confirm that website pages and documentation are checked into version control&lt;br /&gt;
* Automate website updates by synchronizing with version control&lt;br /&gt;
* Offer ways for people to contribute bug reports, issues, improvements&lt;br /&gt;
&lt;br /&gt;
=== Programming problems ===&lt;br /&gt;
&lt;br /&gt;
Several areas of Xj3D implementation are problematic. Dedicated attention and teamwork may help.&lt;br /&gt;
* Better run-time exception reporting (most log entries are completely obscure)&lt;br /&gt;
* Confirm updated jogl rendering is working, especially z-buffer and aliasing&lt;br /&gt;
* Extrusion node support for orientation field (overall passes 7 of 10 tests)&lt;br /&gt;
* Image rendering timing can miss colors/textures and hangs on numerous examples&lt;br /&gt;
* Compressed binary encoding hangs on numerous examples, but the apparent list of exception errors seems short&lt;br /&gt;
* Ensure that we are keeping current with [http://jogamp.org JOGAMP] (formerly java.net JOGL, includes JOAL JOCL etc.) and the [http://aviatrix3d.j3d.org Aviatrix3D] render layer ([https://github.com/j3d/aviatrix3d github]), administered by Justin Couch&lt;br /&gt;
* FontStyle implementation is incorrect. See example [http://www.web3d.org/x3d/content/examples/ConformanceNist/Appearance/FontStyle/_pages/page01.html FontStyle/default]&lt;br /&gt;
&lt;br /&gt;
Other project efforts are always welcome.&lt;br /&gt;
* [https://savage.nps.edu/X3D-Edit X3D-Edit] update report&lt;br /&gt;
* Automatic creation of viewpoint images for all scenes in the [http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples X3D Examples] archives&lt;br /&gt;
&lt;br /&gt;
All inputs and contributions are welcome. Have fun with Xj3D!&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9802</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9802"/>
				<updated>2019-03-15T09:15:36Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: restore prior section sequencing - alphabetical, easier to follow&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# Implement, evaluate examples, refine, resolve all related issues,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# Board of Directors consider whether draft spec is a public release to encourage engagement - or not.&lt;br /&gt;
# '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Confirm implement/evaluate examples complete&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# '''Web3D deadline for new additions to X3Dv4: 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# '''Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9801</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9801"/>
				<updated>2019-03-08T17:33:33Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Timeline (new section) */ section title now simply Timeline&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# Implement, evaluate examples, refine, resolve all related issues,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# Board of Directors consider whether draft spec is a public release to encourage engagement - or not.&lt;br /&gt;
# '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Confirm implement/evaluate examples complete&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# '''Web3D deadline for new additions to X3Dv4: 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# '''Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9800</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9800"/>
				<updated>2019-03-08T17:32:48Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Timeline (new section) */ omit cycle question&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# Implement, evaluate examples, refine, resolve all related issues,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# Board of Directors consider whether draft spec is a public release to encourage engagement - or not.&lt;br /&gt;
# '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Confirm implement/evaluate examples complete&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# '''Web3D deadline for new additions to X3Dv4: 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# '''Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9799</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9799"/>
				<updated>2019-03-08T17:29:58Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Timeline (new section) */ editorial rephrase; omit Web3D approval after ISO process&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# Implement, evaluate examples, refine, resolve all related issues,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# Board of Directors consider whether draft spec is a public release to encourage engagement - or not.&lt;br /&gt;
# '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Confirm implement/evaluate examples complete&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# '''Web3D deadline for new additions to X3Dv4: 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# '''Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
Under consideration: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9798</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9798"/>
				<updated>2019-03-08T17:27:48Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Timeline (new section) */ remove (suggested date)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# Implement, evaluate examples, refine, resolve all related issues,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# Board of Directors consider whether draft spec is a public release to encourage engagement - or not.&lt;br /&gt;
# '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Confirm implement/evaluate examples complete&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# '''Web3D deadline for new additions to X3Dv4: 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# '''Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO'''&lt;br /&gt;
# (TODO is this step necessary?) Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9797</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9797"/>
				<updated>2019-03-08T17:26:01Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Timeline (new section) */ public release of draft considerations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# Implement, evaluate examples, refine, resolve all related issues,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# Board of Directors consider whether draft spec is a public release to encourage engagement - or not.&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Confirm implement/evaluate examples complete&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# '''Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO'''&lt;br /&gt;
# (TODO is this step necessary?) Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9796</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9796"/>
				<updated>2019-03-08T17:24:43Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Timeline (new section) */ clarify public release of draft mid-year&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# Implement, evaluate examples, refine, resolve all related issues,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that draft spec is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Confirm implement/evaluate examples complete&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# '''Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO'''&lt;br /&gt;
# (TODO is this step necessary?) Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9795</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9795"/>
				<updated>2019-03-08T17:22:32Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Timeline (new section) */ mod examples bullet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# Ymplement, evaluate examples, refine, resolve all related issues,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Confirm implement/evaluate examples complete&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# '''Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO'''&lt;br /&gt;
# (TODO is this step necessary?) Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9794</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9794"/>
				<updated>2019-03-08T17:21:11Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Timeline (new section) */ move up implement/evaluate/examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# Implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# '''Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO'''&lt;br /&gt;
# (TODO is this step necessary?) Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9793</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9793"/>
				<updated>2019-03-08T17:16:30Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Timeline (new section) */ TODO rephrase&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# '''Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO'''&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (TODO is this step necessary?) Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9792</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9792"/>
				<updated>2019-03-08T17:15:44Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Timeline (new section) */ TODO&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# '''Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO'''&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (TODO does this make sense?) '''Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9791</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9791"/>
				<updated>2019-03-08T17:14:50Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Timeline (new section) */ bolding&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# *Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO*&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) '''Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9790</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9790"/>
				<updated>2019-03-08T17:07:09Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Excluded Capabilities */ clarification of SVG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* '''Scalable Vector Graphics (SVG)''' Native support for image generation on the fly, images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].  Note that event-based interaction by an X3D scene with an SVG image, all within an HTML5 pages, is still expected as a future capability.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) '''Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9789</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9789"/>
				<updated>2019-03-08T17:03:33Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Excluded Capabilities */ moved capabilities down&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* Native support for Scalable Vector Graphics (SVG).&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) '''Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9788</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9788"/>
				<updated>2019-03-08T17:02:58Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: SVG moved to excluded&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* Native support for Scalable Vector Graphics (SVG).&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) '''Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9787</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9787"/>
				<updated>2019-03-08T17:02:02Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Excluded Capabilities */ SVG entry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named CADInteractive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are evaluated as &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* Native support for Scalable Vector Graphics (SVG).&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) '''Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9785</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9785"/>
				<updated>2019-03-08T16:57:05Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Deferred Capabilities */ Mixed Augmented Reality (MAR) are deferred to X3Dv4.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' a new profile to be named Interactive, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
In general, new capabilities for Mixed Augmented Reality (MAR) are deferred to X3Dv4.1.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) '''Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9783</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9783"/>
				<updated>2019-03-08T16:47:08Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Candidate Capabilities */ PointProperties removed from Candidate, now Accepted&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) '''Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9782</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9782"/>
				<updated>2019-03-08T16:43:14Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Accepted Capabilities */ feasible&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further feasible work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) '''Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9781</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9781"/>
				<updated>2019-03-08T16:40:13Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Approved Capabilities */ X3Dv4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities for X3Dv4 are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) '''Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9780</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9780"/>
				<updated>2019-03-08T16:39:19Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Accepted Capabilities */ Accepted&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are accepted in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) '''Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9779</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9779"/>
				<updated>2019-03-06T18:01:53Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Timeline (new section) */ highlight&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) '''Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019'''&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) '''Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9778</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9778"/>
				<updated>2019-03-06T18:00:10Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Timeline (new section) */ highlight dates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) '''Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences''',&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) *Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019*&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) '''Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020'''&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9777</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9777"/>
				<updated>2019-03-04T21:29:59Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Capabilities */ cosmetic&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO link reference pages on Web3D.org&lt;br /&gt;
* TODO link specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
* TODO how to track examples?&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below, edit for clarity and consistency.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved.&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) *Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences*,&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) *Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019*&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) *Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020*&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9776</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9776"/>
				<updated>2019-03-04T17:49:24Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Candidate Capabilities */ editorial&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO: insert specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
* Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
* Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
&lt;br /&gt;
Working notes:&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a [https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1 draft 19775-3] in github for HTML5-X3D&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
# Discussion (move onto Mantis and mailing list): should we consider adding X3DUOM descriptive prose in Concepts section?  It is becoming essential to confirming that node interfaces are well specified and implementable precisely/interoperably in various X3D file encodings and language bindings.&lt;br /&gt;
## Summary: &amp;quot;[http://www.web3d.org/specifications/X3DUOM.html X3DUOM] fully defines all object-oriented relationships for nodes, fields and abstract interfaces in the X3D Architecture.  X3DUOM is a validatable expression of X3D relationships that can be applied to implement various X3D file encodings and programming-language bindings.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) *Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences*,&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) *Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019*&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) *Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020*&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9775</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9775"/>
				<updated>2019-03-04T17:41:34Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Candidate Capabilities */ notes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO: insert specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
# Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
# Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
## Of note: Roy created a draft 19775-3 in github for HTML5-X3D&lt;br /&gt;
https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC%2019775/ISO-IEC%2019775-3/ISO-IEC%2019775-3%20V4.0/ISO-IEC%2019775-3%20V4.0%20WD1&lt;br /&gt;
## Don and Dick will look at prior materials and create draft annex structure for HTML5-DOM in X3D Architecture 19775-1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) *Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences*,&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) *Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019*&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) *Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020*&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9774</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9774"/>
				<updated>2019-03-04T17:40:40Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Candidate Capabilities */ X3D-HTML5 integration in a new Annex&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO: insert specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
# Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
# Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
# Discussion from 24 FEB 2019: put X3D-HTML5 integration in a new Annex in 19775-1 to see if that works.  Much easier lift procedurally than starting a separate 19775-3 specification.  Dick described tradeoffs.  Seems like a good idea to put candidate text in an Annex before committing to a whole new specification.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) *Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences*,&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) *Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019*&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) *Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020*&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9773</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9773"/>
				<updated>2019-03-04T17:38:19Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Accepted Capabilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO: insert specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
# Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
# Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) *Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences*,&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) *Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019*&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) *Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020*&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9772</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9772"/>
				<updated>2019-03-04T17:37:34Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Accepted Capabilities */ link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO: insert specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] (spreadsheet [http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, interchangeable avatars, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
# Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
# Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) *Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences*,&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) *Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019*&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) *Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020*&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9771</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9771"/>
				<updated>2019-03-04T17:35:34Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Accepted Capabilities */ whitespace&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO: insert specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison] &lt;br /&gt;
([http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, interchangeable avatars, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
# Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
# Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) *Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences*,&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) *Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019*&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) *Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020*&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9770</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9770"/>
				<updated>2019-03-04T17:34:37Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Accepted Capabilities */ sort&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
* TODO: insert specification-tracking spreadsheet&lt;br /&gt;
* [http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf X3D Node Inventory Comparison]&lt;br /&gt;
([http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, interchangeable avatars, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
# Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
# Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) *Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences*,&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) *Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019*&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) *Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020*&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9769</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9769"/>
				<updated>2019-03-04T17:33:39Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Accepted Capabilities */ links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, interchangeable avatars, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
TODO: insert specification-tracking spreadsheet&lt;br /&gt;
&lt;br /&gt;
[X3D Node Inventory Compariso http://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf]&lt;br /&gt;
([http://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx .xlsx]) shows implementation coverage&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
# Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
# Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) *Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences*,&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) *Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019*&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) *Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020*&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9768</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9768"/>
				<updated>2019-03-04T17:29:36Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Schedule */ insert Timeline from working group meeting 24 FEB 2019&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, interchangeable avatars, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
# Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
# Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Timeline (new section) ==&lt;br /&gt;
&lt;br /&gt;
# links to guiding Web3D pages on spec strategy and process,&lt;br /&gt;
# link to status tracking spreadsheet,&lt;br /&gt;
# we effectively have a Web3D/ISO Working Draft (WD) now,&lt;br /&gt;
# we continue adding components/nodes via working group process,&lt;br /&gt;
# (currently) Mantis is where issues, draft spec functionality and design tradeoffs are captured, reviewed and approved,&lt;br /&gt;
# Apply new prose sections in github spec repository (by Dick and I, many improvements occurred this week),&lt;br /&gt;
# (suggested) *Web3D announces X3D v4 Working Draft availability at Web3D &amp;amp; SIGGRAPH 2019 conferences*,&lt;br /&gt;
# TODO consider whether that is a public release to encourage engagement - or not.&lt;br /&gt;
# Working Group continues to add nodes and components,&lt;br /&gt;
# Excerpted draft spec and implementation details posted for public comment on a per-component basis ~monthly,&lt;br /&gt;
# (suggested date) *Web3D announces plans to close additions to X3Dv4 on 16 DEC 2019*&lt;br /&gt;
# +1 month, final public comments period and editorial work, member review, Board review and approval&lt;br /&gt;
# Web3D submits New Work Item Proposal (NWIP) and Committee Draft (CD) to ISO&lt;br /&gt;
# implement, evaluate examples, refine, resolve all related issues&lt;br /&gt;
# (suggested date) *Web3D approves, submits X3Dv4 Draft International Spec DIS to ISO at Web3D 2020*&lt;br /&gt;
# ISO dates/deadline for DIS/FDIS/IS proceed&lt;br /&gt;
# Work begins on X3Dv4.1 Working Draft (WD)&lt;br /&gt;
&lt;br /&gt;
TODO: is an annual cycle possible?&lt;br /&gt;
&lt;br /&gt;
== Schedule (old section, review and merge with Timeline) ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9767</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9767"/>
				<updated>2019-03-04T17:24:40Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: sort sections for further review&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, interchangeable avatars, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
# Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
# Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9766</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9766"/>
				<updated>2019-03-04T17:22:13Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Capabilities */ definition linked&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, interchangeable avatars, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
# Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
# Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Deprecation#Software_deprecation Deprecation] means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9765</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9765"/>
				<updated>2019-03-04T17:19:23Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Candidate Capabilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, interchangeable avatars, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
# Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
# Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Deprecation https://en.wikipedia.org/wiki/Deprecation#Software_deprecation means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	<entry>
		<id>https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9764</id>
		<title>X3D version 4.0 Development</title>
		<link rel="alternate" type="text/html" href="https://old.web3d.org/wiki/index.php?title=X3D_version_4.0_Development&amp;diff=9764"/>
				<updated>2019-03-04T17:18:45Z</updated>
		
		<summary type="html">&lt;p&gt;Brutzman: /* Candidate Capabilities */ layout&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.web3d.org/x3d4 X3D Version 4] is a major upgrade to the Extensible 3D (X3D) Graphics International Standard that aligns with the HTML5 Recommendation. This is major work in progress, expected to include several future versions.  This effort is driven by the X3D Graphics Working Group with regular community outreach.&lt;br /&gt;
&lt;br /&gt;
==Genesis and Strategic Overview==&lt;br /&gt;
&lt;br /&gt;
Web3D Consortium working groups currently define specification goals and requirements. Working group efforts are often the focus for defining and testing new X3D components.&lt;br /&gt;
&lt;br /&gt;
We publicly review these goals annually during [http://web3dconference.org/ Web3D Conference] and [http://www.siggraph.org/attend/annual-conferences SIGGRAPH] Birds of a Feather (BOF) meetings ([http://www.web3d.org/event/siggraph-2016-conference-colocated-web3d-2016-anaheim-california SIGGRAPH 2016], upcoming SIGGRAPH 2017).&lt;br /&gt;
&lt;br /&gt;
Suggestions, development and discussion via the [http://web3d.org/mailman/listinfo/x3d-public_web3d.org x3d-public mailing list] is ongoing.&lt;br /&gt;
&lt;br /&gt;
X3D version 3.4 Development efforts were evolutionary improvements to the widely proven X3D Graphics architecture.  Consortium members decided to skip version 3.4 and go straight to version 4.0, prior goals and requirements have all been merged here.&lt;br /&gt;
&lt;br /&gt;
The [http://www.web3d.org/wiki/index.php?title=X3D_version_4.0_Development#Candidate_Capabilities Candidate Capabilities] list shows that a lot of interesting capabilities have been proposed and are under way for X3D version 4. However, topics on this list are not guaranteed to be completed! Rather these are all works in progress.&lt;br /&gt;
&lt;br /&gt;
Activity and approval proceeds based on technical contributions and Web3D Consortium Member priorities. Please consider [http://web3d.org/membership/join joining Web3D Consortium] to help advance 3D graphics on the Web.These X3D version 4.0 Development efforts are considering potentially major additions to the baseline X3D architecture.&lt;br /&gt;
&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_HTML5 HTML5], [http://www.w3.org/community/declarative3d/ Declarative 3D], CSS, [http://www.x3dom.org X3DOM] (see [http://web3d.org/wiki/images/f/f2/X3DOM_4_WebGL_audience_10_2013.pdf Summary slides (Oct 2013)]), and [http://titania.create3000.de/cobweb/ Cobweb]&lt;br /&gt;
* Major technology under consideration: [http://www.web3d.org/wiki/index.php/X3D_and_Augmented_Reality Mixed and Augmented Reality (MAR)] (renamed from Augmented Reality Continuum (ARC)&lt;br /&gt;
* Relaxing prior design constraints can enable a broader new basis for X3D integration&lt;br /&gt;
* Normalizing interaction semantics with HTML5 can further open up X3D for the vast majority of Web authors&lt;br /&gt;
&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered. X3D Futures planning is primarily a Web3D Consortium member-only activity, with community input.&lt;br /&gt;
&lt;br /&gt;
== Legacy Issues ==&lt;br /&gt;
&lt;br /&gt;
We plan to confirm the existence of complete capabilities for X3D v3.3 prior to final approval of X3D version 4.&lt;br /&gt;
&lt;br /&gt;
* Full support for all existing X3D v3.3 components:&lt;br /&gt;
** At least two compatible implementations (including at least one in open source) plus repeatable example scenes&lt;br /&gt;
** Layer, ParticleSystems, RigidBodyPhysics, Shaders, TODO others&lt;br /&gt;
** TransformSensor node: [http://doc.instantreality.org/documentation/nodetype/TransformSensor/ IGD] and [http://www.parallelgraphics.com/developer/products/cortona/extensions/transformsensor/ old Cortona]&lt;br /&gt;
** Note that it is not a requirement that all features and capabilities in X3D V3.3 are included in V4.0&lt;br /&gt;
&lt;br /&gt;
* Is it necessary for Layout component to be deprecated or improved?&lt;br /&gt;
* Are there other features or capabilities that should not or are not able to move into V4.0?&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
Component improvements and additions considered and recommended by the X3D Working Group, with review by the X3D community.&lt;br /&gt;
The draft X3D specifications are approved by Web3D Consortium Board of Directors and then submitted to ISO for ratification.&lt;br /&gt;
&lt;br /&gt;
All suggestions and recommendations are welcome.&lt;br /&gt;
Please [http://www.web3d.org/realtime-3d/contact contact us] if you think additional technologies need to be considered.&lt;br /&gt;
&lt;br /&gt;
=== Accepted Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are approved in principle by the X3D Working Group.&lt;br /&gt;
Further work remains in specification writing, examples, implementation and evaluation.&lt;br /&gt;
&lt;br /&gt;
TODO copy full entries from below.&lt;br /&gt;
&lt;br /&gt;
* [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/h-anim Humanoid Animation (HAnim)]''' version 2: anatomical correctness for skeleton and skinning, motion animation, interchangeable avatars, hands and feet. Future: faces, organs&lt;br /&gt;
* Lighting model: glTF and Physically Based Rendering (PBR)&lt;br /&gt;
* Materials: improvements to Material and TwoSidedMaterial&lt;br /&gt;
** to make them modern (e.g. normal maps)&lt;br /&gt;
** consistent with PhysicalMaterial (e.g. texture slots inside Material).&lt;br /&gt;
* Texturing - Projective Texture Mapping (PTM), Environment Lighting&lt;br /&gt;
* PointProperties&lt;br /&gt;
* Volume Rendering component extensions&lt;br /&gt;
* Security Considerations section added to each component.&lt;br /&gt;
&lt;br /&gt;
=== Approved Capabilities ===&lt;br /&gt;
&lt;br /&gt;
These capabilities are published in the github draft X3Dv4 specification, reviewed by the X3D community for comment, fully recommended by the X3D Working Group, and approved by the Web3D Consortium Board of Directors.&lt;br /&gt;
&lt;br /&gt;
* No capabilities are yet approved&lt;br /&gt;
&lt;br /&gt;
=== Candidate Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Candidate capabilities are under active consideration by the X3D Working Group.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
# Each of the following possibilities for X3D version 4 have been discussed by the various X3D working groups during meetings and on mailing lists.&lt;br /&gt;
# Each potential capability is considered to be a feasible (and in most cases, straightforward) addition to the existing X3D version 3.3 architecture.&lt;br /&gt;
# TODO: Which experimental nodes implemented by X3D browsers are ready for consideration? Candidates include [http://doc.instantreality.org Fraunhofer], X3DOM, Cobweb, other members and working groups?&lt;br /&gt;
# TODO: articulate server-side visualization: Big Data, cloud computing, and related issues.&lt;br /&gt;
&lt;br /&gt;
Nodes and components:&lt;br /&gt;
*'''Appearance'''&lt;br /&gt;
**'''Images''': recommended formats for imagery and video (.gif .bmp .flv .exr .hdr etc.) - details below:&lt;br /&gt;
***'''GIF''': [http://www.w3.org/Graphics/GIF/spec-gif89a.txt &amp;quot;Graphics Interchange Format, Version 89a&amp;quot;], W3C. 31 July 1990.&lt;br /&gt;
***'''BMP''': [https://en.wikipedia.org/wiki/BMP_file_format BMP]. Note: Originally developed by Microsoft for OS/2 and Windows.&lt;br /&gt;
***'''FLV''': &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf FLV and F4V] usage has been deprecated by browser manufacturers.&amp;lt;/span&amp;gt;&lt;br /&gt;
***'''EXR''': [http://www.openexr.com/openexrfilelayout.pdf EXR file layout], developed as OpenEXR by Industrial light and magic (ILM). This requires HDR (see below).&lt;br /&gt;
***'''Khronos Texture Format (KTX)''': Khronos [https://www.khronos.org/opengles/sdk/tools/KTX KTX File Format]&lt;br /&gt;
***'''QR codes''': [http://en.wikipedia.org/wiki/QR_code QR codes], while useful in Mixed Augmented Reality (MAR) applications, are a content representation and not a file format.&lt;br /&gt;
***'''attributes''': width_changed, height_changed, aspectRatio_changed with accessType outputOnly&lt;br /&gt;
**'''SVG''': Possible use of SVG for image generation on the fly.  Images could be static or dynamic. See [https://www.w3.org/Graphics/ W3C Graphics on the web].&lt;br /&gt;
**'''Materials''': advanced parameters&lt;br /&gt;
**'''HDR''': Improvements in both materials and rendering for high definition rendering (HDR) technological advances.&lt;br /&gt;
**[[X3D Multitexture | Multitexture]]: review for correctness, completeness and conformance of rendering example scenes&lt;br /&gt;
**'''Rendering''': bump maps, [http://doc.instantreality.org/tutorial/dynamic-shadows/ shadows], edge smoothing, gamma correction, Non-Photorealistic Rendering (NPR)&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/shaders.html Shaders]: improved support and better interoperability, library of examples; [http://doc.instantreality.org/documentation/nodetype/CommonSurfaceShader/ CommonSurfaceShader?]&lt;br /&gt;
**'''Texturing''': [http://en.wikipedia.org/wiki/Texture_atlas Texture atlas], [http://en.wikipedia.org/wiki/Projective_texture_mapping projective texture mapping (PTM)], [http://www.xj3d.org/extensions/render_texture.html RenderedTexture node] for multipass rendering - 2D texture version of GeneratedCubeMapTexture, first proposed by Xj3D and also implemented in X3DOM and InstantReality, useful for all kinds of NPR, shadows, mirrors, etc. Also review 8-bit vs 24-bit texture application differences - see https://castle-engine.sourceforge.io/x3d_multi_texturing.php#section_default_texture_mode.&lt;br /&gt;
**'''Chroma key''' for TextureProperties node to support special transparent background.&lt;br /&gt;
*'''Audio and video''': alignment with [https://www.w3.org/2011/audio W3C Audio Working Group], especially  for [https://webaudio.github.io/web-audio-api Web Audio API] and [https://webaudio.github.io/web-midi-api Web Midi API].&lt;br /&gt;
**''Considerations.'' Adding royalty-free formats, streamability, [http://web3d.org/pipermail/x3d-public_web3d.org/2013-December/002681.html disabling attenuation], 3D aural spatialization using reflection from simple geometry (such as [http://gamma.cs.unc.edu/Sound/RESound RESOUND]).&lt;br /&gt;
**''Point paper.'' [http://www.web3d.org/specifications/X3Dv4StrategiesToImproveSoundComponent.pdf Strategies to Improve X3D v4 Sound Component] for 3D sound model and audio rendering&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/computer-aided-design-cad Computer Aided Design (CAD)]''' Interactive Profile, to include:&lt;br /&gt;
**[http://www.web3d.org/wiki/index.php/X3D_v4.0_CAD_Improvements X3D v4.0 CAD Improvements] with 3D printing + 3D scanning included&lt;br /&gt;
**[http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html CADInterchange profile] plus FillProperties/LineProperties, primitive/Geometry2D nodes, Extrusion, NURBS, ClipPlane&lt;br /&gt;
**Part selection/animation, 3D printing, [http://www.web3d.org/realtime-3d/news/3d-graphics-compress-call-contributions Compressed Binary Encoding (CBE)], possibly [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html annotations component]&lt;br /&gt;
** Building Information Models (BIM), Architecture Engineering Construction (AEC), Physical Sensors&lt;br /&gt;
*'''[http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript]''' (Javascript) specification revision compatibility with [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html ECMAScript encoding]; possibly add C# or Python support. Note that minor changes in the current X3D Script node might be needed to enable full integration into HTML/DOM.&lt;br /&gt;
*'''Events'''&lt;br /&gt;
** Review X3D event interoperability with other event models, such as Document Object Model (DOM) Recommendations&lt;br /&gt;
** Add capability for Event logging and playback so that deterministic replay is possible for demonstrations and debugging&lt;br /&gt;
*'''Generalized input/output interface support'''&lt;br /&gt;
** Possibly [http://www.cs.unc.edu/Research/vrpn/index.html Virtual Reality Peripheral Network (VRPN)], gesture recognition (such as [http://en.wikipedia.org/wiki/Kinect KINECT], [http://www.leapmotion.com LEAP]), etc.&lt;br /&gt;
** Support for arbitrary sensors and user interaction devices&lt;br /&gt;
* '''Geometry'''&lt;br /&gt;
** PointSet point size, PointProperties (pointsprites), and associated Normal vectors; Octrees&lt;br /&gt;
** 3D Extruded Text&lt;br /&gt;
** Support for [http://en.wikipedia.org/wiki/Web_typography Web typography] using [http://www.w3.org/TR/WOFF Web Open Fonts Format (WOFF)]&lt;br /&gt;
** Progressive meshes (suitable for both compression and streaming)&lt;br /&gt;
** Support for direct loading of compressed [https://x3dom.org/src Shape Resource Container (SRC)] and [https://www.x3dom.org/examples/externalshape-with-gltf-binary-glb ExternalShape] from Fraunhofer&lt;br /&gt;
** Direct loading of other geometry meshes such as [https://en.wikipedia.org/wiki/STL_(file_format) STL] and [https://en.wikipedia.org/wiki/PLY_(file_format) PLY]&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/x3d-earth Geospatial X3D]''' component&lt;br /&gt;
** [http://www.igraphics.com/Standards/EnhancedGeospatialComponent_2007_10_30/Part01/X3D.html Enhanced Geospatial Component - spatial reference frame (SRF)] and [http://www.opengeospatial.org/standards/kml KML] support, [http://www.opengeospatial.org/projects/initiatives/3dpie OGC 3D Portrayal], [http://web3d.org/pipermail/x3d-public_web3d.org/2010-December/001187.html GpsSensor], [http://openlayers.org OpenLayer] mashups&lt;br /&gt;
** GeoSet collection of adjacent GeoElevationGrid nodes to enable proper computation of normals for edge boundaries of adjacent grids&lt;br /&gt;
* '''Interoperability''': include ''class'' attribute for all nodes to all encodings&lt;br /&gt;
* '''[http://www.json.org JSON]''': JavaScript Object Notation as an X3D encoding ([http://web3d.org/pipermail/x3d-public_web3d.org/2014-July/thread.html#2854 assessment thread]), relation to [http://www.khronos.org/gltf GlTF], streaming considerations&lt;br /&gt;
*'''[http://www.web3d.org/realtime-3d/working-groups/medx3d Medical working group]''' ImageTextureAtlas plus capabilities including recent Community Improvements to the Volume Component (Aberlaiz et al 2018 [https://dl.acm.org/citation.cfm?id=3075945], and MPR)&lt;br /&gt;
** [http://svn.xj3d.org/xj3d_website/trunk/extensions/annotation.html Annotations component] and metadata usage&lt;br /&gt;
** Archival 3D medical records, potential emphasis on [http://en.wikipedia.org/wiki/Traumatic_brain_injury Traumatic brain injury (TBI)] volume visualization&lt;br /&gt;
** Haptics component for force feedback; [http://www.w3.org/TR/vibration W3C Vibrations API] for tactile feedback&lt;br /&gt;
** Soft-body physics component to complement rigid-body physics component&lt;br /&gt;
* '''Mobile Profile.''' TODO - needed? Calling out a reduced palette for mobile devices remains interesting, but might instead remain a browser-optional optimization.&lt;br /&gt;
* '''[http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Nodereference Metadata]''': support for embedding information useful for applications utilizing X3D&lt;br /&gt;
** Enumerated types: better access, typing, naming, and validation than using MetadataSet/MetadataString combinations&lt;br /&gt;
* '''Mixed and Augmented Reality (MAR)''': follow ISO MAR Reference Model, integrate multiple capabilities with devices situated in real world&lt;br /&gt;
*'''Networking''': consider [http://www.web3d.org/x3d/content/examples/Basic/Networking NetworkSensor] and event-passing issues, streaming using [http://www.json.org JSON], server-side 3D topics&lt;br /&gt;
*'''Security and privacy''':&lt;br /&gt;
** Include X3D Networking Component Level 4 support for https in Immersive, Interactive and other commonly used profiles&lt;br /&gt;
** Review X3D specifications to ensure that Security Considerations are fully documented throughout in every component&lt;br /&gt;
** [http://www.w3.org/standards/xml/security XML Security] provides best-available encryption, digital signature (authentication)&lt;br /&gt;
** [http://www.w3.org/standards/webdesign/privacy Web Privacy]: examine X3D compatibility with Do Not Track, P3P, POWDER&lt;br /&gt;
*'''Viewing and navigation''': [http://www.web3d.org/x3d/content/examples/Basic/development/CameraExamplesIndex.html cinematic camera control], alternative navigation types (such as PAN, [http://www.x3dom.org/?p=3536 TURNTABLE] etc.), [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/behaviours.html Recommended navigation behaviours] review, and old MatrixTransform node (esp. useful for CAD, VR/AR etc., implemented in X3DOM and InstantReality)&lt;br /&gt;
*'''Virtual Reality (VR)''': requirements definition needed includes viewing with stereo devices, interocular distance, frame-rate requirements, comparison (and potential profile) for [https://webvr.info WebVR] capabilities, physiological considerations, health and safety, relation with Mixed Augmented Reality (MAR), etc.&lt;br /&gt;
&lt;br /&gt;
=== Deferred Capabilities  ===&lt;br /&gt;
&lt;br /&gt;
Deferred capabilities are candidates for inclusion in a follow-on version of X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Deprecated Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Deprecation https://en.wikipedia.org/wiki/Deprecation#Software_deprecation means that a feature will still be included for the next version, but is nevertheless expected to be removed in future versions.  This approach can simplify transition of content to a new approach.&lt;br /&gt;
&lt;br /&gt;
Under consideration:&lt;br /&gt;
* GeoOrigin node was deprecated in X3Dv3.3 and needs to be either restored or removed.&lt;br /&gt;
* Layout component - perhaps no longer needed, especially with HTML5 (and MAR) integration expected.&lt;br /&gt;
* Shaders component - deserved close reconsideration.&lt;br /&gt;
&lt;br /&gt;
=== Excluded Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Excluded capabilities are considered &amp;quot;out of scope&amp;quot; for X3D, and are not expected to be included in future versions.&lt;br /&gt;
&lt;br /&gt;
* None yet listed&lt;br /&gt;
&lt;br /&gt;
=== Removed Capabilities ===&lt;br /&gt;
&lt;br /&gt;
Removed capabilities will no longer be supported in X3Dv4.&lt;br /&gt;
&lt;br /&gt;
* None yet listed.&lt;br /&gt;
&lt;br /&gt;
== Backwards and Forwards Compatibility ==&lt;br /&gt;
&lt;br /&gt;
A major benefit of using the X3D standard is full backwards compatibility with prior VRML97 and X3D content.&lt;br /&gt;
Thanks to careful design and insistence on implementation/evaluation, the X3D International Standard has maintained both steady growth and interoperability ever since Virtual Reality Modeling Language (VRML) in 1997. This track record of stability and innovation is among the best in the 3D graphics industry.&lt;br /&gt;
&lt;br /&gt;
Our goal is to maximize, but not necessarily require, backwards compatibility in version 4.0 with the version 3.x specifications&lt;br /&gt;
* A great majority of X3D nodes and features are likely achievable without change&lt;br /&gt;
* Some X3D features may require import/export conversion for compatibility (event model reconciliation, ROUTEs and sensors perhaps)&lt;br /&gt;
* A few features might be refactored, deprecated or obsoleted (none yet identified)&lt;br /&gt;
* Name deconfliction: HTML Script versus embedded X3D Script&lt;br /&gt;
&lt;br /&gt;
The comprehensive forward compatibility of VRML97 and X3D with later-developed X3D versions shows that careful anticipatory design is achievable.&lt;br /&gt;
&lt;br /&gt;
X3D version 4.0 Development efforts are currently focused on HTML5, Declarative 3D, X3DOM, and Cobweb with many more issues under consideration.&lt;br /&gt;
* Discussion of [[Importing and adding nodes in HTML]]&lt;br /&gt;
&lt;br /&gt;
X3D Version 4.1 is focused on Mixed and Augmented Reality (MAR) capabilities, which may also require architectural changes. Some new technologies may get pushed from 4.0 to 4.1 (or back again) after careful consideration by the respective working groups.&lt;br /&gt;
&lt;br /&gt;
Related specification support and changes&lt;br /&gt;
*As with all other X3D components, all work is defined in the abstract specification has corresponding file encodings (.x3d .x3dv .x3db) and language bindings (ECMAScript and Java). &lt;br /&gt;
*Compatibility concerns include evolutionary efforts to upgrade the X3D Compressed Binary Encoding (CBE), as described in the [http://www.web3d.org/realtime-3d/working-groups/x3d/compressed-binary/x3d-compressed-binary-encoding-call-contributions X3D Compressed Binary Encoding Call For Contributions].&lt;br /&gt;
*ECMAScript (JavaScript) support in X3D needs to be upgraded to the new standard for that rapidly improving programming language.&lt;br /&gt;
**[http://standards.iso.org/ittf/PubliclyAvailableStandards/c055755_ISO_IEC_16262_2011(E).zip ISO/IEC 16262:2011 Information technology — ECMAScript language specification] (.zip download)&lt;br /&gt;
**Downloadable from [http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO Publicly Available Standards] site without charge&lt;br /&gt;
**This relates to [http://www.web3d.org/files/specifications/19777-1/V3.0/index.html 19777-1 Part 2, X3D Scene Access Interface (SAI) language bindings for EcmaScript]&lt;br /&gt;
&lt;br /&gt;
== Architectural Considerations ==&lt;br /&gt;
&lt;br /&gt;
This section will synopsize significant differences between X3D version 4 and X3D version 3 that may require structural changes in tools and scenes.  Special attention is needed to minimize incompatibilities with legacy software and content.&lt;br /&gt;
&lt;br /&gt;
Much depends on the target environment. X3D V3.x presumes a controlled environment that interacts with the rest of the (computing) world through a well defined API (called SAI). When X3D is running in the browser (as in fully integrated with the DOM), the DOM defines a portion of the environment in which X3D must operate. For that environment it will be necessary to make changes to X3D so that it is compatible with the DOM.&lt;br /&gt;
&lt;br /&gt;
== Open Questions ==&lt;br /&gt;
&lt;br /&gt;
* Are MAR abstract design and X3D AR proposals sufficiently mature to enable integration with HTML5/Declarative 3D/X3DOM/Cobweb issues?&lt;br /&gt;
* Are the previously X3D Layer/Layering components compatible with HTML5 overlay model? Are they still needed, perhaps for multiscreen or CAVE support?&lt;br /&gt;
* Mashup and interoperability support: is anything else needed for broader use with the Web? YouTube etc.&lt;br /&gt;
&lt;br /&gt;
== Related Work==&lt;br /&gt;
&lt;br /&gt;
Much careful planning is involved, we are working to ensure that X3D version 4 can be coherently advanced in combination with a [http://www.web3d.org/specifications/X3dSpecificationRelationships.png coordinated set of steadily evolving ISO/IEC standards].&lt;br /&gt;
*'''X3D Efficient Binary Encoding (EBE).''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings. See also SRC format (Web3D 2014)and ExternalGeometry node in InstantPlayer and X3DOM&lt;br /&gt;
*'''X3D JavaScript Object Notation (JSON) Encoding.''' This work is proceeding in parallel. X3D version 4 must maintain compatibility with all encodings.&lt;br /&gt;
*'''X3D version 4.0 (HTML5/X3D DOM)'''. This work is proceeding in parallel. X3D version 4 support is expected.&lt;br /&gt;
*'''X3D version 4.1 (Mixed and Augmented Reality)'''. Nodes and capabilities in this arena will build on v4.0 and HTML5.  Experimentation, evolution and evaluation occurs throughout.&lt;br /&gt;
** '''[[Essential Elements of X3D]]''' collects elements that are essential to X3D&lt;br /&gt;
&lt;br /&gt;
Technologies and activities that relate to X3D version 4 are: &lt;br /&gt;
* [https://webvr.info/ '''WebVR'''] &amp;quot;bringing virtual reality to the web&amp;quot; - standardize the interface to VR displays and controllers &lt;br /&gt;
* [https://www.w3.org/community/decwebvr/ '''W3C's Declarative WebVR Community Group'''] formed to developed a declarative 3D standard for WebVR&lt;br /&gt;
* [https://threejs.org/ '''three.js'''], a JavaScript library&lt;br /&gt;
* [https://aframe.io/ '''A-Frame'''] &amp;quot;a web framework for building virtual reality experiences&amp;quot;&lt;br /&gt;
* [http://xml3d.org/ '''XML3D'''] &amp;quot; seamless integration of 3D content into HTML pages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
'''ISO Considerations'''&lt;br /&gt;
* Deciding readiness for ISO New Work Item Proposal (NWIP): we need Committee Draft (CD) specification prose for each planned capability.&lt;br /&gt;
* Web3D Consortium is not locked into an annual schedule, ISO handling is flexible.&lt;br /&gt;
* Once the NWIP is approved, ISO rules for schedule and review are established.&lt;br /&gt;
&lt;br /&gt;
'''Execution goals'''&lt;br /&gt;
* Review progress during monthly calls, Web3D Conference, and SIGGRAPH Conference.&lt;br /&gt;
* We are continuing a monthly review schedule for submissions so that we can build out X3D version 4 one component at a time.&lt;br /&gt;
* We are planning to have a 1-year deadline for completion of CD specification prose, rather than wait until all possible version 4 work is ready.&lt;br /&gt;
* Web3D Consortium members and public review when a final draft specification is ready to proceed to ISO.&lt;br /&gt;
* Any new components not meeting Web3D deadlines might be a candidate for deferral to V4.1. Or considered not ready.&lt;br /&gt;
&lt;br /&gt;
'''Progress'''&lt;br /&gt;
&lt;br /&gt;
* Active development of X3D, X3DOM and Cobweb content is tracking HTML 5 capabilities now&lt;br /&gt;
* We participate and contribute to the W3C Community Group for [http://www.w3.org/community/declarative3d Declarative 3D]&lt;/div&gt;</summary>
		<author><name>Brutzman</name></author>	</entry>

	</feed>