From 50e451441f628aa3a28241af118700ae12147583 Mon Sep 17 00:00:00 2001 From: yum Date: Sun, 18 Jan 2026 08:52:18 -0800 Subject: Impostors: begin optimization work --- 3ner.cginc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) mode change 100644 => 100755 3ner.cginc (limited to '3ner.cginc') diff --git a/3ner.cginc b/3ner.cginc old mode 100644 new mode 100755 index 18c23ee..02081a9 --- a/3ner.cginc +++ b/3ner.cginc @@ -253,12 +253,12 @@ void geom(triangle v2f tri_in[3], //endex float4 frag(v2f i, uint facing : SV_IsFrontFace -#if defined(_IMPOSTORS) +#if defined(_IMPOSTORS_DEPTH) , out float depth : SV_DepthLessEqual #endif ) : SV_Target { UNITY_SETUP_INSTANCE_ID(i); -#if defined(SHADOW_CASTER_PASS) && !(_IMPOSTORS) +#if defined(SHADOW_CASTER_PASS) && !defined(_IMPOSTORS_DEPTH) return 0; #endif @@ -279,17 +279,21 @@ float4 frag(v2f i, uint facing : SV_IsFrontFace #if defined(_IMPOSTORS) i.normal = pbr.normal; +#if defined(_IMPOSTORS_DEPTH) i.objPos = pbr.objPos; propagateObjPos(i); - float4 imp_clip_pos = UnityObjectToClipPos(i.objPos); depth = imp_clip_pos.z / imp_clip_pos.w; #endif +#endif #if defined(_DEBUG_VIEW_UNLIT) return pbr.albedo; #elif defined(_DEBUG_VIEW_WORLD_SPACE_NORMALS) return float4((pbr.normal + 1.0f) * 0.5f, 1); +#elif defined(_DEBUG_VIEW_OBJECT_SPACE_NORMALS) + float3 normalOS = normalize(mul((float3x3)unity_WorldToObject, pbr.normal)); + return float4((normalOS + 1.0f) * 0.5f, 1); #elif defined(_DEBUG_VIEW_METALLIC_GLOSS) return float4(pbr.metallic, pbr.smoothness, 0, 1); #elif defined(_DEBUG_VIEW_DEPTH) -- cgit v1.2.3