3d on the web x3d
play

3D on the web: X3d Ruth Aylett Topics 3D on the web History of - PowerPoint PPT Presentation

3D on the web: X3d Ruth Aylett Topics 3D on the web History of X3d Overview of X3d What is the problem? How to produce interactive 3D web-based applications? Running in everybody s browsers On whatever platform


  1. 3D on the web: X3d Ruth Aylett

  2. Topics  3D on the web  History of X3d  Overview of X3d

  3. What is the problem?  How to produce interactive 3D web-based applications? – Running in everybody ’ s browsers – On whatever platform – Acceptably fast interaction  Answer: find an encoding for a scenegraph and download it – Reasonable file size? – Model IPR? – Handles dynamic interaction?

  4. What is X3d?  An ISO standard VR modelling language – NOT a programming language!  Reimplementation of VRML97 with XML syntax: – Open standard (1997) for Internet sharing of 3D files and Virtual Worlds  A Scene Description Language  A file in UTF-8

  5. X3d supports:  3D graphics – Polygonal geometry, parametric geometry, hierarchical transformations, lighting, materials and multi- pass/multi- stage texture mapping  2D graphics – Text, 2D vector and planar shapes displayed within the 3D transformation hierarchy  Animation – Timers and interpolators to drive continous animations; humanoid animation and morphing  Spatialized audio and video – Audiovisual sources mapped onto geometry in the scene  User interaction – Mouse-based picking and dragging; keyboard input

  6. History - 1  1994: Mark Pesce presents 3D Web Prototype – VRML email list established  Open Inventor established as VRML basis – SGI (Silicon Graphics) – VRML 1.0 • No interaction, just navigation  1995: VRML Architecture Group (VAG) – request-for-proposals (RFP) for VRML 2.0

  7. History - 2  1996: VRML 2.0 – based on SGI ‘Moving Worlds’ proposal – VRML Consortium formed  1997: ISO Standard – VRML 97  VRML consortium -> Web3D – Work started on successor to VRML  2004: X3d becomes ISO standard

  8. Basic X3d concepts  Scene graph – hierarchical data structure: nodes and links – describes virtual world  Nodes – shape, geometry, appearance, location etc  Fields – each Node is a list of fields – contains values and parameters

  9. Simple example <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "http://www.web3d.org/specifications/ x3d-3.2.dtd"> � <X3D profile="Interchange" version="3.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema- instance" xsd:noNamespaceSchemaLocation=" http://www.web3d.org/specifications/x3d-3.2.xsd " > <Scene> <Shape> <Appearance> <Material/> </Appearance> <Box/> </Shape> </Scene> </X3D> � �

  10. Nodes  Grouping nodes – Group, Transform, Collision, Billboard, Anchor  Bindable nodes – Viewpoint, NavifgationInfo, Fog, Background

  11. Transform Node  Transforms its children – applies in turn scales, rotations, and translations  Transform nodes may be nested – but computationally expensive  Negative scaling (for reflection) not allowed

  12. Appearance Node  Specifies visual properties of geometry – Material properties • ambient, diffuse, emissive,shininess, specular, transparency – texture • image, picture, movie

  13. The Sound Model maxBack � maxFront � Decreasing intensity � Location � Direction � No Sound � minBack � minFront �

  14. Light Nodes  DirectionalLight – At infinity, illuminates a scene with parallel rays, all from one direction  PointLight – Located at a specific point in space – Illuminates from all directions  SpotLight – At a specific point – Illuminates in a cone

  15. Sensors  Geometry sensors – CylinderSensor; PlaneSensor; SphereSensor; ProximitySensor; TouchSensor; VisibilitySensor  TimeSensor  Not sensors in the agent sense

  16. Interpolators  For Keyframe Animation – position; orientation; normal; scalar; coordinate; color  Each interpolator node has a set of keys and a set of keyValues  provides piece-wise linear interpolation

  17. Routing and Events  Most nodes contain events – Incoming: eventIn – Outgoing: eventOut  A ROUTE connects eventOut of a node to eventIn of another  Results in field value being changed

  18. Prototypes  Create a custom node type – Use the PROTO declaration  Or in an external file – use EXTERNPROTO to declare a reference  Can be used to extend x3D

  19. Scripts  For more complex interaction  Usually in JAVA or JavaScript  Script node has eventIns, eventOuts and Fields

  20. External Authoring Interface  EAI for interaction between X3d and JAVA applet  Uses a browser plugin architecture

  21. Other Features  Billboards  WorldInfo  NavigationInfo  Level of Detail (LOD)  Viewpoints  Fog  ETC

  22. What is missing?  Obstacle detection – only automatic for the user  Sensors – in the agent sense of the term  Support for autonomy – aimed at supporting the user as a privileged object

  23. Working groups  Lots and lots! – JAVA3D and x3d – Compressed Binary format – Living Worlds – Biota – Humanoid Animation – GeoVRML – ETC

  24. Creating X3d Worlds  Text Editor  x3d editor – x3d-edit: free – submarine: free  Other modelling tools: Maya, 3ds studio – with File converter or exporter

  25. Component-based architecture  Profiles (as mpeg4)  A collection of components, E.G: – CORE simple non-interactive animation – BASE compatible with VRML  Components can be individually extended – Or new LEVELs added  New components can be added – Formal mechanism for submission

  26. Profiles  Interchange profile – supports geometry, texturing, basic lighting, and animation – designed primarily to transfer data between applications.  Interactive profile – adds additional lights, enhanced timing, and sensor nodes for interaction with the 3D environment.  Immersive profile – adds audio, collision, fog, and scripting.  Full profile – adds NURBS, H-Anim, and GeoSpatial components

  27. Compatibility  Any X3D-2 browser will play all VRML content (in principle!) – Add line: #X3D profile:base  XML support not essential – Just an additional encoding

  28. Using XML syntax  Links to other web apps – VRML syntax was unique  Makes authoring more accessible  Links to browser development – XML support in new browser versions  Stylesheets for conversion  File converters VRML <--> X3D

  29. X3D and Java..  X3D is NOT a programming language – It is a 3D scene graph specification  Contrast with use of javascript as OpenGL interface – The HTML5 approach

  30. Other Technologies  HTML5: canvas – In most current browser versions: http:// html5test.com/ – https://developer.mozilla.org/en/ drawing_graphics_with_canvas  JAVA 3D – see the sun java site at sun.java.com  Flash/Flex – Become very popular: proprietary  MPEG-4 v1 includes VRML 97

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend