Web3D 2007 X3D Tutorial - Technical Overview

Download Report

Transcript Web3D 2007 X3D Tutorial - Technical Overview

Extensible 3D (X3D) Graphics
Technical Overview
Don Brutzman
Web3D 2007, Perugia Italy, 15 April 2007
Naval Postgraduate School
Monterey California USA
[email protected]
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
Chapter
Chapter
Chapter
Chapter
Chapter
Chapter
2:
3:
4:
5:
6:
7:
8:
Geometry 1, Primitive Shapes
Grouping
Viewing and Navigation
Appearance, Materials, Textures
Geometry 2, Points Lines Polygons
Event Animation
User Interactivity
Session 3: X3D Examples
Chapter
Chapter
Chapter
Chapter
Chapter
Chapter
Chapter
9:
10:
11:
12:
13:
14:
15:
Event Utilities and Scripting
Geometry 3, Geometry2D
Lighting and Environment
Environment Sensors
Geometry 4, Triangles
Prototypes
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!
SDK screen snapshot
Contributing to 2007 X3D SDK
Become a Web3D Consortium member
http://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 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
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 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
X3D-Edit 3.2 sneak peak
1
X3D-Edit 3.2 sneak peak
2
X3D Help
http://www.web3d.org/x3d/content/examples/help.html
•
•
•
•
•
Applications
Authoring Tools
Authoring Support
Books
Conversions
•
•
•
•
•
•
Examples
License
PowerPoint
References
Transitional DTD
Contact
X3D Scene Authoring Hints
http://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 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
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
Extensible Markup Language
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
400+ member companies & institutions
in World Wide Web Consortium (W3C)
already understand the business case
http://www.w3.org/XML/1999/XML-in-10-points
•
•
•
•
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
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
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 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
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 agents
1
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 agents
2
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 domains
Candidate 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 Forest
Anti-terrorist force protection
AUV Workbench
Kelp Forest
Modeled by students in 1998
Still works fine
Website describes how they put it together
Note that each student built separate models
which got composed together in one scene
• just like a website
• With simulated physics in the animation loop
Plenty of online examples for further study
Kelp Forest entry screen:
simplest possible 3D navigation
NPS AUV Workbench
NPS AT/FP Project
Case studies
AUV Workbench poster, I/ITSEC 2005
Autonomous Unmanned Vehicle
(AUV) Workbench
Open source, Java, XML, X3D graphics
Mission planning
Robot execution: air, surface, submerged
Aerodynamics, hydrodynamics response
Sensor modeling
X3D visualization
Compressed radio frequency (RF) and acoustic
communications
Visualization, mission planning
AUV Workbench main view
mission
commands
robot
execution
6DOF response
hydrodynamics
Multiple vehicles supported
AUV Workbench full-screen Xj3D window
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 models
Well-understood methodology for
Discrete Event Simulation (DES)
Professional quality
Unlocks years of NPS studentresearch 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 it
Catalogs extract metadata, build archive index
• Key info now available to tools, web services
Establishing, 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 needed
1
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 needed
2
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
Theory
Analysis
Experiment
Scientific method, 15th-20th centuries
Scientific method, 15th-20th centuries
model = formal representation of reality
Scientific method, 1950-present
simulation = behavior of model over time
Model
Simulation
implements a
corresponds to an
Theory
Analysis
Experiment
Scientific method, 1950-present
Scientific method, 1950-present
running together
model = formal representation of reality
Scientific method, 1950-present
simulation = behavior of model over time
Modeling
&
Simulation
Theory
Analysis
Experiment
Scientific method, 1950-present
Scientific method, 1950-present
Virtual environments can connect
all models and simulations together
Modeling
&
Simulation
Theory
Analysis
Virtual Environments
linked together via
networking interfaces,
shared semantics
Experiment
Scientific method, emerging 21st century
Scientific
method,
emerging
21st century
Scientific
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, AddisonWesley, 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) approaches
Two 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)
Networking
Humanoid 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
to
to
to
review Consortium activities
summarize new technology possibilities
discuss X3D Adoption efforts
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
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