diff options
Diffstat (limited to 'data.cginc')
| -rw-r--r-- | data.cginc | 59 |
1 files changed, 56 insertions, 3 deletions
@@ -20,9 +20,6 @@ struct Pbr { #if defined(_EMISSIONS) && defined(FORWARD_BASE_PASS) float3 emission; #endif -#if defined(_AMBIENT_OCCLUSION) - float ao; -#endif #if defined(_BENT_NORMALS) float3 bent_normal; #endif @@ -33,4 +30,60 @@ struct Pbr { #endif }; +struct LightCommon { + float3 V; + float3 N; + float NoV; + float ao; + float spec_ao; +#if defined(_CLEARCOAT) + float NoV_cc; +#endif +}; + +struct LightDirect { + float3 dir; + + float3 H; + float NoH; + float NoL; +#if defined(_CLEARCOAT) + float NoH_cc; + float NoL_cc; +#endif + float LoH; + float LoV; + float double_LoV; + + float3 color; +}; + +struct LightIndirect { + float3 dir; + + float3 H; + float NoH; + float NoL; + float LoH; + float LoV; + float double_LoV; + + float3 specular; +#if defined(_CLEARCOAT) + float3 specular_cc; +#endif + float3 diffuse; + + float3 L00; + float3 L01r; + float3 L01g; + float3 L01b; +}; + +struct LightData { + LightCommon common; + LightDirect direct; + LightIndirect indirect; +}; + #endif // __DATA_INC |
