Use vertex pulling for wall shadows
This commit is contained in:
@@ -27,8 +27,10 @@ sizeFBOs cfig rdata =
|
||||
GL_NEAREST
|
||||
GL_NEAREST
|
||||
GL_RGBA8
|
||||
GL_RGBA16F -- i am not sure if this should not be GL_RGBA32F
|
||||
GL_RGBA16F
|
||||
GL_RGBA16F -- could possibly recover using depth in a clever way
|
||||
-- but probably not, because the projection matrix is
|
||||
-- not always on-center
|
||||
GL_RGBA16F -- make this smaller?
|
||||
)
|
||||
rdata
|
||||
[fboBase, fboCloud]
|
||||
|
||||
@@ -83,7 +83,8 @@ preloadRender = do
|
||||
wallshader <- makeShaderUsingVBO "wall/basic" [vert, geom, frag] (toFloatVAs [4, 4]) pmPoints wallvbo
|
||||
putStrLn "Setup lighting shaders"
|
||||
lightingWallShadShad <-
|
||||
makeShaderUsingVBO "lighting/wallShadow" [vert, geom] (toFloatVAs [4]) pmPoints wallvbo
|
||||
--makeShaderUsingVBO "lighting/wallShadow" [vert, geom] (toFloatVAs [4]) pmPoints wallvbo
|
||||
makeShaderUsingVAO "lighting/wallShadow" [vert] pmTriangles (VAO dummyvao)
|
||||
lightingCapShad <-
|
||||
makeShaderUsingVAO "lighting/cap" [vert, geom] pmTriangles shPosVAO
|
||||
lightingLineShadowShad <-
|
||||
|
||||
+3
-2
@@ -173,11 +173,12 @@ renderShadows shadrendertype nWalls nSils nCaps positiontexture normaltexture li
|
||||
glUseProgram (_shaderUINT lwallShad)
|
||||
glUniform3f 0 x y z
|
||||
glUniform1f 1 rad
|
||||
glBindVertexArray $ lwallShad ^. shaderVAO . vaoName -- Just (_vao $ _shadVAO lwallShad)
|
||||
--glBindVertexArray $ lwallShad ^. shaderVAO . vaoName -- Just (_vao $ _shadVAO lwallShad)
|
||||
glBindVertexArray $ pdata ^. dummyVAO . vaoName -- Just (_vao $ _shadVAO lwallShad)
|
||||
glDrawArrays
|
||||
(_unPrimitiveMode $ _shaderPrimitive lwallShad)
|
||||
0
|
||||
nWalls
|
||||
(nWalls * 18)
|
||||
case shadrendertype of
|
||||
GeoObjShads -> do
|
||||
--draw silhouette shadows
|
||||
|
||||
Reference in New Issue
Block a user