Our first step in writing our own CgInclude files is to understand what Unity is already providing us with for shaders. By writing Surface Shaders, there is a lot happening under the hood, which makes the process of writing Surface Shaders so efficient. We can see this code in the included CgInclude files found in your Unity install folder at
CGIncludes. All the files contained within this folder do their part to render our objects with our shaders to the screen. Some of these files take care of shadows and lighting, some take care of helper functions, and some manage platform dependencies. Without them, our shader writing experience would be much more laborious.
You can find a list of information that Unity has provided us with at the following link: http://docs.unity3d.com/Documentation/Components/SL-BuiltinIncludes.html
Let's begin the process of understanding these built-in CgInclude files, using some of the built-in helper...