Hi folks. I’ve been wanting to learn something about shaders, and am also thinking of using CS as a release platform for my next game. It won’t be commercial, but more of a learning project. I’ll be prototyping in Blender then converting to CS.
The issue arises with the lack of GLSL support in CS. It does, however, support Cg. Would this be a reasonable first shader language to learn? (Much appreciation to Brecht for embedding GLSL support in Blender ;))
From what I can tell, the really tricky parts of understanding shader language is understanding the GPU pipeline and understanding the maths behind the transformations you wish to use in the vertex and fragment shaders. This doesn’t seem to be too closely linked to a particular shader language, am I correct in this? I mean… would it be relatively simple to pick up another shader language after first learning a different one?
Cg compiles to both GLSL and HLSL and has support for different hardware profiles that can be selected at compile-time (the application/game’s run-time). This seems to be a fairly easy method of addressing compatibility issues, am I correct in this assumption?
Thanks in advance for any comments and advice about this. I have no delusions about how difficult it will be to become proficient in writing shaders and would like to get some things straight in my mind before starting this learning process with any seriousness.