summaryrefslogtreecommitdiffstats
path: root/debug.cginc
diff options
context:
space:
mode:
Diffstat (limited to 'debug.cginc')
-rw-r--r--debug.cginc62
1 files changed, 62 insertions, 0 deletions
diff --git a/debug.cginc b/debug.cginc
new file mode 100644
index 0000000..2103a50
--- /dev/null
+++ b/debug.cginc
@@ -0,0 +1,62 @@
+#ifndef DEBUG_CGINC
+#define DEBUG_CGINC
+
+float4 apply_debug_view(v2f i, Pbr pbr, LightData light_data, BrdfData bd,
+ float4 color) {
+#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)
+ float2 screen_uv = i.pos.xy / _ScreenParams.xy;
+ float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screen_uv);
+ depth *= 100;
+ depth *= depth;
+ depth *= depth;
+ depth *= 100;
+ return float4(depth, depth, depth, 1);
+#elif defined(_DEBUG_VIEW_DIRECT_NOH)
+ return float4(F1_TO_F3(light_data.direct.NoH), 1);
+#elif defined(_DEBUG_VIEW_DIRECT_LOH)
+ return float4(F1_TO_F3(light_data.direct.LoH), 1);
+#elif defined(_DEBUG_VIEW_DIRECT_NOL)
+ return float4(F1_TO_F3(light_data.direct.NoL), 1);
+#elif defined(_DEBUG_VIEW_DIRECT_LOV)
+ return float4(F1_TO_F3(light_data.direct.LoV), 1);
+#elif defined(_DEBUG_VIEW_DIRECT_COLOR)
+ return float4(light_data.direct.color, 1);
+#elif defined(_DEBUG_VIEW_NOV)
+ return float4(F1_TO_F3(light_data.common.NoV), 1);
+#elif defined(_DEBUG_VIEW_AO)
+ return float4(F1_TO_F3(light_data.common.ao), 1);
+#elif defined(_DEBUG_VIEW_INDIRECT_DIFFUSE)
+ return float4(light_data.indirect.diffuse, 1);
+#elif defined(_DEBUG_VIEW_INDIRECT_SPECULAR)
+ return float4(light_data.indirect.specular, 1);
+#elif defined(_DEBUG_VIEW_BRDF_D)
+ return float4(F1_TO_F3(bd.direct_d), 1);
+#elif defined(_DEBUG_VIEW_BRDF_F)
+ return float4(bd.direct_f, 1);
+#elif defined(_DEBUG_VIEW_BRDF_G)
+ return float4(F1_TO_F3(bd.direct_g), 1);
+#elif defined(_DEBUG_VIEW_BRDF_DFG)
+ return float4(bd.ibl_dfg, 1);
+#elif defined(_DEBUG_VIEW_BRDF_D_CC)
+ return float4(F1_TO_F3(bd.direct_d_cc), 1);
+#elif defined(_DEBUG_VIEW_BRDF_F_CC)
+ return float4(F1_TO_F3(bd.direct_f_cc), 1);
+#elif defined(_DEBUG_VIEW_BRDF_G_CC)
+ return float4(F1_TO_F3(bd.direct_g_cc), 1);
+#elif defined(_DEBUG_VIEW_BRDF_DFG_CC)
+ return float4(bd.ibl_dfg_cc, 1);
+#else
+ return color;
+#endif
+}
+
+#endif // DEBUG_CGINC