From 5c46ccb86d472d3dc3a2a66a714c206a2867b908 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 26 Jan 2015 13:24:24 +0000 Subject: [PATCH] Use abs instead of saturate to do double-sided lighting on meshes * This means we don't need to care about winding making normals inside out, and in this case it's not a bad thing to light backfaces I think. --- renderdoc/data/glsl/mesh.frag | 2 +- renderdoc/data/hlsl/debugdisplay.hlsl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/renderdoc/data/glsl/mesh.frag b/renderdoc/data/glsl/mesh.frag index 0e040147c..3aeac8b2a 100644 --- a/renderdoc/data/glsl/mesh.frag +++ b/renderdoc/data/glsl/mesh.frag @@ -50,7 +50,7 @@ void main(void) { vec3 lightDir = normalize(vec3(0, -0.3f, -1)); - color_out = vec4(RENDERDOC_GenericFS_Color.xyz*clamp(dot(lightDir, IN.norm.xyz), 0.0f, 1.0f), 1); + color_out = vec4(RENDERDOC_GenericFS_Color.xyz*abs(dot(lightDir, IN.norm.xyz)), 1); } else //if(type == MESHDISPLAY_SOLID) { diff --git a/renderdoc/data/hlsl/debugdisplay.hlsl b/renderdoc/data/hlsl/debugdisplay.hlsl index 11d3ce9a4..88fa2c1a9 100644 --- a/renderdoc/data/hlsl/debugdisplay.hlsl +++ b/renderdoc/data/hlsl/debugdisplay.hlsl @@ -253,7 +253,7 @@ float4 RENDERDOC_MeshPS(wireframeV2F IN) : SV_Target0 { float3 lightDir = normalize(float3(0, -0.3f, -1)); - return float4(WireframeColour.xyz*saturate(dot(lightDir, IN.norm)), 1); + return float4(WireframeColour.xyz*abs(dot(lightDir, IN.norm)), 1); } else //if(type == MESHDISPLAY_SOLID) return float4(WireframeColour.xyz, 1);