diff options
| author | yum <yum.food.vr@gmail.com> | 2026-01-14 23:26:14 -0800 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2026-01-14 23:26:14 -0800 |
| commit | d01a5d14765cb106327f805c642bc150f5414b3f (patch) | |
| tree | 5fbc3a96dd8c61e76e3ae8f78f59514356492402 /pbr.cginc | |
| parent | d1eb208ecbeba1ab7bf894d9f14d2652739bc63e (diff) | |
Impostors: implement metallic gloss, normals
Diffstat (limited to 'pbr.cginc')
| -rw-r--r-- | pbr.cginc | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -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; |
