Add trajectory to grenades, various refactoring
This commit is contained in:
+18
-7
@@ -38,6 +38,8 @@ createLightMap
|
||||
createLightMap pdata lightPoints nWalls nSils nCaps toPos = do
|
||||
let llsShad = _lightingLineShadowShader pdata
|
||||
let lcShad = _lightingCapShader pdata
|
||||
let lwShad = _lightingWallShadShader pdata
|
||||
let flShad = _fullLightingShader pdata
|
||||
-- we assume that the renderbuffer's depth has been correctly set elsewhere
|
||||
-- we will not be changing that here
|
||||
depthMask $= Disabled
|
||||
@@ -59,10 +61,15 @@ createLightMap pdata lightPoints nWalls nSils nCaps toPos = do
|
||||
stencilOpSeparate Back $= (OpKeep,OpKeep,OpDecrWrap)
|
||||
stencilFunc $= (Always, 0, 255)
|
||||
--draw wall shadows
|
||||
currentProgram $= Just (_shadProg $ _lightingOccludeShader pdata)
|
||||
uniform (head $ _shadUnis $ _lightingOccludeShader pdata)
|
||||
currentProgram $= Just (_shadProg lwShad)
|
||||
uniform (head $ _shadUnis lwShad)
|
||||
$= Vector3 x y z
|
||||
drawShader (_lightingOccludeShader pdata) nWalls
|
||||
bindVertexArrayObject $= Just (_vao $ _shadVAO lwShad)
|
||||
glDrawArrays
|
||||
(marshalEPrimitiveMode $ _shadPrim lwShad)
|
||||
0
|
||||
(fromIntegral nWalls)
|
||||
--drawShader lwShad nWalls
|
||||
--draw silhouette shadows
|
||||
currentProgram $= Just (_shadProg llsShad)
|
||||
uniform (head $ _shadUnis $ _lightingLineShadowShader pdata)
|
||||
@@ -91,12 +98,16 @@ createLightMap pdata lightPoints nWalls nSils nCaps toPos = do
|
||||
colorMask $= Color4 Enabled Enabled Enabled Enabled
|
||||
stencilOp $= (OpKeep,OpKeep,OpKeep)
|
||||
stencilFunc $= (Equal, 0, 255)
|
||||
currentProgram $= Just (_shadProg $ _fullLightingShader pdata)
|
||||
uniform (head $ _shadUnis $ _fullLightingShader pdata)
|
||||
currentProgram $= Just (_shadProg flShad)
|
||||
uniform (head $ _shadUnis flShad)
|
||||
$= Vector3 x y z
|
||||
uniform (_shadUnis (_fullLightingShader pdata) !! 1)
|
||||
uniform (_shadUnis flShad !! 1)
|
||||
$= Vector4 r g b rad
|
||||
drawShader (_fullLightingShader pdata) 4
|
||||
bindVertexArrayObject $= Just (_vao $ _shadVAO flShad)
|
||||
glDrawArrays
|
||||
(marshalEPrimitiveMode (_shadPrim flShad))
|
||||
0
|
||||
(fromIntegral (4::Int))
|
||||
--cleanup: may not be necessary, depending on what comes after...
|
||||
cullFace $= Nothing
|
||||
stencilTest $= Disabled
|
||||
|
||||
Reference in New Issue
Block a user