Web3D Consortium, Graphics Progress and Prospects

X3D to the Rescue!

SIGGRAPH Tech Talk 28 July 2010

Don Brutzman Naval Postgraduate School Monterey California USA Topics • New Activities • Setting the stage • Common 3D challenges • How can X3D help? • X3D Profiles and Components • X3D Compressed Binary Encoding • Upcoming Activities • Conclusions and Recommendations Table of contents

New Activities

A lot of rapid progress is under way X3D effort is (even more) OPEN

(Press release) X3D Working Group will now make meeting minutes, deliberations etc. publicly available by default, increasing the openness of our efforts to the public • Member value remains, must be join Web3D to propose significant new technologies • Members still decide what specification changes to to ISO for ratification • IPR remains protected and royalty free Looking for even broader public feedback CAD working group will go OPEN

Lots of CAD efforts described in Web3D technical report to ISO TC184 • Met 82% of web-visualization assessment for STEP Confirming that participating Web3D members are OK with switching to open approach • Likely 1 month of due diligence, then publish report • Subsequent meeting focus: 2010-2011 roadmap • KAIST briefing on Parametric History reconstruction approach during Korean Chapter meeting Thursday We will unlock CAD models in X3D version 3.3 X3D Earth globe generation

NPS using supercomputer, data warehouse to autogenerate full globe models • NPS graduate thesis nearly complete • Details reported in conference workshop Four X3D Earth implementations! • X3D, FreeWrl, BS Contact Geo, InstantPlayer Membership opportunity: more work needed • Partnership expected to optimize across server, network and client simultaneously Online continuous build server

NPS has stood up an online continuous for X3D integration server for regular builds Developers • Uses open-source Hudson under Apache Performs nightly compilation builds of code, error-checking validation of model content • Xj3D open-source player and other tools • X3D example archives, all on SourceForge Provide further quality assurance (QA) for X3D • Guest account available on request Hudson example

Nightly build details are given for all tasks via Web interface

https://savage.nps.edu/hudson New Mobile HTML5 Profile

Dramatic X3DOM work by Fraunhofer plus recent mobile workshop by ISO in Busan Korea • Demonstrates that a new mobile + HTML5 profile for X3D is possible • Gives stable palette for X3D, HTML5 authors • Gives optimizable performance footprint for software companies building viewers Slideset describing profile is available online, lots of public discussion, members will decide Add AR to mobile/HTML5 profile?

Augmented Reality (AR) on mobile devices is compelling, and is primarily driven by • Sensors for location, posture • Video cameras • Handsets widely deployed in the “real world” Is it possible to add AR to our new profile? • Web3D members must implement/evaluate • Possible technical collaboration with Khronos to match WebGL, OpenGL-ES footprints well X3D version 3.3 draft specification

Many improvements, implementations include • Medical: volume visualization, annotations • CAD: boundary representations (B-REPS) • Geospatial refinements and DIS networking • Projective texture mapping, image formats • Augmented reality (AR) and video features • Camera control, SFX, computational photog. Matching updates: XML validation, examples, compressed binary and ClassicVRML encodings New E-learning interest group

Start goals: using X3D within e-books, wikis, learning tools, content management systems • Korea-chapter e-book example • NPS has connected X3D to ADL SCORM • E-book 3D figures in X3D for Web Authors ? • Discussing liaison partnership with IMS Global Learning Consortium More discussion: • Thursday's Korea Chapter BOF and [email protected] mailing list E-learning group charter goals 1

Type of group ✗ Working group: specification change? No ✔Special interest group: open participation

Partnerships with other organizations • World Wide Web Consortium (W3C) • Various ISO standards committees • ADL SCORM • IMS Global Learning Consortium: e-books, consider possible Memorandum of Understanding (MOU) • Others? E-learning group charter goals 2

Document exemplars and best practices for interlinked behaviors and presentations • Other languages: HTML4, HTML5, SVG, KML • Wikimedia, Wordpress, other blogging tools • E-books: IMS consortium • Learning management systems (LMS): Sakai, ADL SCORM, Blackboard, others • Content management systems (CMS): drupal, plone, others What else? Book: X3D for Web Authors

