Extensible 3D (X3D) GraphicsTechnical Overview Don Brutzman Web3D 2007, Perugia Italy, 15 April 2007 Naval Postgraduate School Monterey California USA firstname.lastname@example.org
Web3D 2007 Symposium • Sunday-Thursday 15-19 April 2007 • University of Perugia, Umbria Italy • Sponsored by ACM SIGGRAPH in cooperation with EuroGraphics and Web3D Consortium • http://www.web3D.org/web3d2007
Session 1: X3D Introduction • X3D Software Development Kit (SDK) • Installing X3D-Edit and Examples • Installing Xj3D and an X3D Plugin • History, Goals, Development, Capabilities • Chapter 1: Technical Overview • X3D for Web Authors, Don Brutzman and Leonard Daly, Morgan Kaufmann Publishers • Current Working Groups and Activities
Session 2: X3D Examples • Chapter 2: Geometry 1, Primitive Shapes • Chapter 3: Grouping • Chapter 4: Viewing and Navigation • Chapter 5: Appearance, Materials, Textures • Chapter 6: Geometry 2, Points Lines Polygons • Chapter 7: Event Animation • Chapter 8: User Interactivity
Session 3: X3D Examples • Chapter 9: Event Utilities and Scripting • Chapter 10: Geometry 3, Geometry2D • Chapter 11: Lighting and Environment • Chapter 12: Environment Sensors • Chapter 13: Geometry 4, Triangles • Chapter 14: Prototypes • Chapter 15: Metadata (online only)
Session 4: Scene Access Interface (SAI) • Alan Hudson, Yumetech • Installing Xj3D • Examples directory • Running in Netbeans
Introduction Topics • X3D-Edit, Xj3D, Plugin Installation • X3D Past • X3D Present • X3D Future • X3D Earth
X3D Software Development Kit (SDK) • Applications • Examples • Resources • Released annually at SIGGRAPH • Available in bulk to Web3D members • Time for 2007 contributions is now!
Contributing to 2007 X3D SDK • Become a Web3D Consortium member • http://www.web3D.org/join • Tell Jeff Weekley NPS • Get on sdk-info@web3D.org mailing list • Send or upload contributions
Xj3D Features, Installation • Standalone X3D application browser http://www.xj3d.org • Converter to/from various X3D formats including .wrl VRML97 • Open source Java • Example implementation of X3D Standard • Designers, primary contributors Yumetech http://www.yumetech.com
Installing an X3D plugin • Media Machines Flux: windows, open source • http://www.MediaMachines.com • CRC FreeWrl: Mac, open source • http:// • BitManagement Contact • http: • Octaga • http:
X3D-Edit • Simple NPS tool for teaching, authoring X3D • Thank you IBM for run-time license to use Xeena API builder freely with X3D-Edit • Helped develop X3D specification by showing X3D mappability to VRML • Much of X3D-Edit automated by XML itself • Document Type Definition (DTD), tooltips, conversion stylesheets for .wrl .x3dv .html
Context-sensitive, self-validating, multi-lingual editing tools X3D-Edit complete interface
X3D-Edit 3.2 design in progress • Scene-graph centric: XML tree and text editing • Not an immersive 3D authoring tool • Complete rebuild using Netbeans Platform • Pure Java, cross-platform, plugin, deployable • Embedded Xj3D views, node-specific helpers • Open source, tooltips, internationalization • Schedule: alpha SIGGRAPH, β December 2007
Applications Authoring Tools Authoring Support Books Conversions Examples License PowerPoint References Transitional DTD Contact X3D Helphttp://www.web3d.org/x3d/content/examples/help.html
Authoring Coordinate Systems Credits Dates Help HTML Images Inlines/Prototypes License meta Tags Naming Conventions Scripts URL Links Viewpoints X3D Scene Authoring Hintshttp://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html
X3D Past as prologue
Extensible 3D (X3D) Graphics has steadily progressed since work first began a decade ago. • Wow! • Many other commercial companies have tried and failed to “own” 3D graphics on the Web. • The Web3D-supported community process to build and extend X3D works, sustainably. • Can we learn from both successes and failures?
www.web3D.org • The Web3D Consortium is the public-private partnership of industry, agencies, universities and individuals that has "kept the flame alive" and made X3D what is today. • How to accomplish all of this wasn’t clear as we proceeded. Structuring for success let us work together through dialog + collaboration.
Community rules • Thanks to 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 big www-vrml list too) keep these successes building, year after year
ISO • Implementation, evaluation and then formal review by the International Organization for Standardization (ISO) have made X3D an approved standard for 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
W3C • Further collaboration by Web3D Consortium with the World Wide Web Consortium (W3C) has made X3D a "first-class citizen" on the Web, providing excellent (and growing) interoperability with other XML standards. • More work (especially more volunteers) needed, some excellent individual opportunities here.
Intellectual Property Rights (IPR) • Web3D and W3C have similar policies • Any known patented technology must be declared by members prior to consideration by 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
Open Source • Open for any use, without license fees • Free = freedom to innovate • Not necessarily free cost (unlike “free beer”) • Common shared example implementation(s) • Not a reference implementation – the specification/standard hopefully provides that • Can provide a self-sustaining business model for continued activity, improvement • Can break logjams when company participants can’t resolve technical issues
Digital rights management • X3D’s XML and Compressed Binary encodings allow use of W3C’s Security recommendations • XML Encryption • XML Digital Signature (for authentication) • Public key infrastructure • DRM is now feasible • More uses than Hollywood-commercial exist • See Sun’s DReaM project http://www.openmediacommons.org
IPR summary • Open standards & open source: part of success • Complements legacy approaches, traditional “hierarchical stovepipes,” provides stability • Win-win approach for government, industry • Both wins are needed for program success • Standards organizations, IPR agreements provide a stable playing field for long term • Welcome to another active playing field!
X3D Present Steady daily progress
Our approach • Demonstrate application value of new technology • Collaborate, implement, evaluate, report, repeat Key Technologies • Extensible Markup Language (XML) • Validatable data, binary compression • Web Services for message exchange • Extensible 3D (X3D) Graphics • ISO-approved interactive visualization
XML is for structuring data XML looks a bit like HTML XML is text, but isn't meant to be read XML is verbose by design XML is a family of technologies XML is new but not that new XML leads HTML to XHTML XML is modular XML is basis for RDF and the Semantic Web XML is license-free, platform-independent and well-supported Extensible Markup Language XML in 10 Pointshttp://www.w3.org/XML/1999/XML-in-10-points 400+ member companies & institutions in World Wide Web Consortium (W3C) already understand the business case
XML Elements and Attributes • Elements correspond to X3D nodes • Attributes correspond to X3D simple-type fields • Parent-child relationships define containerField • Validatable XML using X3D DTD, schema
3D Graphics Education • 3D doesn’t have to equal “programming” • We are able to teach X3D to students from any major, without programming experience • Making X3D accessible to Web authors should • mainstream X3D usage • open the flood gates
X3D Profiles for Extensibility • Different levels of content complexity • Browsers can support increasing levels of capability • Authors can use the proper palette for intended delivery
Family of X3D specifications • Abstract specification describes “how it works” • Equivalent encodings • XML .x3d, ClassicVRML .x3dv, Binary .x3db • Scene Access Interface (SAI) • Consistent programming in EcmaScript, Java
X3D Specifications honeycomb diagram X3D Specification itself is componentized and extensible
Example X3D browser architecture • A particular strength of X3D is that it does not tell software implementers exactly how to achieve results • Nor is a single “reference implementation” used • Instead innovation is allowed • Results are often both similar and different • Following diagram shows “typical” architecture
X3D Compressed Binary Encoding • Two types of compression for .x3db encoding • XML-centric ISO Fast Infoset • Geometry-centric for coplanar polygons, quantization of points, colors & normals, etc. • Java3D algorithms are default • Royalty free for use with X3D • Other uses – please contact Sun Microsystems • Alternate geometry compression can be used • Sample implementation: Xj3D
X3D Binary Encoding • NPS has implemented Canonical X3D algorithms in open-source Java
XML and Web are out there.. • Note many World Wide Web Consortium (W3C) Recommendations align directly with X3D • You get these X3D capabilities whether using XML encoding or not • We’re aligned with common enterprise data processes, so more usage is inevitable
XML and Web… 2 • Further uses already in play • XML tooltips in multiple languages, displays • Content catalogs built directly from metadata provided .x3d scenes • Pretty-print XHTML annotating a scene • SVG drawings for crossSection diagrams • Building custom programming interfaces • Validation detects many errors, prevents rust
Telling the story.. • Marketing hasn’t quite reached ignition yet… • … though lots of work continues to proceed • … so what does it take to get to the next level? • Nothing succeeds like success. We have many. • It is sufficient to keep succeeding (at least for our NPS group) because that enables us to continue succeeding on new projects.
Logo development • The quest to “symbolize the story” continues… • Credits: J. Eric Mason, 3DLabs, Viveka Weiley
X3D Future Day by day progress all adds up
X3D Amendments 1, 2 and 3 • Meaning <X3D version=“3.1”/> 3.2 and 3.3 • Lots of great work coming to fruition! • Specification-building mantras are unchanged: • Implement and evaluate • One implementation to start the process, at least 2 (and some open source) to finish • Companies, community have steady path to success