|
This is the NVIDIA / Geforce 3 specific
section! Here you will lots of vertex program goodness, and hopefully
some pixel shader stuff in the next few weeks! These demos probably require
very new Detonator drivers. Preferably version 12.40 or later!
|
||||||
![]() |
This is a cleaned up and commented version of the original
vertex program code I managed to get hold of from Peter Popov, pspopov@online.ru.
I changed the spheres for Torus', and added some comments in.
In order to make sense of the actual vertex program refer to these documents
from NVIDIA's website. |
|||||
![]() |
Toon Shading Vertex Program. Yep the very same method as
used in NVIDIA's effects browser for Direct X. Very Slightly different implementation.
Does a 2 stage transformation, but no normal normalization.
The Toon Tone Shade texture is stored as a bitmap. But the outline texture is calculated in code, as it requires different data in it's levels. |
|||||
![]() |
NV_VERTEX_PROGRAM specular, with cube mapping, and point
light shading effects. This demo really does look top! Requires 2 texture
units, and cube mapping support.
Full commented source is included. This program has now been optimized, and uses a VERTEX STATE PROGRAM to convert the light position into local space, removing the need for any world space conversions in the vertex program. Vertex program is now 24 instructions. :) |
|||||
![]() |
TRIPLE Texturing vertex program, using vertex attributes, rather than glNormal, glTexCoord, glVertex. Pretty similar to the above, except for that it Requires 3 texture units and vertex program support. i.e. Geforce 3. It's getting to the stage where to get more realistic looks, I will need to jump to per pixel fragments, rather than per vertex fragments. I'll do that, once I've covered a few other features that I think are important. Vertex streams for one. Simple targa code used instead of BMP's. Enjoy. |
|||||
![]() |
Same as the one above, but using vertex attribute streams. i.e. like glVertexPointer, glNormalPointer etc etc.. For using glDrawElements and such like. Very easy to use. Not much else to say really. Nothing else is different. Just the streams. |
|||||
![]() |
Camera aligned Billboards on the GPU! This demo throws up a few hundred particles, and calculates the corners of the quad, in a vertex program, from the centre point passed over, a multiplier, and the right and up vectors of the modelview matrix. Uses only immediate mode commands at the mo. This will be changed at a later date to improve performance. Enjoy! |
|||||
![]() |
Texture Env Combine demo, featuring multi-texturing, and vertex programs. It's pretty simple if you understand all the rest. Enjoy! |
|||||
|
Per Pixel Diffuse lighting using Register Combiners, and a normalization cube map. Full extensively documented source included, with new extension headers/source modules for easy integration of new OpenGL extensions. Press W or SPACE to see the cube in wireframe, to prove theres no high tesselation going on there! :) Enjoy. |
||||||
![]() |
Per Pixel Diffuse Tangent Space Bump Mapping. Full extensively documented source code included, on everything to do with tangents and binormals. A and Z moves light source back and force, mouse to swivel cube. Enjoy. |
|||||