Book is available in softcover and e-book • Morgan Kaufman publishers • http://x3dGraphics.com Many accompanying assets freely available • Free authoring tool X3D-Edit • 300 example X3D scenes • 1200 slides, with accompanying notes • 36 hours of video covering 2 courses Students learn X3D without programming X3D to the Rescue!

People working together requires lots of coordination and communication

Web3D Consortium partnerships bring a lot of shared value to members, public Table of contents

Setting the Stage

Many intellectual and political assets brought us here Web3D Consortium

Web3D Consortium founded in 1998 to protect, support and advance the VRML specification • http://www.web3D.org Continued efforts on new technology by multiple working groups led its successor, X3D • http://www.web3D.org/x3d Non-profit organization of many stakeholders ensures that X3D remains royalty free, relevant • Partnership of industry, agency, academic and professional members Web3D.org May 2010 May 2010 Historical background: VRML

Virtual Reality Modeling Language (VRML) began in 1994, seeking to create 3D markup for Web • Numerous candidates considered by an open community of interested practitioners • SGI's OpenInventor won the initial competition • VRML 1.0 developed over the next year • VRML 2.0 restructured some nodes, added features VRML advanced to International Standard 14772 by ISO in 1997 What is Extensible 3D (X3D)?

X3D is a royalty-free open-standard • Communicate animated 3D scenes using XML • Run-time architecture for consistent user interaction • ISO-ratified standard for storage, retrieval and playback of real-time graphics content • Enables real-time communication of 3D data across applications: archival publishing format for Web • Rich set of componentized features for engineering and scientific visualization, CAD and architecture, medical visualization, training and simulation, multimedia, entertainment, education, and more XML file encoding

The Extensible Markup Language (XML) is a plain-text format used by many Web languages • Including Hypertext Markup Language (HTML) XML is used to define other data-oriented languages • Thus XML is not a language by itself, rather it is a language about languages, a metalanguage • Common XML basis enables better interoperability, opens a “path of least resistance” for data flow XML has many benefits and is well-suited for X3D XML in 10 Points http://www.w3.org/XML/1999/XML-in-10-points

XML is for structuring data XML is new but not that new XML looks a bit like HTML XML leads HTML to XHTML XML is text, but isn't meant to XML is modular be read disqualifier? XML is basis for RDF and the XML is verbose by design Semantic Web XML is a family of technologies XML is license-free, platform-independent and XML in 10 Points is a key reference for understanding the common underlying well-supported design principles underlying the great diversity of XML.

Only 4 pages long – essential reading. Web3D, ISO and X3D

Web3D implementation, evaluation, approval then formal review by the International Organization of Standardization (ISO) have made X3D an approved standard for archival real-world use, both on and off the Web. Experts from 12-15 nations review our specs. • Immediate adoption by other governing bodies helps to increase deployment. • Nevertheless all changes and additions originate within Web3D working groups. X3D Specifications

X3D graphics is defined by a set of specifications These “specs” are developed by working-group volunteers as part of the Web3D Consortium • Nonprofit organization with business, nonprofit, academic and professional members • http://www.web3D.org • Efforts include editing, implementing and evaluating Specification results reviewed and approved by International Organization of Standards (ISO) • http://www.iso.ch Specification availability The X3D specifications are online at • http://www.web3d.org/x3d/specifications • also embedded in the X3D-Edit help system The X3D specifications are published by the Web3D Consortium and International Organization of Standardization (ISO) • Web3D versions are published in HTML for free online • ISO publishes .pdf versions and requires purchase Feedback on X3D specifications is always welcome • http://www.web3d.org/x3d/specifications/spec_feedback Community rules

Thanks to an open process, IPR-protection rules and steady innovation by Web3D members, new X3D features continue to evolve and grow into great capabilities

• Lots of working groups have formed, worked, faded, regrouped and succeeded • • Web3D members and public mailing lists still keep these successes building, year after year Intellectual property rights (IPR)

