Extensible 3D (X3D) GraphicsTechnical Overview
Don Brutzman
Web3D 2007, Perugia Italy, 15 April 2007
Naval Postgraduate SchoolMonterey California USA
Web3D 2007 Symposium
Sunday-Thursday 15-19 April 2007University 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 ExamplesInstalling Xj3D and an X3D PluginHistory, 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: GroupingChapter 4: Viewing and NavigationChapter 5: Appearance, Materials, TexturesChapter 6: Geometry 2, Points Lines
PolygonsChapter 7: Event AnimationChapter 8: User Interactivity
Session 3: X3D Examples
Chapter 9: Event Utilities and ScriptingChapter 10: Geometry 3, Geometry2DChapter 11: Lighting and EnvironmentChapter 12: Environment SensorsChapter 13: Geometry 4, TrianglesChapter 14: PrototypesChapter 15: Metadata (online only)
Session 4: Scene Access Interface (SAI)
Alan Hudson, Yumetech
Installing Xj3DExamples directoryRunning in Netbeans
Introduction Topics
X3D-Edit, Xj3D, Plugin InstallationX3D PastX3D PresentX3D FutureX3D Earth
X3D Software Development Kit (SDK)
• Applications• Examples• Resources
Released annually at SIGGRAPHAvailable in bulk to Web3D membersTime for 2007 contributions is now!
SDK screen snapshot
Contributing to 2007 X3D SDK
Become a Web3D Consortium memberhttp://www.web3D.org/join
Tell Jeff Weekley NPS
Get on [email protected] 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 JavaExample implementation of X3D StandardDesigners, primary contributors Yumetech
http://www.yumetech.com
Installing an X3D plugin
Media Machines Flux: windows, open sourcehttp://www.MediaMachines.com
CRC FreeWrl: Mac, open sourcehttp://
BitManagement Contacthttp:
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-EditHelped develop X3D specification by showing
X3D mappability to VRMLMuch of X3D-Edit automated by XML itself• Document Type Definition (DTD), tooltips,
conversion stylesheets for .wrl .x3dv .html
X3D-Edit complete interface
Context-sensitive, self-validating, multi-lingual editing tools
X3D-Edit 3.2 design in progress
Scene-graph centric: XML tree and text editing• Not an immersive 3D authoring toolComplete rebuild using Netbeans Platform • Pure Java, cross-platform, plugin, deployableEmbedded Xj3D views, node-specific helpersOpen source, tooltips, internationalizationSchedule: alpha SIGGRAPH, β December 2007
X3D-Edit 3.2 sneak peak1
X3D-Edit 3.2 sneak peak2
X3D Helphttp://www.web3d.org/x3d/content/examples/hel
p.html
• Applications• Authoring Tools • Authoring Support• Books• Conversions
• Examples• License• PowerPoint• References• Transitional DTD• Contact
X3D Scene Authoring Hintshttp://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html
• Authoring• Coordinate
Systems• Credits• Dates • Help • HTML • Images
• Inlines/Prototypes • License • meta Tags • Naming Conventions • Scripts • URL Links • Viewpoints
X3D tooltips in English
X3D tooltips in Italiano
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.
Today’s www.web3D.org page
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 policiesAny 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 feesFree = freedom to innovateNot 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 infrastructureDRM 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
Key Technologies
Extensible Markup Language (XML)• Validatable data, binary compression• Web Services for message exchange
Extensible 3D (X3D) Graphics• ISO-approved interactive visualization
Our approach• Demonstrate application value of new technology• Collaborate, implement, evaluate, report, repeat
XML in 10 Points http://www.w3.org/XML/1999/XML-in-10-points
• 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
400+ member companies & institutions in World Wide Web Consortium (W3C)already understand the business case
Extensible Markup Language
XML Elements and Attributes
Elements correspond to X3D nodesAttributes correspond to X3D simple-type fieldsParent-child relationships define containerFieldValidatable 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 encodingsXML .x3d, ClassicVRML .x3dv, Binary .x3db
Scene Access Interface (SAI)Consistent programming in EcmaScript, Java
X3D Specifications honeycomb diagram
X3D Specification itself is
componentizedand 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
Example X3D browser 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 usedSample 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.3Lots 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 finishCompanies, community have steady path to
success
Authoring
Hand-crafted stone tools were necessary for building great content
• Painful progress but necessary• Examples help everyone, especially
builders improving their tools
These manual approaches are now yielding to excellent authoring tools using X3D natively
Networking and agents1
Distributed Interactive Simulation (DIS) protocol already letting us build large shared worlds
• EspduTransform supported, proven in X3D
DIS-XML project lets us map this traffic to XML• with satisfactory performance already shown
Payload messages inside Jabber XMPP chat rooms now enabling us to create shared virtual worlds, running long-haul across WAN
Networking and agents2
Agents defined for X3D: produce behaviors of any sort, interacting widely, with an X3D view
• NPS homegrown approach: Simkit/Viskit discrete-event simulation (DES) tool
• DIS compatible in real-time mode• Also runnable on Linux cluster for massive
replications and statistical analysis• Wow, we’re scaling up now
Potential problem: XML size, bandwidth
Replacing data “stovepipes” with XML might be difficult since most tactical streams are highly compressed• Tactical showstopper for military architectures
Common problem in many domainsCandidate binary-XML solutions already exist
• NPS XSBC, Sun’s Fast Infoset, others• Continuing W3C working group effort provides metrics,
use cases and process, working to produce:
Efficient XML Interchange (EXI) standardization effort underway, where “efficient” = smaller + faster • http://www.w3.org/XML/Binary
Worst-case scenario
… or maybe “most challenging scenario”
NOT: decaying into obscurity. Can’t happen, X3D has been “killed” many times already.
Hardest case: exponential growth, usage, success.
• X3D technology itself is structured for success.
• This is simply how Web works. Are you ready?
Example Projects
Kelp ForestAnti-terrorist force protection
AUV Workbench
Kelp Forest
Modeled by students in 1998Still works fineWebsite describes how they put it togetherNote that each student built separate models
which got composed together in one scene• just like a website• With simulated physics in the animation
loopPlenty of online examples for further study
Kelp Forest entry screen: simplest possible 3D
navigation
NPS AUV WorkbenchNPS AT/FP Project
Case studies
AUV Workbench poster, I/ITSEC 2005
Autonomous Unmanned Vehicle (AUV) Workbench
Open source, Java, XML, X3D graphicsMission planningRobot execution: air, surface, submergedAerodynamics, hydrodynamics responseSensor modelingX3D visualizationCompressed radio frequency (RF) and
acoustic communications
AUV Workbench main view
Visualization, mission planning
missioncommands
robot execution
6DOF response hydrodynamics
AUV Workbench full-screen Xj3D window
Multiple vehicles supported
AT/FP project poster
AT/FP project motivation
Defend against small-boat attack• Evolution of studies on USS COLE attack
Assess risk, vulnerabilities, consequences, alternatives
Analysis to support 3 classes of customers• Harbor defense funding priorities• Harbor operations, actual & projected• Ships entering port, joining defenders
AT/FP technical approach
Model tactical layout of harbor, facilities • Agent-based situated tactics for each player• 3D visualization for situational awareness
Open standards and open source• NPS agent toolkit: discrete-event Simkit/Viskit• Extensible 3D (X3D) Graphics• Distributed Interactive Simulation Protocol
Scalable, repeatable methodology• Suitable for data-driven production, repetition
Business model
Too many proprietary toolsets• High cost, not sustainable, not interoperable• Over time, essential data lost to further use
Daylight encourages good behavior• Business-friendly open-source licensing• Repeatable capabilities extendable over Web
Nothing succeeds like success • Use proven best practices, everyone wins• Repeat for every port possible
AT/FP screen snapshots, ABOT oil terminal
AT/FP screen snapshots, ABOT oil terminal
Far overhead view, Bremerton harbor
Near overhead view, Bremerton harbor
RHIB on patrol, Bremerton harbor
Scan Eagle UAV on patrol, Bremerton Harbor
Viskit tool for Simkit
Visual tool for building, analyzing Simkit modelsWell-understood methodology for Discrete Event Simulation (DES)
Professional qualityUnlocks years of NPS student-research effort
• with reduced programming
Digitizing NPS courses for continued analyst use
Simkit technical approach
Well-tested Java class libraries• DES event queue runs quickly or in real time• Event graphs define classes of interest• Assembly instantiates entities, collects
statistics
Visual model• Logical, inspectable definition of relationships• Saved as validated XML• Autogenerates Java source code• Analysts get quality code (without being gurus)
Metadata
Metadata used to capture model information• Who made it, what it is, how to connect itCatalogs extract metadata, build archive index• Key info now available to tools, web servicesEstablishing, normalizing vocabularies of
interest enables interoperability and clarity• Rauch, Travis, Savage Modeling Analysis
Language (SMAL), Masters Thesis, Naval Postgraduate School, March 2006.
SAVAGE Modeling and Analysis Language (SMAL) Metadata
SAVAGE Modeling and Analysis Language (SMAL) is the NPS metadata strategy for identifying tactical, physical and simulation-oriented metadata for vehicles, terrain and entities in virtual environments. Equivalent XML and X3D representations for SMAL are defined.
Rauch, Travis, Savage Modeling Analysis Language (SMAL): Metadata for Tactical Simulations and X3D Visualizations, Masters Thesis, Naval Postgraduate School, Monterey California, March 2006. https://savage.nps.edu/Savage/Tools/SMAL/SMAL.html
X3D Earth
Web3D Consortium working group
New project: X3D Earth
Web3D working group proposes to use the Web architecture, XML languages and open protocols to build a standards-based X3D Earth usable by governments, industry, scientists, academia and the general public.
X3D Earth: what is it
Build a backdrop X3D model of planet Earth• Use publicly available terrain datasets• Use publicly available imagery• Use X3D Geospatial Component throughout• Provide linkable locations for any place• Provide hooks for physical models• Use open standards, extensions and process
Why X3D Earth is needed1
Proprietary commercial approaches are viable, but not necessarily over long term
• Many past commercial failures, shutdowns• Even very large companies sometimes
subject to economic pressures beyond their control
Government, science, research and academic needs are different than commercial needs
Why X3D Earth is needed2
Public and government assets need to be openly available over long term, indefinitely.
• Huge investment in data preparation• Future rework/rewrite may not be possible• Archiving, availability is essential
prerequisite for many agencies• New spatial applications become possible
What we are not proposing
Commercial competitor to other schemes• They already have technologies of choice,
economic imperatives and business models
Vive la difference• Some commercial approaches may actually
benefit by having an open approach widely available, providing new services & products
The key challenge is scalability
Because the only information systems capable of scalably growing to match global scope are the Internet and the World Wide Web, X3D Earth will deliberately follow the architectural principles of World Wide Web.
• Architecture of the World Wide Web, Volume One http://www.w3.org/TR/webarch
Data
Presenters in this symposium have already shown a wealth of data and models, all free.
Let’s get consistent and professional about how to represent, compose and harmonize such data in X3D.
• Create path of least resistance to success
[Insert 1 million metric tons of data resources here]
Science
Researchers model the world in detail already• but rarely interconnect one to another
Most interesting part of “virtual reality” ?• Reality – which means physics
Need hooks to connect physics engines, virtual sensors, propagation algorithms, live sources
theory = conceptual description of reality
experiment = test theory in physical world
Scientific method, 15th-20th centuries
ExperimentTheory Analysis
Scientific method, 15th-20th centuries
model = formal representation of reality
simulation = behavior of model over time
Scientific method, 1950-present
ExperimentTheory Analysis
SimulationModel
implements a corresponds to an
Scientific method, 1950-present
Scientific method, 1950-present
model = formal representation of reality
simulation = behavior of model over time
Scientific method, 1950-present
ExperimentTheory Analysis
Modeling&
Simulation
running together
Scientific method, 1950-present
Scientific method, 1950-present
Virtual environments can connect all models and simulations together
Scientific method, emerging 21st century
ExperimentTheory Analysis
Modeling&
Simulation
Virtual Environmentslinked together via
networking interfaces,shared semantics
Scientific method, emerging 21st centuryScientific method, emerging 21st century
Stepping up is inevitable
Long-running experience in 3D graphics has shown that each accomplishment leads to new (and sometimes unforeseen) challenges
• “Graphics Internetworking: Bottlenecks and Breakthroughs,” chapter 4, Digital Illusion, Clark Dodsworth editor, ACM Press, Addison-Wesley, Reading Massachusetts, August 1997
X3D past, present are prelude to our next steps
Big trump cards
The hardest parts of the technical infrastructure are already proven possible
• Web3D X3D specifications• W3C Recommendations• Open Geospatial Consortium (OGC)
specifications• Khronos agreement• Simulation Interoperability Standards
Organization (SISO) standards• Open Management Group (OMG) approachesTwo WebSim symposia: partnerships possible
Terrain exemplar
CPT James Neushul USMC showed how to extract XML from Digital Terrain Elevation Data (DTED) specification data tables, then autogenerate open-source parsing code
• Neushul, James D., Interoperability, Data Control, and Battlespace Visualization using XML, XSLT and X3D, Master's Thesis, Naval Postgraduate School, Monterey California, September 2003
• Updated by Alan Hudson Yumetech for Xj3D
X3D DTED globe demonstration 1
X3D DTED globe demonstration 2
X3D DTED globe demonstration 3
Bathymetry examples
Data provided by Monterey Bay Aquarium Research Institute http://www.mbari.org
Server-side 3D graphics
Our classical bias in the SIGGRAPH community is to think in terms of client-side 3D graphics
With terrain databases, imagery, cartography and worlds of related objects, the subject of attention becomes server-side 3D graphics
New issues of interest include preprocessing, prerendering, decimation and compression, digital signature, encryption, streaming etc. Fresh work mainstreaming X3D awaits.
Proven success story
Web3D Consortium members have the capabilities, resources and staying power to undertake this major new Web initiative.
Proof point: NPS already proposing and executing multiple ambitious projects with many Web3D members
• All this work is unencumbered, repeatable
X3D Earth proposal image montage 1
Credits: Yumetech, Planet9, NPS
X3D Earth proposal image montage 2
What We Saw at the Technical Requirements Workshop
• Lots of compelling success stories• Apparently composable technical
approaches • Complementary standards and
organizations• Diverse disconnected projects• Confluence, overlap, agreement
What We Didn’t See at the Technical Requirements
Workshop• Coherent use cases for design requirements• Major controversies or major conflicts• Any other common-denominator 3D format• although not everybody is here today• and what about maps?
• Confusion about what is needed next• Overall architecture and context etc.• How is it different from all the other “earths”
Technical Requirement Conclusions
• X3D Earth is feasible• This effort can be started now
• Many resources are already available• Work needed to make them compatibly
available
• No showstoppers found• Lots of collaboration and coordinated
work are needed to proceed successfully• Are we building a web-services infrastructure?
Working group activity has begun
http://www.web3d.org/x3d-earth
Vision. Make it easier to create and use 3D spatial data.
Mission. Promote spatial data use within X3D via open architectures.
Next meeting at Web3D 2007 Symposium.
Other Web3D working groups
X3D• Specification and adoption efforts• Alternating Wednesday teleconferences
X3D Earth• Alternating Wednesday teleconferences
Medical (and volume rendering)NetworkingHumanoid Animation (H-Anim), CAD
Web3D 2007 Topics
• Interactive 3D graphics for PDAs and cellular phones• Innovative 3D graphics applications for Web/Multimedia
in industry, science, medicine, and education• User-interface paradigms and interaction methods for
real-time 3D graphics & virtual environments• Animated humanoids and complex reactive characters• High-performance 3D graphics for distributed
environments and teleoperation systems• Integration and interoperation with other
Web/Multimedia standards, including SVG, SMIL and Semantic Web technologies
• Methods for modeling and rendering complex geometry, structure and behaviors.
Web3D Town Hall Meeting
We’ll have a group meeting Tuesday afternoon • to review Consortium activities• to summarize new technology possibilities• to discuss X3D Adoption efforts• to discuss how people can contribute
Followed by Web3D Showcase: Polygonal Idol• Jeff Weekley, master of ceremonies
Conclusions, Recommendations
Lots of successes have brought us here today
X3D can serve as the basis for model, behavior and visualization interchange for the Web
X3D Earth is necessary, feasible and underway
Welcome aboard, glad to have you involved!
There are more things in heaven and earth, Horatio, than are dreamt of in your philosophy.
William Shakespeare, Hamlet, Act 1 Scene 5, 1603
Don Brutzman
[email protected] http://web.nps.navy.mil/~brutzman
Code USW/Br, Naval Postgraduate SchoolMonterey California 93943-5000 USA
1.831.656.2149 voice1.831.656.7599 fax
Contact