#ifndef __DATA_INC #define __DATA_INC #include "globals.cginc" // From filament: min roughness s.t. MIN_PERCEPTUAL_ROUGHNESS^4 > 0 in target // precision. Although we use fp32, the higher min roughness gives us a broader // specular highlight, which is preferable. #define MIN_PERCEPTUAL_ROUGHNESS 0.045 #define MIN_ROUGHNESS 0.002025 struct Pbr { float4 albedo; float3 normal; float3x3 tbn; float smoothness; float roughness_perceptual; float roughness; float metallic; #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 #if defined(_CLEARCOAT) float cc_roughness; float cc_roughness_perceptual; float cc_strength; #endif }; #endif // __DATA_INC