From e0792893499be161c1c95ffa561aaaa02c011dba Mon Sep 17 00:00:00 2001 From: jgk Date: Fri, 19 Mar 2021 01:01:22 +0100 Subject: [PATCH] Remove inputs to wallShadow shader --- shader/wallShadow.geom | 31 +------------------------------ shader/wallShadow.vert | 10 ---------- src/Picture/Preload.hs | 4 ++-- 3 files changed, 3 insertions(+), 42 deletions(-) diff --git a/shader/wallShadow.geom b/shader/wallShadow.geom index 648316d89..6a1f62562 100644 --- a/shader/wallShadow.geom +++ b/shader/wallShadow.geom @@ -1,8 +1,7 @@ #version 430 core layout (points) in; -layout (triangle_strip, max_vertices = 12) out; +layout (triangle_strip, max_vertices = 4) out; -in vec4 vBackPoss[]; uniform vec2 lightPos; uniform mat4 worldMat; @@ -14,40 +13,12 @@ void emitLine (vec2 pa) EmitVertex(); } -float isLHS (vec2 startV, vec2 testV) -{ - return sign( -startV.x * testV.y + startV.y * testV.x); -} - void main() { vec4 frontL4 = worldMat * vec4(gl_in[0].gl_Position.xy, 0 ,1); vec4 frontR4 = worldMat * vec4(gl_in[0].gl_Position.zw, 0 ,1); vec2 frontL = frontL4.xy; vec2 frontR = frontR4.xy; - vec4 backR4 = worldMat * vec4(vBackPoss[0].xy, 0 ,1); - vec4 backL4 = worldMat * vec4(vBackPoss[0].zw, 0 ,1); - vec2 backL = backL4.xy; - vec2 backR = backR4.xy; - -// if (isLHS( lightPos - frontL, frontR - frontL) < 0) -// // if (isLHS( lightPos - backL, backR - backL) < 0) -// { -// // emitLine (frontL); -// // emitLine (backL); -// // emitLine (frontL); -// // emitLine (frontR); -// // emitLine (backR); -// // emitLine (frontR); -// -// emitLine (backR); -// emitLine (backL); -// } -// else -// { -// emitLine (backR); -// emitLine (backL); -// } emitLine (frontR); emitLine (frontL); diff --git a/shader/wallShadow.vert b/shader/wallShadow.vert index 61b1fc2b9..15bfe7fc0 100644 --- a/shader/wallShadow.vert +++ b/shader/wallShadow.vert @@ -1,17 +1,7 @@ #version 430 core layout (location = 0) in vec4 poss; -layout (location = 1) in vec4 backPoss; - -out vec4 vBackPoss; - -//uniform vec2 winSize; -//uniform float zoom; -//uniform float rotation; -//uniform vec2 translation; -//uniform mat4 worldMat; void main() { gl_Position = poss; - vBackPoss = backPoss; } diff --git a/src/Picture/Preload.hs b/src/Picture/Preload.hs index c8452ea93..a34a6285b 100644 --- a/src/Picture/Preload.hs +++ b/src/Picture/Preload.hs @@ -45,7 +45,7 @@ preloadRender = do bgShad <- makeTextureShader "background" [vert,geom,frag] [(0,4),(1,2)] Points pokeBGStrat "data/texture/smudgedDirt.png" - wsShad <- makeShaderCustomUnis "wallShadow" [vert,geom,frag] [(0,4),(1,4)] Points pokeWPStrat + wsShad <- makeShaderCustomUnis "wallShadow" [vert,geom,frag] [(0,4)] Points pokeWPStrat ["lightPos"] wlLightShad <- makeShaderCustomUnis "wallLight" [vert,frag] [(0,3)] TriangleStrip pokeLightWallStrat @@ -172,7 +172,7 @@ geom = GeometryShader frag = FragmentShader pokeWPStrat :: (Point2,Point2,Point2,Point2) -> [[[Float]]] -pokeWPStrat ((x,y),(z,w),(a,b),(c,d)) = [[[x,y,z,w],[a,b,c,d]]] +pokeWPStrat ((x,y),(z,w),(a,b),(c,d)) = [[[x,y,z,w]]] pokeLightWallStrat :: Point3 -> [[[Float]]] pokeLightWallStrat (x,y,z) = [[[x,y,z]]]