From 46f600fa6890bd9321a87d95e325b4f8f6694f27 Mon Sep 17 00:00:00 2001 From: yum Date: Sat, 7 Mar 2026 18:56:39 -0800 Subject: Add data.cginc - header for data containers --- data.cginc | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 data.cginc (limited to 'data.cginc') diff --git a/data.cginc b/data.cginc new file mode 100644 index 0000000..34eacd6 --- /dev/null +++ b/data.cginc @@ -0,0 +1,36 @@ +#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 -- cgit v1.2.3