From d01a5d14765cb106327f805c642bc150f5414b3f Mon Sep 17 00:00:00 2001 From: yum Date: Wed, 14 Jan 2026 23:26:14 -0800 Subject: Impostors: implement metallic gloss, normals --- pbr.cginc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'pbr.cginc') diff --git a/pbr.cginc b/pbr.cginc index 8a611d4..a1df361 100644 --- a/pbr.cginc +++ b/pbr.cginc @@ -161,13 +161,15 @@ Pbr getPbr(v2f i) { #endif // _PARALLAX_HEIGHTMAP #if defined(_IMPOSTORS) - pbr.albedo = impostor_frag(i.worldPos); - pbr.albedo *= _Color; + ImpostorResult imp = impostor_frag(i.worldPos); + pbr.albedo = imp.albedo * _Color; + pbr.normal = imp.normal; + pbr.smoothness = imp.smoothness; + pbr.metallic = imp.metallic * _Metallic; #else pbr.albedo = _MainTex.Sample(aniso16_trilinear_repeat_s, uv_parallax * _MainTex_ST.xy + _MainTex_ST.zw); pbr.albedo *= _Color; apply_marble(i.worldPos, pbr.albedo.xyz); -#endif float3 normal_tangent = UnpackNormal(_BumpMap.Sample(aniso16_trilinear_repeat_s, uv_parallax * _BumpMap_ST.xy)); normal_tangent.xy *= _BumpScale; @@ -186,6 +188,8 @@ Pbr getPbr(v2f i) { float4 metallic_gloss = _MetallicGlossMap.Sample(aniso16_trilinear_repeat_s, uv_parallax * _MetallicGlossMap_ST.xy); pbr.smoothness = metallic_gloss.a * _Glossiness; pbr.metallic = metallic_gloss.r * _Metallic; +#endif // _IMPOSTORS + #if defined(_CLEARCOAT) pbr.cc_roughness = _Clearcoat_Roughness; pbr.cc_strength = _Clearcoat_Strength; -- cgit v1.2.3