Building Shapes out of Points, Lines, and Faces. IndexedLineSet example. [ ]. Using Version of the Virtual Reality Modeling Language to: Internet/VRML. Design interactive, 3-D objects and scenes; ISBN Add realistic. A list of all the VRML nodes can also be found in Appendix A. #VRML V utf8 # – a yellow box Shape { geometry Box { } appearance .. Authoring Compelling, Efficient VRML Worlds, a SIGGRAPH 97 course by David.

Author: Zugrel Zulkilar
Country: Martinique
Language: English (Spanish)
Genre: Finance
Published (Last): 23 November 2009
Pages: 116
PDF File Size: 11.73 Mb
ePub File Size: 19.27 Mb
ISBN: 323-5-13848-834-9
Downloads: 92599
Price: Free* [*Free Regsitration Required]
Uploader: Shami

This section veml introduce the main features of the VRML 2. The example worlds used in this section can also be found online at: A list of all the VRML 2. The VRML file that describes this scene is listed below. Because a VRML file is written in plain vrmk, any ordinary text editor such as WordPad or vi can be used to create it. Simply save the file with a. This identifies it as a VRML 2.

All VRML files must start with this header. The utf keyword refers to the UTF-8 international character set used in the file. This indicates that all the text with follows it, until the end of the line is a comment, and should be ignored by the VRML software.

In the example, the comment describes the contents of the scene. The rest of a VRML file consists of a list of nodes, each of which contain part of the information that describes the whole scene, for example, it may define a shape or light source or particular properties of an object, such as its colour or coordinates.

Each node consists of a name, that indicates the node’s type, followed by a set a curly braces containing zero or more fields, that define the attributes of that node.

A field statement consists of the field name followed by one or more values. Fields can be written in any order. Node type names start with a capital letter, field names begin with a lower case letter. In the example, the nodes used are ShapeBoxAppearance and Material. The Shape node contains two fields, geometry and appearanceeach of which require other nodes as their values.

The geometry field contains the Box node and the appearance field takes the Appearance node as its value. The Appearance node then in turn contains another node, called Material. This hierachical structure of nodes contained within other nodes is called the scene graph. The Box node has a single field called sizewhich sets the dimensions of the box shape that is to be drawn.

The field name is followed by three values that define the lengths of the sides, parallel to the X, Y and Z axes respectively, with the centre of the box at the origin. For example, the following node defines a box shape 3 units wide, 2 units high and 5 units deep.

However, the example world does not specify a size for the box, therefore the VRML browser will use the default values for these attributes when it displays the scene. The different data types the fields expect are also described. The VRML specification recommends that metres are used as units of distance. Using a common unit of measurement makes it easier to share models. However, using metres may not always be convenient.

Time is always defined in seconds and angles in radians. VRML uses a right-handed coordinate system.


OpenGL/VRML Materials

By default, the viewer is on the Z-axis looking towards the origin with the X-axis to the right and Y-axis upwards.

Having defined the object’s geometry through the Box node, it is now necessary to describe the object’s colour and surface properties using the Appearance node. The Appearance node has three fields, materialtexture and textureTransform. The last two fields are used when applying textures to an object, this is described in more detail later. The material field takes the Material node as its value. If the Appearance node is left undefined the object will be rendered as pure white.

The Material node specifies the colour and reflective properties of an object with six fields. The colour is specified using three floating point numbers ranging between 0. The default value is 0. The specularColor field defines the colour of the shiny highlights on the object.

About Vrml Pointers & Search

By default this is 0. The emissiveColor field specifies the colour given off by objects, independent of any light sources. The shininess value controls the sharpness of the specular highlight. Increasing this value will make the object cour more shiny. The transparency field specifies how “clear” the object is.

A value of 0. The ambientIntensity value is used to simulate ambient indirect lighting of the object. In the first example, only the diffuseColor field is required to define a basic yellow colour for the box cors. The next example will show how the other fields can be used to create different effects. An Animated and Interactive Scene Figure Example 2, vvrml by Cosmo Player The second example VRML world Figure demonstrates more object types, environmental and material properties and includes animations and user interaction.

3. Language Details

The scene consists of a semi-transparent table top with three objects positioned upon it. The first object is a globe, consisting of a sphere on a base. The colour of the sphere will slowly change. The second object is a texture-mapped box. The final object is an inlined model of the Space Shuttle, which the user can manipulate.

The VRML file which describes this scene is listed below. The line numbers to the left of the code are included for reference purposes, and are not part of the VRML document. The purpose of the Group node is to group together other nodes. The grouped nodes are listed in the children field. In the example, the Group node contains all the other nodes in the file the closing bracket of the node is on lineso forming a single root node for the whole scene.

A VRML file can contain any number of Viewpoint nodes, although only one can be in use bound at a time. So, when a browser loads a world with multiple viewpoint definitions it will initially bind to the first viewpoint listed in the file. However, most VRML browsers also provide a menu in their user interface to allow the user to select between the different predefined viewpoints. In the example, the Background node is used to specify a simple light blue background colour for the world.

However, more complicated backgrounds can be defined with this node, using colour gradients and panorama images, such as mountain ranges or cityscapes. The example world contains a single point light source, located at 10 0 It is not essential to include a light source in a VRML world, since VRML browsers usually have a “headlight” mode to illuminate the scene immediately in front of the viewer.


However, adding lights can often enhance the appearance of a scene. There are three types of lighting nodes in VRML. DirectionalLight is used to simulate illumination from a far away light source, such as the sun. Since all the light rays are parallel i. The PointLight node is used in the example, this models a point light source that sends out light with equal intensity in all directions. As well as the location field, there are fields for controlling how the intensity of the light diminishes with distance.

Finally, there is a SpotLight node that only illuminates objects within a specified cone-shaped space. Note that the light from VRML light sources is not stopped when it hits an object, but goes straight through, so there are no shadows.

However, there are various techniques that can be used to “fake” shadows, such as texture mapping. The table top is modelled using a flattened cylinder shape. The geometry is defined using the Cylinder node. VRML has four primitive geometry nodes: BoxConeCylinder and Sphere. All four are used in this example world. Each node has fields to specify the dimensions of the shape and in addition, the Cone and Cylinder nodes have fields which control whether particular sides are shown.

To simulate a semi-transparent glass table top, the transparency value in the shape’s Material node is made 0. In order to move translaterotate or scale an object the Transform node is used. The effect of the node is to create a new coordinate system, which is used by all the children nodes of the transform.

A Transform node can be a child of another transform, so producing a hierarchy or stack of coordinate transformations.

This is demonstrated in the example world when defining the globe shape. The first Transform node line 29moves the globe’s base to 0, 1.

The second transform line 41which is a child of the first, moves the sphere part couurs the globe upwards by 0, 0. Hence, the globe is positioned at 0, 1. In line 34 the Material node for the globe’s base is named BaseMaterialand in line 46 the sphere’s Material node is named SphereColour.

Node names are required when reusing nodes and when defining animations, both of which are described later. Anchor Node line 56 The Anchor node creates a hyperlink to a resource specified by the url field of the node. In order to activate the link the user must click on any of the objects defined in the children field of vrm, Anchor node.

The description brml contains extra information about the link that can be displayed by the VRML browser. The box has the same shiny dark grey material properties as the globe base, so instead of rewriting the whole Material node and its values, the USE syntax is used: This re-use of nodes, is cuors instancing. As well as saving space within a file, instancing enables any changes made to the properties of the original node to be carried forward to all of its instances.