A quick question: Shaders

What are they? People using DX seem to be throwing this word around a lot? does opengl have support for them? what about skeletal animation?

Shaders (AFAIK) are assembler-like programs that run on the GPU to affect T&L in a programmatic way (or something like that… I’m sure someone else will post a more precise answer).

NVidia’s OpenGL SDK has support for them via extensions.

Skeletal animation is up to you.

I was under the impression that “Multi-texturing” is what a shader was. Am I wrong?

Everytime I hear of shaders, they always involve a texture layer blended with other texture layers.

[This message has been edited by WhatEver (edited 04-11-2001).]

There are different kinds of shaders:

  • [li]Vertex Shaders[]Pixel/Fragment Shaders[]Texture Shaders

Sounds like you’re thinking of texture shaders.

More info here: http://www.nvidia.com/marketing/developer/devrel.nsf/oglFrame?OpenPage

[This message has been edited by rts (edited 04-11-2001).]

I think the term “shader” has evolved well beyond its origional intent. If I’m not mistaken, it’s just the process of applying color, texture and shading to geometry to be rasterized. DirectX and nVidia took things one step further by defining objects and functions to wrap the process and accelerate it thru hardware. Of course, I’m probably a bit off base, so feel free to correct, flame, or humiliate me in any way you feel fit :stuck_out_tongue:

nVidia’s vertex programs, called vertex shaders in DirectX, are assembly-like programs that reside in hardware, providing you have a GF3, and basically just automate this process for you. I thoroughly recommend Nutty’s demos if your interested in this subject. But to answer your last question, vertex programs can operate on per-vertex weights and therefore provide powerful new avenues for character animation. Currently, I’m working on an IK solver using the vPrograms, and I am completely blown away by the potential that nVidia has given us.

Dave

[This message has been edited by lpVoid (edited 04-11-2001).]

WEHAY!

I’ll just add that you dont actually need a geforce 3 to use vertex programs. Provided yo have detonator drivers past version 7.19 or something, they will be supported. Unlike software pixel shaders, software emulation of vertex shaders is actually fast enough to use without the required hardware (geforce 3)

I personally think vertex shaders are WAY cool! you can just code up your own lighting algorithms like the good old days, and you dont even need to use opengl’s lights, and is still done on the GPU (T&L’able) on geforce 3 hardware.

It rocks!

Nutty

Hey you guy are talking like you have access to geforce3 cards, I didn’t think they had been released yet.

(I live in a part of the world where it takes 1 - 2 mounths for new technology
to reach our supliers)

you dont need to have a gf3 to code with vertexprograms, they are standart for everyone in the new drivers wich are out there but not official…

even the textureshaders you can try if you enable the gf3 emulator… but this is terrible slow…