From 4d59d521acbf3255f698d0bd5d3735b64e0a0a9d Mon Sep 17 00:00:00 2001 From: justin Date: Tue, 11 Nov 2025 17:22:55 +0000 Subject: [PATCH] Cleanup --- shader/ceiling/stencil.geom | 13 ---------- shader/ceiling/stencil.vert | 5 ---- shader/lighting/lineShadow.vert | 23 +++++++---------- src/Data/Preload/Render.hs | 2 +- src/Preload/Render.hs | 4 +-- tags | 45 +++++++++++++++++---------------- 6 files changed, 35 insertions(+), 57 deletions(-) delete mode 100644 shader/ceiling/stencil.geom diff --git a/shader/ceiling/stencil.geom b/shader/ceiling/stencil.geom deleted file mode 100644 index 853734121..000000000 --- a/shader/ceiling/stencil.geom +++ /dev/null @@ -1,13 +0,0 @@ -#version 450 core -layout(points) in; -layout(triangle_strip, max_vertices = 4) out; -layout(std140, binding = 0) uniform TheMat { mat4 theMat; }; -void main() { - vec2 p1 = gl_in[0].gl_Position.xy; - vec2 p2 = gl_in[0].gl_Position.zw; - gl_Position = theMat * vec4(p1,100,1); EmitVertex(); - gl_Position = theMat * vec4(p1,5000,1); EmitVertex(); - gl_Position = theMat * vec4(p2,100,1); EmitVertex(); - gl_Position = theMat * vec4(p2,5000,1); EmitVertex(); - EndPrimitive(); -} diff --git a/shader/ceiling/stencil.vert b/shader/ceiling/stencil.vert index a961ff25f..00bf244df 100644 --- a/shader/ceiling/stencil.vert +++ b/shader/ceiling/stencil.vert @@ -1,9 +1,4 @@ #version 450 core -//layout (location = 0) in vec4 poss; -//void main() -//{ -// gl_Position = poss; -//} struct PosTex { vec4 pospos; vec4 texang; }; layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ; layout (std430, binding = 2) readonly buffer Pos { PosTex data[]; }; diff --git a/shader/lighting/lineShadow.vert b/shader/lighting/lineShadow.vert index 922ac170f..9d9f78535 100644 --- a/shader/lighting/lineShadow.vert +++ b/shader/lighting/lineShadow.vert @@ -12,9 +12,7 @@ vec3 closestPointOnSeg3 (vec3 a,vec3 b, vec3 p) { float x = closestPointOnLineParam3(a,b,p); if (x < 0) { return a; - } else{ if (x > 1) { return b; } - { return a + (x * (b- a));} - } + } else{ return (x > 1 ? b: a + (x * (b- a))); } } vec4 shift(vec4 p) { return (vec4(p.xyz + (10000 * (p.xyz - lightPos)), 1)); } vec4 shiftBy(float x, vec4 p) { @@ -32,11 +30,7 @@ vec4 projNear (vec4 pos) vec4 shiftNear(vec4 pos) { vec4 sp = shift(pos); - if (sp.z > 100) { - return projNear(pos); - } else { - return sp; - } + return (sp.z > 100 ? projNear(pos) : sp); } int ks[6] = {0,1,2 // 2--3 @@ -59,9 +53,6 @@ void main() vec3 lightDir2 = p1.xyz - lightPos.xyz; vec4 p2 = shiftNear(p0); vec4 p3 = shiftNear(p1); - vec4 ps[4] = {p0,p1,p2,p3}; - vec4 sp[4] = {p1,p0,p3,p2}; - gl_Position = vec4(0,0,0,1); // first test if the edge is part of the silhouette // that is, if the normals of the faces connected by the edge point are in // "different directions" wrt the light direction @@ -70,9 +61,13 @@ void main() // using <= rather than < seems to get rid of overlapping shadow // artefacts { - if (dot(n0, lightDir) > 0) {gl_Position = theMat * sp[k];} - else {gl_Position = theMat * ps[k]; } - //gl_Position = vec4(1,1,1,0); + if (dot(n0, lightDir) > 0) + { + vec4 sp[4] = {p1,p0,p3,p2}; + gl_Position = theMat * sp[k];} + else { + vec4 ps[4] = {p0,p1,p2,p3}; + gl_Position = theMat * ps[k]; } } else {gl_Position = vec4(1,1,1,0);} } diff --git a/src/Data/Preload/Render.hs b/src/Data/Preload/Render.hs index 4c0d9d06a..e6600df81 100644 --- a/src/Data/Preload/Render.hs +++ b/src/Data/Preload/Render.hs @@ -55,7 +55,7 @@ data RenderData = RenderData , _chasmVBO :: VBO , _chasmShader :: Shader , _wallVBO :: VBO - , _wallShader :: Shader +-- , _wallShader :: Shader , _cloudVBO :: VBO , _cloudShader :: Shader , _cloudEBO :: EBO diff --git a/src/Preload/Render.hs b/src/Preload/Render.hs index b40ad0430..ac26a3883 100644 --- a/src/Preload/Render.hs +++ b/src/Preload/Render.hs @@ -94,7 +94,7 @@ preloadRender = do let wallverxstrd = 8 wallvbo <- setupVBO (floatSize * wallverxstrd) winvbo <- setupVBO (floatSize * 8) - wallshader <- makeShaderUsingVBO "wall/basic" [vert, geom, frag] (toFloatVAs [4, 4]) pmPoints wallvbo +-- 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 @@ -241,7 +241,7 @@ preloadRender = do , _chasmVBO = chasmvbo , _chasmShader = chasmshader , _wallVBO = wallvbo - , _wallShader = wallshader +-- , _wallShader = wallshader , _cloudVBO = cloudvbo , _cloudShader = cloudshader , _cloudEBO = cloudebo diff --git a/tags b/tags index bcdd40824..39e393614 100644 --- a/tags +++ b/tags @@ -1592,8 +1592,8 @@ _cdtUp src/Dodge/Data/DoubleTree.hs 92;" f _ceSideEffect src/Dodge/Data/Universe.hs 66;" f _ceString src/Dodge/Data/Universe.hs 67;" f _ceilingStencilShader src/Data/Preload/Render.hs 18;" f -_chasmShader src/Data/Preload/Render.hs 55;" f -_chasmVBO src/Data/Preload/Render.hs 54;" f +_chasmShader src/Data/Preload/Render.hs 56;" f +_chasmVBO src/Data/Preload/Render.hs 55;" f _chasms src/Dodge/Data/CWorld.hs 33;" f _ciFilter src/Dodge/Data/HUD.hs 25;" f _ciInvIDs src/Dodge/Data/Combine.hs 9;" f @@ -1622,9 +1622,9 @@ _clickPos src/Dodge/Data/Input.hs 42;" f _clickWorldPos src/Dodge/Data/Input.hs 44;" f _closeButtons src/Dodge/Data/HUD.hs 36;" f _closeItems src/Dodge/Data/HUD.hs 35;" f -_cloudEBO src/Data/Preload/Render.hs 60;" f -_cloudShader src/Data/Preload/Render.hs 59;" f -_cloudVBO src/Data/Preload/Render.hs 58;" f +_cloudEBO src/Data/Preload/Render.hs 61;" f +_cloudShader src/Data/Preload/Render.hs 60;" f +_cloudVBO src/Data/Preload/Render.hs 59;" f _clouds src/Dodge/Data/LWorld.hs 96;" f _colorBlurShader src/Data/Preload/Render.hs 26;" f _coolEnd src/Dodge/Data/TriggerType.hs 17;" f @@ -1754,7 +1754,7 @@ _dsZoning src/Dodge/Data/World.hs 48;" f _dtLeft src/Dodge/Data/DoubleTree.hs 29;" f _dtRight src/Dodge/Data/DoubleTree.hs 29;" f _dtValue src/Dodge/Data/DoubleTree.hs 29;" f -_dummyVAO src/Data/Preload/Render.hs 62;" f +_dummyVAO src/Data/Preload/Render.hs 63;" f _dusts src/Dodge/Data/LWorld.hs 97;" f _ebID src/Dodge/Data/EnergyBall/Type.hs 13;" f _ebPos src/Dodge/Data/EnergyBall.hs 17;" f @@ -1786,8 +1786,8 @@ _flankTarget src/Dodge/Data/ActionPlan.hs 129;" f _flares src/Dodge/Data/LWorld.hs 108;" f _flatShieldWlMIX src/Dodge/Data/Item/Params.hs 14;" f _floorItems src/Dodge/Data/LWorld.hs 127;" f -_floorShader src/Data/Preload/Render.hs 53;" f -_floorVBO src/Data/Preload/Render.hs 52;" f +_floorShader src/Data/Preload/Render.hs 54;" f +_floorVBO src/Data/Preload/Render.hs 53;" f _foreShapes src/Dodge/Data/LWorld.hs 132;" f _fsDir src/Dodge/Data/ForegroundShape.hs 14;" f _fsPos src/Dodge/Data/ForegroundShape.hs 13;" f @@ -1847,6 +1847,7 @@ _ibtHeld src/Dodge/Data/Item/Combine.hs 16;" f _ibtIntroScanType src/Dodge/Data/Item/Combine.hs 32;" f _ibtPathing src/Dodge/Data/Item/Combine.hs 28;" f _ibtTargeting src/Dodge/Data/Item/Combine.hs 21;" f +_ieshapeSSBO src/Data/Preload/Render.hs 49;" f _ilCrID src/Dodge/Data/Item/Location.hs 30;" f _ilEquipSite src/Dodge/Data/Item/Location.hs 35;" f _ilInvID src/Dodge/Data/Item/Location.hs 31;" f @@ -2194,7 +2195,7 @@ _scOptions src/Dodge/Data/Universe.hs 84;" f _scPositionedMenuOption src/Dodge/Data/Universe.hs 86;" f _scSelectionList src/Dodge/Data/Universe.hs 88;" f _scTitle src/Dodge/Data/Universe.hs 83;" f -_screenTextureVAO src/Data/Preload/Render.hs 61;" f +_screenTextureVAO src/Data/Preload/Render.hs 62;" f _scrollAmount src/Dodge/Data/Input.hs 40;" f _scrollItemID src/Dodge/Data/World.hs 68;" f _scrollItemID src/Dodge/Data/World.hs 77;" f @@ -2400,9 +2401,9 @@ _vaType src/Shader/Data.hs 68;" f _vaoName src/Shader/Data.hs 64;" f _vboName src/Shader/Data.hs 80;" f _vboPtr src/Shader/Data.hs 81;" f -_vboShapes src/Data/Preload/Render.hs 51;" f +_vboShapes src/Data/Preload/Render.hs 52;" f _vboVertexBytes src/Shader/Data.hs 82;" f -_vboWindows src/Data/Preload/Render.hs 50;" f +_vboWindows src/Data/Preload/Render.hs 51;" f _vcCoolDown src/Dodge/Data/Creature/Misc.hs 22;" f _vcMaxCoolDown src/Dodge/Data/Creature/Misc.hs 21;" f _vertices src/Polyhedra/Data.hs 22;" f @@ -2425,8 +2426,8 @@ _waitThenAction src/Dodge/Data/ActionPlan.hs 76;" f _waitThenTimer src/Dodge/Data/ActionPlan.hs 75;" f _wallDamages src/Dodge/Data/LWorld.hs 119;" f _wallSSBO src/Data/Preload/Render.hs 46;" f -_wallShader src/Data/Preload/Render.hs 57;" f -_wallVBO src/Data/Preload/Render.hs 56;" f +_wallShader src/Data/Preload/Render.hs 58;" f +_wallVBO src/Data/Preload/Render.hs 57;" f _walls src/Dodge/Data/LWorld.hs 118;" f _wanID src/Dodge/Data/LWorld.hs 158;" f _wanPos src/Dodge/Data/LWorld.hs 157;" f @@ -2645,7 +2646,7 @@ beltMag src/Dodge/Item/Ammo.hs 39;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f bgunSound src/Dodge/HeldUse.hs 514;" f -bindFBO src/Render.hs 261;" f +bindFBO src/Render.hs 266;" f bingate src/Dodge/Item/Scope.hs 109;" f black src/Color.hs 27;" f blank src/Picture/Base.hs 59;" f @@ -2701,7 +2702,7 @@ brightX src/Color.hs 116;" f btSPic src/Dodge/Render/ShapePicture.hs 129;" f btText src/Dodge/Inventory/SelectionList.hs 237;" f bufferEBO src/Shader/Bind.hs 28;" f -bufferPerspectiveMatrixUBO src/Dodge/Render.hs 481;" f +bufferPerspectiveMatrixUBO src/Dodge/Render.hs 496;" f bufferPokedVBO src/Shader/Bind.hs 19;" f bufferShaderLayers src/Shader/Bind.hs 36;" f bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f @@ -2794,7 +2795,7 @@ clang2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 542;" f cldtPropagateFold src/Dodge/DoubleTree.hs 358;" f cleanUpPreload src/Preload.hs 10;" f -cleanUpRenderPreload src/Preload/Render.hs 269;" f +cleanUpRenderPreload src/Preload/Render.hs 276;" f cleanUpSoundPreload src/Preload.hs 15;" f cleanupHalted src/Sound.hs 117;" f cleatLabel src/Dodge/Cleat.hs 30;" f @@ -2880,7 +2881,7 @@ copier src/Dodge/Item/Scope.hs 88;" f copierItemUpdate src/Dodge/Creature/State.hs 131;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f corDoor src/Dodge/Room/Room.hs 385;" f -cornerList src/Preload/Render.hs 246;" f +cornerList src/Preload/Render.hs 253;" f corpseOrGib src/Dodge/Creature/Update.hs 111;" f corridor src/Dodge/Room/Corridor.hs 17;" f corridorBoss src/Dodge/LockAndKey.hs 133;" f @@ -3556,7 +3557,7 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 357;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 344;" f getDebugMouseOver src/Dodge/Update.hs 374;" f -getDistortions src/Dodge/Render.hs 487;" f +getDistortions src/Dodge/Render.hs 502;" f getEdgesCrossing src/Dodge/Path.hs 37;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f @@ -3707,7 +3708,7 @@ initWallZoning src/Dodge/Wall/Zone.hs 12;" f initialRoomTree src/Dodge/Floor.hs 24;" f initialWorld src/Dodge/Initialisation.hs 15;" f initialisePlaying src/Sound.hs 77;" f -initializeGLState src/Preload/Render.hs 264;" f +initializeGLState src/Preload/Render.hs 271;" f initializeOptionMenu src/Dodge/Menu/Option.hs 17;" f initializeOptionMenuBO src/Dodge/Menu/Option.hs 30;" f initializeTexture2D src/Framebuffer/Update.hs 205;" f @@ -4332,7 +4333,7 @@ pincerP src/Dodge/Creature/Boid.hs 63;" f pincerP' src/Dodge/Creature/Boid.hs 96;" f pincerP'' src/Dodge/Creature/Boid.hs 106;" f pincerP''' src/Dodge/Creature/Boid.hs 77;" f -pingPongBetween src/Render.hs 237;" f +pingPongBetween src/Render.hs 242;" f pipe src/Dodge/Item/Craftable.hs 32;" f pistol src/Dodge/Item/Held/Stick.hs 40;" f pistolerRoom src/Dodge/Room/Room.hs 330;" f @@ -4610,7 +4611,7 @@ renderDataResizeUpdate src/Preload/Update.hs 26;" f renderFlatLighting src/Render.hs 107;" f renderInfoListAt src/Dodge/Render/InfoBox.hs 17;" f renderInfoListsAt src/Dodge/Render/InfoBox.hs 44;" f -renderLayer src/Render.hs 250;" f +renderLayer src/Render.hs 255;" f renderLightingNoShadows src/Render.hs 48;" f renderListAt src/Dodge/Render/List.hs 192;" f renderShadows src/Render.hs 122;" f @@ -4822,7 +4823,7 @@ setTiles src/Dodge/Layout.hs 67;" f setTreeInts src/Dodge/Room/Tutorial.hs 98;" f setViewDistance src/Dodge/Update/Camera.hs 239;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f -setViewport src/Dodge/Render.hs 492;" f +setViewport src/Dodge/Render.hs 507;" f setVol src/Dodge/Config.hs 47;" f setWristShieldPos src/Dodge/Equipment.hs 49;" f setWristShieldPos src/Dodge/Euse.hs 38;" f