Scene file format

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.

Missing items

Logical file structure

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 *

Example:

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