411 REFERENCE · Wikibooks
Cg Programming/Surface Shaders
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Unity's Surface Shaders provide a simplified way of programming Cg shaders by automatically adding shader code for lighting and shadow computations such that programmers only need to specify material constants.
Unity offers a tutorial with a Gentle Introduction to Shaders and videos of a training session about Writing Your First Shader in Unity.
If you already know Cg, the shader examples in Unity's documentation and the source code of built-in surface shaders are very useful to understand Surface Shaders.