READING SIMPLE DATA FROM A CALIGARI TRUESPACE FILE
There are two types of trueSpace file, *.scn and *.cob. These are Caligari Scenes, and Caligari Objects, respectively. The actual data in the files is not too complicated, because each file is a series of "chunks". Each chunk represents a different type of information. This allows us to scan through every chunk, only reading in the ones that are relevant.
The Identity Matrix:
Matrices are what make 3d applications tick. If we didn't have matrices, rotation and translation would be impossible. We would have to directly set each vertex in a scene by hand! That is a nasty idea for any programmer with 3d experience. A standard matrix in a 3d world is 4x4.
Animation is a very delicate matter, when it comes to a 3d application. How should I do it? Which way will give me the most power without sacrificing speed? Which format will take the least amount of space? Should I use my own format? The list goes on and on! In the early 21st century, more people are turning to skeletal animation for games than anything else.
Why is skeletal animation so special? Better yet, what exactly is skeletal animation? Simply put, it is a form of animation that uses a complex system of bones and joints (a skeleton) to deform the model information. Take a look at this illustration.
BINARY SPACE PARTITIONING TREE
Binary Space Partitioning Tree
A Binary Space Partitioning Tree (BSP Tree) is a very complex, and very effective method to render indoor environments/scenes in a 3d game. It is used to create effective Depth Testing. Depth Testing is a method that determines which objects in a scene are furthest from the camera. After which, it will draw the polygons in the order of furthest to closest, so that you see everything correctly.
HANDY COMPILATION OF C/C++ METHODS