Quote:

what is the extern... for??




It's not *needed*, however I put it there for readability.
Quote:

A global variable marked extern is an external input to the shader. To set an extern variable, use any of the set methods ("SetVertexShaderConstantX") or any of the ID3DXConstantTable interface methods.

A global variable that is not declared to be either static or extern is assumed to be extern. You cannot declare a global variable with both extern and static.



-MSDN

Quote:

you say it supports a point light.. how do you calculate attenuation? as far as i can see it doesnt have any at all. It seems you need another pass with an attenuation factor.



Good point, I have not added attenuation to the shader- this is a direct port of the one linked to in the first post. If I find a few minutes sometime this week I will throw in attenuation. I have another ps1.1 normalmapping shader I coded a while back from scratch that uses attenuation and specular, I will probably just copy some source from that over.

-Rhuarc


I no longer post on these forums, keep in touch with me via:
Linkedin.com
My MSDN blog