The SceneGraph3D Description Language

Home About EaZD Deferred renderer API SceneGraph3D API SceneGraph3D scene description language

Index

| Scene file structure | camera | character | directory | eventmessage | group | input | light | linearmotion | material | node | object | proximitytrigger | skylight | spinner | surface | transformation | user | world |

transformation

Derived from: Group3D
Class name: TransformNode3D
Placement: Anywhere
Description: The transformation node geometrically transforms all of its nested nodes according to the specified, translation, rotation and scale parameters. As a result, nested transformations have a cumulative effect. The order of transformation is fixed: Scale, then Rotate then Translate. If you need to change this order you have to apply two nested transformations. The internal matrix is redefined only when the values are changed and not in every frame.
Special notes: -
Inherited attributes: name, active, visible
New attributes:
attribute type description
translation VEC3 The translation vector in world units.
scale VEC3 The scale factor along each one of the three local primary axes.
rotation VEC4 The OpenGL-style rotation to be applied to the underlying nodes. It is in the form (angle, axis.x, axis.y, axis.z), where angle is the right-handed rotation angle in degrees, and axis is the axis of rotation.
Events:
event name condition
- -
Inherited events: -
New messages:
attribute value description
translation VEC3 Same as the corresponding attribute.
scale VEC3 Same as the corresponding attribute.
rotation VEC4 Same as the corresponding attribute.
Inherited messages: active, visible, hide, show, deactivate, enable, activate, disable
Redefined messages: -
Obsolete messages: -


Example

<world ambient_occlusion="ssao" bloom="yes" shadows="disk" 
       ao_radius="6" ambient="0.3 0.3 0.3" defocus="yes">
   
    <camera name="first_person" apperture="50.0" 
            focal_distance ="30.0" focal_range="30.0"
            near="2.0" far="1000" follow="Myself" primary="true">
    </camera> 

    <transformation name="environment" scale="1.0,1.0,1.0" translation="0,0,-10">
        
        <object name="geom1" file="arena.obj"></object>
        
        <transformation rotation="90,0,1,0" scale="0.5,0.2,4.0" translation="-20,700,-200">

            <object name="geom2" file="cloud.obj"></object>

        </transformation>
    
    </transformation>
 
    <user name="Myself" control="navigate" speed="2.0" turn="0.5 freeroll="false" 
          position="0,50,50" lookat="0,0,-10" input="Console">
    </user>

    <input name="Console" type="mousekeyboard">
    </input>
    
</world>

Last update: 16 Feb. 2009