RiBMTReader

Reader for the Binary Model Transfer (simple binary data) format.

[ IO | Source | Search | Keywords | Summary | Ancestors | All Members | Descendants ]

Quick Index

DESCRIPTION
GRAMMER

Class Summary

class RiBMTReader : public RiReader
{
public:
enum PolyTypeFlag ;
enum LightType ;
// Constructors and assignment
RiBMTReader(istream &);
RiBMTReader(RiIORead *in, int instNumber);
~RiBMTReader();
// Members
bool Read();
protected:
bool ReadGeometry();
bool ReadCamera();
bool ReadPolygon();
bool ReadTriMesh();
bool ReadMaterial();
bool ReadPointLight();
bool ReadSetMaterial();
bool ReadInstance(bool &EOI);
bool ReadReferenceInstance();
}; // RiBMTReader


DESCRIPTION


GRAMMER

Any values between !! are unsigned characters
= +
= "BMT"!v! where v is the version (as unsigned char starting at 0)
= ||||assignBRDF|
= "c"!t!eeeaaafrl where (all floats) e = eye, a = lookAt, f = fov (degrees),
r = aspect ratio, l = lens radius, and t is the type (0 only)
= "p"!t!!nn! !t! is vertexDataFormat !nn! is num vertices
= ppp|pppnnn|pppnnnuu|pppuu p = pnt coord n = normal coord u = uv coord
= "m"!t!!nnnn!!mmmm!
!nnnn! is number of vertices (norms and uvs too if present) !mmmm! is number
of tris is an array of ints (length = 3 * numTris
= "b"!nnnn!!ssss!!c!* !nnnn! is the name index (increase from zero by one
in the file) and !ssss! is the length of the material data (!c!)
= "B"!nnnn! !nnnn! is the name index (increase from zero by one in the file)
= "l"!tt!
= =
=
=
=