From 310e26011f7b05433f55af0a2cad73faf2ef645a Mon Sep 17 00:00:00 2001 From: sam Date: Mon, 5 Dec 2016 00:47:50 -0800 Subject: [PATCH] Fix the lighting problem at the outline of the shapes, use the depth buffer instead of the Linear depth buffer --- libraries/render-utils/src/local_lights_shading.slf | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/libraries/render-utils/src/local_lights_shading.slf b/libraries/render-utils/src/local_lights_shading.slf index b144ce13c7..d3542fcdfa 100644 --- a/libraries/render-utils/src/local_lights_shading.slf +++ b/libraries/render-utils/src/local_lights_shading.slf @@ -30,7 +30,6 @@ <@include LightClusterGrid.slh@> - in vec2 _texCoord0; out vec4 _fragColor; @@ -39,16 +38,14 @@ void main(void) { // Grab the fragment data from the uv vec2 texCoord = _texCoord0.st; - vec4 fragPosition = unpackDeferredPositionFromZeye(texCoord); - DeferredFragment frag = unpackDeferredFragmentNoPosition(texCoord); + DeferredFrameTransform deferredTransform = getDeferredFrameTransform(); + DeferredFragment frag = unpackDeferredFragment(deferredTransform, texCoord); + vec4 fragPosition = frag.position; if (frag.mode == FRAG_MODE_UNLIT) { discard; } - frag.position = fragPosition; - - // Frag pos in world mat4 invViewMat = getViewInverse(); vec4 fragPos = invViewMat * fragPosition; @@ -57,7 +54,6 @@ void main(void) { vec4 clusterEyePos = frustumGrid_worldToEye(fragPos); ivec3 clusterPos = frustumGrid_eyeToClusterPos(clusterEyePos.xyz); - ivec3 cluster = clusterGrid_getCluster(frustumGrid_clusterToIndex(clusterPos)); int numLights = cluster.x + cluster.y; if (numLights <= 0) {