Partial fix to near plane clipping shadows

This commit is contained in:
2021-08-28 21:25:59 +01:00
parent 55f1d89a5e
commit d23f36ea95
5 changed files with 10 additions and 4 deletions
+1 -1
View File
@@ -3,7 +3,7 @@ layout (lines_adjacency) in;
layout (triangle_strip, max_vertices = 4) out;
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
uniform vec3 lightPos;
vec4 shift (vec4 p) { return (vec4 (p.xyz + (1000*(p.xyz-lightPos)), 1));}
vec4 shift (vec4 p) { return (vec4 (p.xyz + (100000*(p.xyz-lightPos)), 1));}
vec4 f (vec4 p) {return (theMat * p);}
void main()
{
+1 -1
View File
@@ -173,7 +173,7 @@ startInventory = IM.fromList (zip [0..20]
,remoteLauncher
,remoteBomb
,grenade
,spawnGun (lamp 20)
,spawnGun (lamp 5)
,lasGun
,flamer
,poisonSprayer
+1 -1
View File
@@ -35,7 +35,7 @@ module Dodge.Item.Weapon.TriggerType
import Dodge.Data
import Dodge.SoundLogic
import Dodge.Creature.Action (startReloadingWeapon)
import Dodge.WorldEvent (muzzleFlashAt,tempLightForAt)
import Dodge.WorldEvent (tempLightForAt)
import Dodge.WorldEvent.Cloud
import Dodge.RandomHelp
import Dodge.Item.Attachment.Data
+3 -1
View File
@@ -53,7 +53,9 @@ doDrawing pdata w = do
-- poke wall points and colors
nWalls <- poke224s (shadVBOptr $ _wallTextureShader pdata) wallPointsCol
nSils <- pokePoint3s (shadVBOptr $ _lightingLineShadowShader pdata)
$ youSil w ++ _foregroundEdgeVerx w
$
--youSil w ++
_foregroundEdgeVerx w
-- poke foreground geometry and floor
let addC (V2 xx yy) = V3 xx yy 0
nsurfVs <- pokePoint3s (shadVBOptr $ _lightingSurfaceShader pdata)
+4
View File
@@ -72,14 +72,18 @@ createLightMap pdata lightPoints nWalls nSils nsurfVs = do
currentProgram $= Just (_shaderProgram $ _lightingLineShadowShader pdata)
uniform (head $ _shaderCustomUnis $ _lightingLineShadowShader pdata)
$= Vector3 x y z
depthClamp $= Enabled
drawShader (_lightingLineShadowShader pdata) nSils
depthClamp $= Disabled
cullFace $= Just Front
stencilOp $= (OpKeep,OpKeep,OpDecr)
currentProgram $= Just (_shaderProgram $ _lightingOccludeShader pdata)
drawShader (_lightingOccludeShader pdata) nWalls
currentProgram $= Just (_shaderProgram $ _lightingLineShadowShader pdata)
depthClamp $= Enabled
drawShader (_lightingLineShadowShader pdata) nSils
depthClamp $= Disabled
-- draw geometry surfaces
cullFace $= Just Back