Status : suggestion Implementations : none RCS info : $Id: scenefileformat.html,v 2.2 1999/10/15 12:47:24 andersr Exp $
This file format descibe a static scene of 3d objects. Using keyframes to generate simple animations of transformations. Allows to include other scenes files as nodes.
scene file | = Scene head + Assembly list |
Scene head | = (Version) |
Assembly list | = { Assembly } |
Assembly | = (Name)+ (Visibility range) + [ Tranformation | Animation list ] + (Visual) + (Light) + (Child) |
Visibility range | = (Min range) + (Max range) |
Animation list | = {Animation} |
Animation | = (Name) + Length + Repeat + {KeyFrame} |
KeyFrame | = (Time) + Transformation |
Transformation | = (Translation) + (Rotation) |
Rotation | = * Rotation = rotx roty rotz; * |
Translation | = * Translation = xx yy zz ; * |
Visual | = [ Geometry | Scene ] |
Light | = * Don't know how this look yet * |
Child | = Assembly list |
Geometry | = * Geometry = "Geofile"; * |
Scene | = * Scene = "Scenefile"; * |
Name | = * Name that identify element * |
Scene(Version=1) Assembly { Visual { Geometry = "Terrain"; } } Assembly { Transformation { Translation = 200.0 100.0 0.0; Rotation = 45.0 0.0 0.0; } Visual { Geometry = "Tree"; } Assembly(Name = "Bird nest";Max=10.0) { Transformation { Translation = 0.7 0.3 9.0; } Visual { Scene = "Bird_Nest"; } } Assembly ( Name = "Moving branch" ) { Animation ( Name = "default"; Time = 20; Repeat = TRUE ) { KeyFrame ( Time = 0 ){ Rotation = 0.0 0.0 0.0; } KeyFrame ( Time = 5 ){ Rotation = 5.0 0.0 0.0; } KeyFrame { Rotation = 0.0 0.0 0.0; } } Visual { Geometry = "Branch"; } }