As Technical Art Director on our largest project, I’m doing a lot of shader writing these days. When we started out I established a core library of FX shaders the artists could use in the 3DSMAX viewport. These shaders were ported to the game engine by the Lead Graphics Programmer and have been used throughout most of development. Our work is now becoming more complex in the final months of the project as we are focusing on all sorts of effects to bring the world to life. I’ll be sure to create a post-mortem on the project when it is completed, but for now I’d like to share some basic tools and resources that have helped me along the way.

Shaders for Game Programmers and Artists – Don’t be turned off by the 2004 publishing date, as this is a great introductory book that quickly covers a lot of relevant material in a way that is easy to understand. The exercises are memorable and make use of ATI RenderMonkey to execute the concepts and samples.
Shader theory Shading theory and implementation inside XSI – An excellent web page covering the basic generalized math required to understand and implement shaders and lighting models, with examples built inside of my favorite 3D package.
MSDN Logo HLSL Reference on MSDN – Sort of a no-brainer, but often times we overlook the obvious.
ShaderFX Logo ShaderFX – A graphical shader network editor for 3DSMAX. I used ShaderFX to build the initial core library of shaders, and to help me plan out more complicated rendering effects. A highly recommended product from two top-notch developers!
FX Composer Nvidia FX Composer 2 – A generalized and powerful shader development environment. It’s a little resource-heavy and buggy for my taste, but it saved me a lot of time dealing with compilation errors before our game engine supported detailed compiler messages. Admittedly, having a specific game engine to develop shaders for has made FX Composer less crucial to my workflow as of late, but it is still a highly recommended package for general use.