Shaders work on a per-vertice/per-pixel basis.
you bind a vertex program, and then a pixel shader program, then after it's bound and set to run, all vertices are passed to the vertex shader, which feeds the final position etc onto the pixel shader, which is called for every pixel on screen, so that's why they are still pretty slow in fx heavy games.
You can use them in vividGl(/shameless plug)
you bind a vertex program, and then a pixel shader program, then after it's bound and set to run, all vertices are passed to the vertex shader, which feeds the final position etc onto the pixel shader, which is called for every pixel on screen, so that's why they are still pretty slow in fx heavy games.
You can use them in vividGl(/shameless plug)