diff options
| author | yum <yum.food.vr@gmail.com> | 2026-01-18 08:52:18 -0800 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2026-01-18 08:52:18 -0800 |
| commit | 50e451441f628aa3a28241af118700ae12147583 (patch) | |
| tree | 8a815e419b1f1d8667a5323e7fec289c8be60cfa /3ner.cginc | |
| parent | b925b4b1bf79e3d6f930a4d799a7194673b62bde (diff) | |
Impostors: begin optimization work
Diffstat (limited to '3ner.cginc')
| -rwxr-xr-x[-rw-r--r--] | 3ner.cginc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/3ner.cginc b/3ner.cginc index 18c23ee..02081a9 100644..100755 --- 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) |
