Our first step into writing our own CgInclude files is to understand what Unity is already providing us for Shaders. By writing Surface Shaders there is a lot happening underneath 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 that folder do their part to render our objects with our Shaders on 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 ...