What is a vertex shader ?

Hi !

I’d like to know what is the “vertex shader” of the GF3, about which they often talk on the advanced forum. And what does it mean, when they say that it’s “programmable” ? Will we at last have the possibility to program GPUs in assembly language ?

Thanks for help !

Hi Morglum,

a vertex shader is a small program that will be executed for each vertex you send to the card. You can create lots of effects ranging from lighting (e.g. double sided) to geometric effects (e.g. key frame animation or morphing). In NVIDIAs implementation you have kind of a assembly language to manipulate diverse registers (e.g. vertex coordinates and constants) and finally create the output vertex.


What stefan says is correct on all counts. Be aware that using vertex programs completely bypasses the fixed T&L engine so you have to write everything yourself == a lot more work. On the other hand, you can create great effects with them and they are also a lot of fun to use. Download all the pdf’s you can from NVIDIA’s site and read up on them. There are quite a few demos in the SDK and on people’s sites for experimenting with them as well. You can use them on GeForce and up hardware with emulation, but only in hardware on GeForce3.
Hope that helps.

Thank you guys, that was very informative .