Web3D and W3C have similar policies • Any known patented technology must be declared by members prior to consideration in safe haven of working groups • Any patented technology contributions must be licensed on a royalty-free (RF) basis for inclusion in an openly used Web standard http://www.web3d.org/membership Caveat: any legal problem can be solved, but only in advance! Must innoculate against patent problems Open source: at least one One of two independent implementations • Required for Web3D approval, standardization • Commercial codebases are welcome too, of course Open for any use, without license fees • Free = freedom to innovate, and freedom to fix! • Not necessarily free cost – your mileage may vary • More like “free puppy”, not “free beer” Common shared example implementations • Can provide a self-sustaining business model for continued activity, improvement • Can clear up logjams when companies can’t resolve interoperability issues due to proprietary code Web Security

X3D’s XML and Compressed Binary encodings allow use of W3C’s Security recommendations • XML Encryption demonstrated in NPS thesis • XML Digital Signature (for authentication) • XML Public key infrastructure

Security based on Web standards lets authors and companies protect their 3D model assets • Rather than “security through obscurity” Table of contents

Common 3D challenges Interoperability - what’s the difference? Multiple paths, but often confused as equal

Standard: proven process for content interoperability, scalability, compatibility, licensing, growth, success Specification: Algorithm descriptions, necessary detail • But: might hide royalty problems, such as GIF imagery debacle in 1990s Open source software: pile of (maybe repeatable) code • But: usage licensing is not same as source-code licensing Market share dominance: biggest competitor wins? • Companies (or at least investors) hope to “own” 3D • But: many defunct companies, dead-end technologies • Everyone ends up with much smaller market than the Web Is your 3D technology stable? Is your 3D technology stable? Is your 3D technology stable? Is your 3D technology stable? Is your 3D technology stable?

Community moved to www.redDwarfServer.org Is your 3D technology stable? Is your 3D technology stable? Stability is important!

• Most 3D graphics authors create lots of wonderful content, but it tends to “time out” and break after 2-3 years, simply becoming no longer usable due to software changes, company acquisitions or shutdowns, etc. • Creating quality 3D content is expensive, both in time and software costs • Something just as expensive: recreating that same 3D content when the underlying commercial technology no longer works Table of contents

How can X3D help?

X3D Capabilities video

BitManagement Software GmbH, Germany Web Interoperability

• XML and the Web: many ways to convert and adapt information into X3D • X3D is the 3D publishing format for the Web • Matches mainstream enterprise information technology: web services, chat, http, etc. • Numerous importers and converters • Numerous online resources at web3d.org • HTML 5 working group collaboration • Royalty-free standards do not “time out”  International interoperability

• Full support for various human languages, including left/right/up/down text alignment • Supports W3C internationalization (i18n)

• Web3D international membership, expertise • Korea Chapter proposing new technology

• Planning future workshop with W3C Web Accessibility Initiative (WAI) CAD Interoperability

• Boundary Representations (B-Reps) nodes • Draft CAD specification update held by Yumetech • ISO TC184 technical evaluation details show X3D fully competitive with other approaches • (Collada, U3D, JTOpen, some dropped out) • Close second-place finish, score 82% of 360 points • Good prospect of unlocking many thousands (millions?) of existing engineering models using Parametric History authoring log • Dr. Soonhung Han, Pranveer Singh KAIST CAD Parametric History approach

Numerous different CAD formats exist • No single dominant format • Formats typically obscure, engineering oriented • Companies carefully “protect” their customers Common denominators nevertheless exist • History file of author steps thus consistently applies fifty-term vocabulary consisting of B-Reps and constructive solid geometry (CSG) operations • History log can be converted into common syntax, then reconstruct original geometry • Current KAIST work targeted to produce X3D Doesn't this describe yet another kind of compression? GIS Interoperability

• X3D Earth: “mash up” globe data on-the-fly from OpenStreetMap and OpenAerialMap • OpenAerialMap reconstitution now in progress • Converting outputs from Open Geospatial Consortium (OGC) formats and tools • NPS is building full-fidelity globe for DTED datasets using a supercomputer-class cluster • Will repeat for other datasets, others are welcome to use our code/assets • Thesis publication by Dale Tourtelotte August 2010 X3D Earth OpenStreetMap exemplar X3D Earth OpenStreetMap exemplar File format interoperability

