Vision3D text format

Written by Paul Bourke
August 1987


This is the most basic of the input/output data formats supported by Vision3D. It provides all the geometric and colour information necessary to define an object. Note: in Vision3D the basic geometry consists of points (nv = 1), lines (nv = 2), and 3 or 4 vertex planar facets (nv = 3 or 4).
Each object is defined as shown below

nv id rd rs rg
x y z
x y z
x y z
r g b
where   nv      is the number of vertices, not to exceed 10     integer
        id      is the object id, for grouping purposes         integer
        rd      is the diffuse reflection coefficient           float
        rs      is the specular reflection coefficient          float
        rg      is the gloss factor, form 2 to 100              float
        x y z   are the coordinates of the vertices             float
                the number depends on nv
        r g b   is the red green blue colour component          float
                Range from 0 to 1 for each component

For example: to define a green square based pyramid.

4 100 0.6 0.5 2.0       # vertices, id and reflection attributes
0 0 0   vertices
1 0 0
1 1 0
0 1 0
0.0 1.0 0.0
3 100 0.6 0.5 2.0       next facet
0.5 0.5 1.0
1 0 0
0 0 0
0.0 1.0 0.0
3 100 0.6 0.5 2.0
0.5 0.5 1.0
0 1 0
0 0 0
0.0 1.0 0.0
3 100 0.6 0.5 2.0
0.5 0.5 1.0
1 1 0
0 1 0
0.0 1.0 0.0
3 100 0.6 0.5 2.0
0.5 0.5 1.0
1 1 0
1 0 0
0.0 1.0 0.0