First pass implementing exponentially fading lighting

This commit is contained in:
2021-02-22 13:45:59 +01:00
parent c75cda639b
commit e855d303e8
10 changed files with 117 additions and 49 deletions
+11
View File
@@ -33,6 +33,7 @@ data PreloadData = PreloadData
, _arcVAO :: VAO
, _backVAO :: VAO
, _wallVAO :: VAO
, _fadeCircVAO :: VAO
, _posVBO :: BufferObject
, _colVBO :: BufferObject
, _texVBO :: BufferObject
@@ -40,6 +41,9 @@ data PreloadData = PreloadData
, _csZoomUni :: UniformLocation
, _asWinUni :: UniformLocation
, _asZoomUni :: UniformLocation
, _fcsWinUni :: UniformLocation
, _fcsZoomUni :: UniformLocation
, _wssLightPos :: UniformLocation
, _dummyVBO :: BufferObject
, _dummyPtr :: Ptr Float
}
@@ -112,6 +116,8 @@ doPreload' = do
asWinSizeUniLoc <- GL.uniformLocation as "winSize"
asZoomUniLoc <- GL.uniformLocation as "zoom"
wssLightPosUniLoc <- GL.uniformLocation wss "lightPos"
fcsWinSizeUniLoc <- GL.uniformLocation fcs "winSize"
fcsZoomUniLoc <- GL.uniformLocation fcs "zoom"
-- get uniform locations
--setup vbos
@@ -164,6 +170,7 @@ doPreload' = do
arcvao <- setupVAO [(posVBO,0,3),(colVBO,1,4),(texVBO,2,4)]
backgroundvao <- setupVAO [(posVBO,0,4),(colVBO,1,2)]
wallvao <- setupVAO [(posVBO,0,4),(colVBO,1,4)]
fadecircvao <- setupVAO [(posVBO,0,4)]
return $ PreloadData
{ -- _charMap = convertRGBA8 cmap
@@ -182,6 +189,7 @@ doPreload' = do
, _lineVAO = linevao
, _backVAO = backgroundvao
, _wallVAO = wallvao
, _fadeCircVAO = fadecircvao
, _posVBO = posVBO
, _colVBO = colVBO
, _texVBO = texVBO
@@ -191,6 +199,9 @@ doPreload' = do
, _csZoomUni = zoomUni
, _asWinUni = asWinSizeUniLoc
, _asZoomUni = asZoomUniLoc
, _wssLightPos = wssLightPosUniLoc
, _fcsWinUni = fcsWinSizeUniLoc
, _fcsZoomUni = fcsZoomUniLoc
}
vaoPointers :: VAO -> [Ptr Float]