Presentation is loading. Please wait.

Presentation is loading. Please wait.

VRML Virtual Reality Modeling Language. What Are We Going to See? What is VRML? Syntax of the language Features Examples.

Similar presentations


Presentation on theme: "VRML Virtual Reality Modeling Language. What Are We Going to See? What is VRML? Syntax of the language Features Examples."— Presentation transcript:

1 VRML Virtual Reality Modeling Language

2 What Are We Going to See? What is VRML? Syntax of the language Features Examples

3 Credits “Floppy's VRML Guide - VRML97 Tutorial” Most of the demos Are based on demos from “Floppy's VRML Guide - VRML97 Tutorial” The demos are localy saved to increase efficiency end accessibility. The originals and many more can be found in : http://www.vapourtech.com/vrmlguide

4 A Bit Of History In the beginning there was VRML 1.0. In the beginning there was VRML 1.0. – It was the first attempt at an internet 3D language. VRML 2.0 replaced VRML 1.0 and add many features (animation). Version 2.0 was submitted to ISO for standardization, the outcome was VRML97 which is almost identical to VRML 2.0.

5 Technical Stuff - Viewing worlds, VRML browser In order to see VRML worlds, we need to install a VRML browser (or player). Internet Explorer comes with a default VRML browser, and almost all other internet browsers can install one.

6 Technical Stuff - Editing VRML can be edited by any text editor. There are many available VRML editors (with context highlighting). worlds For more complex worlds, 3D modeling programs can be used and the result can be translated to VRML. The basic output file format is TEXT, but the browsers can read compressed files (compressed with gzip).

7 Demo!! This is a simple demo to demonstrate basic features of the VRML environment

8 VRML Syntax Each VRML file must start with the comment line:

9 Basics nodes VRML world is made out of nodes, which are types of objects. Default Inside the nodes there are fields which are properties of the node and have a Default. A node structure is : NodeName { filedName value } NodeName { filedName value }

10 Nodes Cont. Nodes can be nested:

11 Some Important Nodes Lets look at this simple code: Node Fields Node Fields Node WHAT IS THIS:

12 Reuse of Nodes

13 Transformations: Regular affin transformations: – Translation – Rotation – Scaling Direction of the axes are standard Every thing works by the right hand rule

14 Example:

15 Apperence: Appearance node can have two fields: – material – texture

16 Materials: The material field can have a Material node. The material node can have these fields: diffuseColor. diffuseColor. The normal color of the object. specularColor. specularColor. The color of highlights on shiny objects.

17 Materials: emissiveColor. emissiveColor. The object 'glows' with a light of its own of this color. It doesn't cast light on any other objects though. ambientIntensity. ambientIntensity. The amount of ambient light that the object reflects. shininess. shininess. How reflective the object is. transparency. transparency. How transparent the object is. Note, some browsers will not support partly-transparent objects.

18 Some Materials:

19 Textures: appearance field can specify a texture. There are several types of textures. – Image texturesjpg – Image textures: defined by a jpg files. – Movie texturesmpg – Movie textures: defined by a mpg file. – Pixel textures – Pixel textures: user defined textures.

20 Other Basic Shapes: Box Cylinder Cone Sphere Text

21 Cameras & Viewpoints We can set many viewpoints to our world. A viewpoint is defined by : – position – position : [z,y,z] coordinates of the camera. – orientation – orientation : were the camera looks at ( [x,y,z] =axes + angle of rotation). – fieldOfView – fieldOfView: angle in radians between 0 and pi. – description – description : name of the viewPoint. Some VRML browsers allow specification of entrance camera in the link to the world: world.wrl#CAM1

22 Cameras Cont.

23 Background & Fog Background of the world can be set in two ways: – Map a texture over a surrounding box. – Define a gradient of sky & ground around the center. Fog enables creating the allusion of distance.

24 Sound

25 Sound Node Sound { SFVec3f direction 0 0 1 SFVec3f direction 0 0 1 SFFloat intensity 1 SFVec3f location 0 0 0 SFFloat maxBack 10 SFFloat maxFront 10 SFFloat minBack 1 SFFloat minFront 1 SFFloat priority 0 SFNode source NULL SFBool spatialize TRUE }

26 Sound Node Cont. direction Min back Max back Max Front Min Front

27 AudioClip Node AudioClip { SFString description "" SFBool loop FALSE SFFloat pitch 1.0 SFTime startTime 0 SFTime stopTime 0 MFString url [] }

28 Objects of Desire We can build objects other than the three default shapes by specifying coordinates of the vertexes. Specify coordinates: Specify Normals: Specify direction:

29 General Objects

30 Setting Normals

31 Lighting There are three kinds of lights in VRML: – Directional Light – Directional Light: A light with no specific location in space only a direction. (gives a sun effect). – Point Light – Point Light: A light that have a specific location and shines evenly to all directions. – Spot Light – Spot Light: A light with a specific location that shins in a set angle to a specific direction.

32 Spot Light: Cutoff angle Beam width Spot Light Direction

33 Dynamic Worlds We can specify to the browser what Navigation capabilities the user will have: – Walk – Examine – None

34 Events & Routes Most nodes contain events. If a field in a node is exposed, the node has two defined events for it: – Set_fieldName – Set_fieldName – used to set the value of the field. – fieldName_changed – fieldName_changed – generated when the value was changed. ‘set’‘changed’ The ‘set’ and ‘changed’ can be left out. Not all fields are exposed.

35 Events & Routes A ROUTE wires two events together. TouchNode SoundNode Touch time Start time DEF SENSOR TouchSensor { } DEF SOUND Sound { } ROUTE SENSOR.touchTime TO SOUND.startTime DEF SENSOR TouchSensor { } DEF SOUND Sound { } ROUTE SENSOR.touchTime TO SOUND.startTime Route

36 Sensors There are several types of sensors in VRML: – Time Sensors – Visibility sensors – Collision Sensors – Proximity Sensors – Touch Sensors – Sphere Sensors – Cylinder Sensors – Plane Sensors

37 Sensor Code Example

38 Interpolators Used to interpolate between key values Several kinds of interpolators: – Color – Orientation – Coordinate – Normal – Position – Scalar

39 Bounded Nodes We can bind some nodes to values in other – Background – Fog – NavigationInfo – Viewpoint

40 Programming!? Real animation must include some sort of programming. VRML accepts two kinds of programs: – JAVA. – JavaScript. The script node can receive end send events very easily.

41 Script Demo

42 JAVA Java In order to use Java instead of JavsScript all we need to do is to write the appropriate class and include it in the script node: Script { url "NewScript.class" }

43 Examples

44 Bibliography Floppy's VRML Guide - VRML97 Tutorial WEB3D CONSORTIUM – – http://www.vrml.org – http://www.vrml.org/ VRML97 Specification, ISO-IEC 14772- 11997 – http://www.vrml.org/technicalinfo/specifications/ vrml97/index.htm Biota.org - Creatures Gallery – – http://www.biota.org/gallery/index.html


Download ppt "VRML Virtual Reality Modeling Language. What Are We Going to See? What is VRML? Syntax of the language Features Examples."

Similar presentations


Ads by Google