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

3d on the web x3d
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

3D on the web: X3d

Ruth Aylett

slide-2
SLIDE 2

Topics

 3D on the web  History of X3d  Overview of X3d

slide-3
SLIDE 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?

slide-4
SLIDE 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

  • f 3D files and Virtual Worlds

 A Scene Description Language  A file in UTF-8

slide-5
SLIDE 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

slide-6
SLIDE 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

slide-7
SLIDE 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

slide-8
SLIDE 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

slide-9
SLIDE 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>

slide-10
SLIDE 10

Nodes

 Grouping nodes

– Group, Transform, Collision, Billboard, Anchor

 Bindable nodes

– Viewpoint, NavifgationInfo, Fog, Background

slide-11
SLIDE 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

slide-12
SLIDE 12

Appearance Node

 Specifies visual properties of geometry

– Material properties

  • ambient, diffuse, emissive,shininess, specular,

transparency

– texture

  • image, picture, movie
slide-13
SLIDE 13

The Sound Model

maxBack minBack minFront maxFront Direction Decreasing intensity

No Sound

Location

slide-14
SLIDE 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

slide-15
SLIDE 15

Sensors

 Geometry sensors

– CylinderSensor; PlaneSensor; SphereSensor; ProximitySensor; TouchSensor; VisibilitySensor

 TimeSensor  Not sensors in the agent sense

slide-16
SLIDE 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

slide-17
SLIDE 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

slide-18
SLIDE 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

slide-19
SLIDE 19

Scripts

 For more complex interaction  Usually in JAVA or JavaScript  Script node has eventIns, eventOuts

and Fields

slide-20
SLIDE 20

External Authoring Interface

 EAI for interaction between X3d and

JAVA applet

 Uses a browser plugin architecture

slide-21
SLIDE 21

Other Features

 Billboards  WorldInfo  NavigationInfo  Level of Detail (LOD)  Viewpoints  Fog  ETC

slide-22
SLIDE 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

slide-23
SLIDE 23

Working groups

 Lots and lots!

– JAVA3D and x3d – Compressed Binary format – Living Worlds – Biota – Humanoid Animation – GeoVRML – ETC

slide-24
SLIDE 24

Creating X3d Worlds

 Text Editor  x3d editor

– x3d-edit: free – submarine: free

 Other modelling tools: Maya, 3ds studio

– with File converter or exporter

slide-25
SLIDE 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

slide-26
SLIDE 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

slide-27
SLIDE 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

slide-28
SLIDE 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

slide-29
SLIDE 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

slide-30
SLIDE 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