• Scene graph structures are quite common • Many converters exist to/from X3D, VRML • Converter list maintained in X3D Resources http://www.web3d.org/x3d/content/examples/X3dResources.html#Conversions

• Premier industry converter Okino Polytrans spent 2-year effort to rearchitect their software using X3D as central basis • Because X3D scene graph so common, consistent, and well-defined compared to other technologies • http://www.okino.com/conv/imp_vrml.htm X3D Resources: Conversion Network interoperability

• X3D Anchor node functionality matches HTML anchor element: jump or bookmark • Planning new capability: refresh/interval, similar to HTML refresh, to improve server-side interaction • Support slow to emerge for IEEE Distributed Interactive Simulation (DIS) protocol • Player/recorder in X3D-Edit • Open source OpenDIS codebase Java, C++, C#, and Objective C (for iPhone) • Integration with Sun's Darkstar massive multiplayer online game (MMOG) server – NPS thesis DIS Networking Test Panel X3D Mobile Progress

Multiple different implementations • BitManagement, Fraunhofer, Planet9, others Korea Chapter announced ISO study group • Busan Korea, 28-30 June 2010 • Present results at SIGGRAPH BOF meeting, July LA X3D Mobile Profile now proposed • finds common ground for mobile devices, HTML5 deployment, possibly Augmented Reality (AR) • Interchange profile geometry, user interaction model harmonized with HTML, optimized Javascript Interoperability with the future

Liaisons with partner standards organizations • International Standards Organizations (ISO) • World Wide Web Consortium (W3C) • Open Geospatial Consortium (OGC) • DICOM medical standards for visualization • The (Collada, WebGl)

Archival use over long term: maintain backwards compatibility with existing X3D Table of contents

X3D encodings, profiles and components Equivalent X3D encodings, APIs

X3D has multiple file-format encodings • .x3d is XML based • .x3dv is ClassicVRML syntax • .x3db is Compressed Binary Encoding with both geometric and information compression X3D has multiple application program interfaces (APIs) with similar structure • Javascript (formally known as EcmaScript) • Java (optionally supported) All these forms have equivalent functionality X3D specifications “honeycomb” diagram

X3D Specification is equivalently defined for all file encodings and programming APIs Need for subdivisions and subsets

3D graphics is a big and complicated subject • Beginning authors just want simple scenes • Experienced authors want to use everything Similar needs for browser software builders • Small rapid download for simple web graphics • Full-capability software for every possible technique Challenge: how to consistently support both? • Object-oriented decomposition for consistency • Key design criteria for bottom-up X3D extensibility • X3D design answer: profiles + components Profiles and components

Profiles are predefined collections of components • Can augmented each by adding other components Components are predefined collections of nodes • Further defined by level of complexity • Components match chapters in X3D specification Authors define the expected complexity of scene by defining profile level in the X3D header • Can also add optional components, if desired • This tells the X3D browser what level of support is needed for run-time operation Profiles cover common use cases

Profiles are a collection of components matching common levels of complexity

Profiles are X3D subsets • Collection of X3D nodes for for author's palette • Interchange suitable for simple geometry conversion • Interactive adds simple user interactivity (clicking etc.) • Immersive matches VRML97, plus a bit more • Full profile includes all nodes Table of contents

X3D Compressed Binary Encoding X3D Compressed Binary Encoding

Matched functional capability of X3D encodings • XML .x3d, ClassicVRML .x3dv, CBE .x3db Combines two types of compression • Geometric compression: polygon reduction, flattening/merging, representation techniques using Java3D compression (Deering algorithms) • Information-theoretic compression using XML-based ISO standard Fast Infoset (FI) Web3D Consortium, ISO approval July 2010 • Now aligning three independent implementations • Considering W3C Efficient XML Interchange (EXI) as likely future replacement for Fast Infoset X3D compression algorithm X3D decompression algorithm

Table of contents

Other Moving Targets X3D and HTML5 working group

X3D and HTML5 wiki is publicly available • http://www.web3d.org/x3d/wiki/index.php/X3D_and_HTML5

Large body of work completed already • X3D and HTML5 Summary slideset (.pdf) • HTML5 Recommendation Additions for Integrating X3D Graphics

