Shade-C uses deferred rendering so all the lighting is done by post-processing shaders which means that you don't have to do any of this in the object shader.
It also uses a default material which allows you to create a shader by just commenting / uncommenting #defines and it supports custom pixel- and vertexshader which can be used for example to enable vertex displacement - like for vegetation shaders
Well, this probably sounds a bit complicated now, but it really isn't
you set some material settings like this:
Code:
//assign skins
#define SKIN_ALBEDO (skin1.xyz) //diffusemap
#define SKIN_NORMAL (skin2.xyz) //normalmap
#define SKIN_GLOSS (skin2.w) //glossmap
//...
#define NORMALMAPPING //do normalmapping?
#define GLOSSMAP //entity has glossmap?
#define GLOSSSTRENGTH 0 //glossmap channel will be set to this value if GLOSSMAP is not defined
and create a custom vertex shader for the animation: