Can make CGI creatures
Impressed by CGI creatures in cinema (BBC Wild Life, Jurassic park), I try to make my own CGI creatures. What I
already have :
1. Surface representation. Bicubic patches covered with textures. Patches are dynamically divided into quadrangles
(depending on the surface curvature and the distance to the observer) and displayed either by OpenGL or my (I mean
written by me, not invented) own scan-line algorithm.
2. As a creature moves and shape of its body constantly changes, is is impossible to use display lists (if we are
going to use OpenGL), but I plan to dynamically divide bicubic patches into quadrangles. To speed up the division,
I extencively use XMM instructions. My experiments show that it takes 0.0000013 seconds per calculation of position
vector (5 times faster than if to use standard floating-point operations), and 0.0000028 seconds to estimate normal
vector (necessary if only we are going to use lighting model in OpenGL) on 1HGz PentiumIII. The total number of
divisions can be decreased by some preliminary visibility tests and more coarse divisions for surfaces with low
curvature and located far from the observer.
3. Kinematics. Chained coordinate transformations (translations and rotations) to represent such cosntruction as a
dinosaur or a snake what all comes to transformation matrices multiplied. The surface shape changes as the creature
moves.
Now I am making a demo.
Regards, Andrew Koudryavtsev (andrewkoudr@hotmail.com)