Especially important: X3DOM (“X-Freedom”) project at http://x3dom.org Also runs on Apple Safari and Google Chrome current developmental browsers supporting WebGL

Collada comparison

Collada focused on model asset portability among authoring tools • Not a scene graph • Not a run-time definition for user interaction • Not focused on Web-compatible delivery Khronos.org produces no-cost standards • IPR policy is agreement between paying members Membership composed of industry companies • No membership: government, academia, individuals • Some cooperation with Web3D, but limited so far Collada importers, converters available for X3D WebGL comparison

• WebGL is OpenGL rendering layer, written in Javascript for use by Web browsers • High-performance browser Javascript are becoming commonplace (hooray!), but • How many folks are GL graphics programmers? Typically that skill set requires 1-2 years experience • Not yet clear whether WebGL programs will be widely runnable natively within Internet Explorer, since Microsoft products are based on DirectX

X3D players ride on top of these solutions Google

O3D is a GPU shader language by Google, providing an application programming interface (API) for advanced programming. • http://code.google.com/apis/o3d • http://code.google.com/p/o3d "The Chromium Blog has announced that O3D, formerly a plugin-based system for rendering 3d in a browser, is instead becoming an engine for WebGL, using Javascript. And the bits that can't be done in Javascript? Well, they will just move into the browser. The JavaScript implementation of O3D is still in its infancy, [...]” – Chromium blog, 7 May 2010 Google O3D shader API

“Grand cycle of reincarnation”

There have been many years (three decades actually) of application programming interface (API) evolution in 3D graphics. Table of contents

Upcoming Web3D Activities Web3D 2010 Conference Web3D Conference locations

• Cosponsored with SIGGRAPH, Eurographics • 2009: Darmstadt Germany, 70 attendees, hosted by Fraunhofer • 2010: Los Angeles, colocate with SIGGRAPH • 24-25 August 2010 • Marcello Zuffo chair, University of Sao Paolo • Review of paper submissions in progress • 2011: Paris France, hosted by EDF (Electricite de France) • 2012: Los Angeles, with SIGGRAPH Event calendar 2010

➢ Open Geospatial Consortium technical meeting, San Francisco January ➢ Web3D Conference Los Angeles CA, 24-25 July ➢ SIGGRAPH 2010 Los Angeles California, 25-29 July ➢ SIGGRAPH ASIA 2010 Seoul Korea, 15-18 December Web3D teleconferences every week

X3D group alternates with X3D-Earth group • Wednesday mornings • 08-0900 pacific, 16/17/1800 European time • Also Monday afternoon U.S., Tuesday morning Korea

Progress reports by various implementers, also discuss technical issues of common interest

These provide tremendous value to everyone Table of contents

Conclusions and Recommendations Conclusions and Recommendations

Web-based X3D interoperability reconciles diverse functionality in complementary ways • X in X3D = extensibility, supporting stable growth • Royalty-free standardization protects investments

Meaningful production, distribution, re-use of high-end X3D graphics can be commonplace • Enabling important work on the bigger challenges

X3D capabilities and deployment can rescue 3D graphics by publishing to the Web Contact

Don Brutzman

[email protected]

http://web.nps.navy.mil/~brutzman

Code USW/Br, Naval Postgraduate School Monterey California 93943-5000 USA 1.831.656.2149 voice 1.831.656.7599 fax References 1

X3D: Extensible 3D Graphics for Web Authors by Don Brutzman and Leonard Daly, Morgan Kaufmann Publishers, April 2007, 468 pages. • http://x3dGraphics.com

• http://x3dgraphics.com/examples/X3dForWebAuthors

X3D Graphics Specifications • http://www.web3d.org/x3d/specifications References 2

X3D Resources http://www.web3d.org/x3d/content/examples/X3dResources.html

Leonard Daly and Don Brutzman, “X3D: Extensible 3D Graphics Standard,” Standards in a Nutshell column, IEEE Signal Processing Magazine, vol. 24 no. 6, November 2007, pp. 130-133. Creative Commons open-source license http://creativecommons.org/licenses/by-nc-sa/3.0