Remove wall sight occlusion for lighting changes

This commit is contained in:
2021-03-17 20:05:53 +01:00
parent b68e39ba2f
commit ea7b6f857e
4 changed files with 24 additions and 4 deletions
+8 -1
View File
@@ -16,7 +16,7 @@ import Control.Lens
import Foreign
import Shader
import Geometry (Point2)
import Geometry (Point2,Point4)
import qualified Control.Foldl as F
@@ -25,6 +25,7 @@ data RenderData = RenderData
, _wallShadowShader :: FullShader (Point2,Point2,Point2,Point2)
, _backgroundShader :: FullShader (Point2,Point2,Point2,Point2)
, _fullscreenShader :: FullShader ()
, _wallShader :: FullShader (Point2,Point4)
, _listShaders :: [FullShader RenderType]
, _dummyVBO :: BufferObject
, _dummyPtr :: Ptr Float
@@ -46,6 +47,8 @@ preloadRender = do
wsShad <- makeShaderCustomUnis "wallShadow" [vert,geom,frag] [(0,4),(1,4)] Points pokeWPStrat
["lightPos"]
wlShad <- makeShader "wall" [vert,geom,frag] [(0,2),(1,4)] Triangles pokeWlStrat
bslist <- makeShader "basic" [vert,frag] [(0,3),(1,4)] Triangles pokeTriStrat
lslist <- makeShader "basic" [vert,frag] [(0,3),(1,4)] Lines pokeLineStrat
aslist <- makeShader "arc" [vert,geom,frag] [(0,3),(1,4),(2,4)] Points pokeArcStrat
@@ -88,6 +91,7 @@ preloadRender = do
, _dummyPtr = dummyptr
, _lightSourceShader = lsShad
, _wallShadowShader = wsShad
, _wallShader = wlShad
, _backgroundShader = bgShad
, _fullscreenShader = fsShad
, _spareFBO = fbo
@@ -141,6 +145,9 @@ pokeTriStrat :: RenderType -> [[[Float]]]
pokeTriStrat (RenderPoly vs) = fmap (\((x,y,z),(r,g,b,a)) -> [[x,y,z],[r,g,b,a]]) vs
pokeTriStrat _ = []
pokeWlStrat :: (Point2,Point4) -> [[[Float]]]
pokeWlStrat ((x,y),(r,g,b,a)) = [[[x,y],[r,g,b,a]]]
pokeCharStrat (RenderText vs) = fmap (\(a,b,c) -> flat3 (flat3 a, flat4 b, flat3 c)) vs
pokeCharStrat _ = []