POWERVR Insider MBX Chameleon Man Demo
The Chameleon Man demo shows a matrix skinned character in combination with DOT3 per pixel lighting.
Matrix skinning is the act of animating a vertex over time given a set (palette) of matrices and a known set of blend weights assigned to those matrices. The Chameleon Man model has 19 bones and an animation cycle of 16 frames.
For each frame the matrix palette is recomputed based on time. For example, to render the model at time point 5.25 the application would linearly blend between the matrices stored for frame 5 and 6 using weights of 0.75 and 0.25 respectively.
Per vertex, up to 3 matrices, from the palette, along with 3 weights are used by the vertex program to update the vertex position to obtain the current animation frame position.
To implement DOT3 per pixel lighting (bump mapping) the application supplies a normal, binormal and tangent per vertex. These tangent space vectors are transformed by the vertex program into world space.
The light vector is then transformed into this local skinned tangent space. The tangent space light vector is then used to do the DOT3 lighting calculation which is finally combined with the base texture using multi-texturing.
A standard vertex lit mode is supported to show the stunning visual difference made by per pixel DOT3 bump mapping.
This demo requires 3D hardware which supports GL_IMG_vertex_program.
Right click the download link below and 'Select Save target as ...' to download the demo to your computer. To play the file you need a suitable media player, e.g. Windows Media player.




