diff options
Diffstat (limited to 'debug.cginc')
| -rw-r--r-- | debug.cginc | 62 |
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 |
