// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt) #ifndef UNITY_LIGHTING_COMMON_INCLUDED #define UNITY_LIGHTING_COMMON_INCLUDED fixed4 _LightColor0; fixed4 _SpecColor; struct UnityLight { half3 color; half3 dir; half ndotl; // Deprecated: Ndotl is now calculated on the fly and is no longer stored. Do not used it. }; struct UnityIndirect { half3 diffuse; half3 specular; }; struct UnityGI { UnityLight light; UnityIndirect indirect; }; struct UnityGIInput { UnityLight light; // pixel light, sent from the engine float3 worldPos; half3 worldViewDir; half atten; half3 ambient; // interpolated lightmap UVs are passed as full float precision data to fragment shaders // so lightmapUV (which is used as a tmp inside of lightmap fragment shaders) should // also be full float precision to avoid data loss before sampling a texture. float4 lightmapUV; // .xy = static lightmap UV, .zw = dynamic lightmap UV #if defined(UNITY_SPECCUBE_BLENDING) || defined(UNITY_SPECCUBE_BOX_PROJECTION) || defined(UNITY_ENABLE_REFLECTION_BUFFERS) float4 boxMin[2]; #endif #ifdef UNITY_SPECCUBE_BOX_PROJECTION float4 boxMax[2]; float4 probePosition[2]; #endif // HDR cubemap properties, use to decompress HDR texture float4 probeHDR[2]; }; #endif