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";
}
}