First attempt at using exclusively depth pass with cap on near plane
This commit is contained in:
@@ -93,8 +93,8 @@ youLight =
|
||||
TLS { _tlsPos = V3 0 0 0
|
||||
,_tlsRad = 300
|
||||
,_tlsIntensity = 0.1
|
||||
,_tlsUpdate = \w _ -> (w, Nothing)
|
||||
--,_tlsUpdate = \w _ -> (w, Just (youLight {_tlsPos = f $ _crPos (you w)}))
|
||||
--,_tlsUpdate = \w _ -> (w, Nothing)
|
||||
,_tlsUpdate = \w _ -> (w, Just (youLight {_tlsPos = f $ _crPos (you w)}))
|
||||
,_tlsTime = 0
|
||||
}
|
||||
where
|
||||
|
||||
+10
-5
@@ -57,9 +57,10 @@ createLightMap pdata lightPoints nWalls nSils nsurfVs = do
|
||||
depthMask $= Disabled
|
||||
blendFunc $= (Zero, OneMinusSrcColor)
|
||||
stencilTest $= Enabled
|
||||
depthFunc $= Just Lequal
|
||||
--depthFunc $= Just Lequal
|
||||
flip VS.mapM_ (VS.fromList lightPoints) $ \(V3 x y z,rad,V3 r g b) -> do
|
||||
--forM_ lightPoints $ \(V3 x y z,r,lum) -> do
|
||||
-- the use of Less is for caps on geometry
|
||||
depthFunc $= Just Less
|
||||
-- stencil out shadows
|
||||
colorMask $= Color4 Disabled Disabled Disabled Disabled
|
||||
@@ -74,21 +75,25 @@ createLightMap pdata lightPoints nWalls nSils nsurfVs = do
|
||||
drawShader (_lightingOccludeShader pdata) nWalls
|
||||
|
||||
--stencilOp $= (OpKeep,OpDecr,OpKeep)
|
||||
stencilOpSeparate Front $= (OpKeep,OpDecrWrap,OpKeep)
|
||||
stencilOpSeparate Back $= (OpKeep,OpIncrWrap,OpKeep)
|
||||
-- stencilOpSeparate Front $= (OpKeep,OpDecrWrap,OpKeep)
|
||||
-- stencilOpSeparate Back $= (OpKeep,OpIncrWrap,OpKeep)
|
||||
currentProgram $= Just (_shaderProgram $ _lightingLineShadowShader pdata)
|
||||
uniform (head $ _shaderCustomUnis $ _lightingLineShadowShader pdata)
|
||||
$= Vector3 x y z
|
||||
depthClamp $= Enabled
|
||||
-- depthClamp $= Enabled
|
||||
drawShader (_lightingLineShadowShader pdata) nSils
|
||||
depthClamp $= Disabled
|
||||
-- depthClamp $= Disabled
|
||||
|
||||
cullFace $= Just Back
|
||||
--stencilOp $= (OpKeep,OpDecrWrap,OpKeep)
|
||||
currentProgram $= Just (_shaderProgram $ _lightingCapShader pdata)
|
||||
uniform (head $ _shaderCustomUnis $ _lightingCapShader pdata)
|
||||
$= Vector3 x y z
|
||||
-- depthClamp $= Enabled
|
||||
drawShader (_lightingCapShader pdata) (nSils - 6)
|
||||
-- depthClamp $= Disabled
|
||||
|
||||
-- use Lequal to redraw surfaces above already drawn surfaces
|
||||
depthFunc $= Just Lequal
|
||||
-- draw geometry surfaces
|
||||
--cullFace $= Just Back
|
||||
|
||||
Reference in New Issue
Block a user