Clamp framebuffer textures to edges

This commit is contained in:
2025-11-14 12:41:44 +00:00
parent 9fc36ec54c
commit a24ee66f51
6 changed files with 27 additions and 18 deletions
+5 -3
View File
@@ -11,8 +11,10 @@ float f ( float x) {
void main()
{
float t = f(length(texDist));
fColor = vec4(texture(screenTexture
float r = texture(screenTexture , (t*texPos - vcpos)).r ;
vec2 gb = texture(screenTexture
, 0.5+0.5 *( vcpos + t * (texPos - vcpos))
)
);
).gb
;
fColor = vec4(r,gb,1);
}
+3 -2
View File
@@ -1,9 +1,10 @@
module Dodge.Distortion where
{-# LANGUAGE LambdaCase #-}
module Dodge.Distortion (updateDistortion) where
import Dodge.Data.Distortion
updateDistortion :: Distortion -> Maybe Distortion
updateDistortion dt = case dt of
updateDistortion = \case
RadialDistortion a b c v
| v > 1 -> Just $ RadialDistortion a b c $ max 1 (v - 0.05)
| v < 1 -> Just $ RadialDistortion a b c $ min 1 (v + 0.05)
+9 -6
View File
@@ -1,11 +1,14 @@
module Dodge.Event.Test (
testEvent,
) where
module Dodge.Event.Test (testEvent) where
--import Dodge.Creature.State
import Dodge.Data.World
--import Control.Lens
import Linear
import LensHelp
import Data.Maybe
testEvent :: World -> World
testEvent w = w
testEvent w = fromMaybe w $ do
cpos <- w ^? cWorld . lWorld . creatures . ix 0 . crPos . _xy
let distR = 50
distortionBulge = RadialDistortion cpos (cpos + V2 distR 0) (cpos + V2 0 distR) 1.9
return $ w & cWorld . lWorld . distortions .~ [distortionBulge]
+2
View File
@@ -220,5 +220,7 @@ initializeTexture2D fbo attachpoint x y minfilt magfilt form = do
glTextureStorage2D to1 1 form xsize' ysize'
glTextureParameteri to1 GL_TEXTURE_MIN_FILTER (unsafeCoerce minfilt)
glTextureParameteri to1 GL_TEXTURE_MAG_FILTER (unsafeCoerce magfilt)
glTextureParameteri to1 GL_TEXTURE_WRAP_S (unsafeCoerce GL_CLAMP_TO_EDGE)
glTextureParameteri to1 GL_TEXTURE_WRAP_T (unsafeCoerce GL_CLAMP_TO_EDGE)
glNamedFramebufferTexture (_unFBO fbo) attachpoint to1 0
return to1
+5 -4
View File
@@ -128,7 +128,7 @@ preloadRender = do
bloomBlurShad <- makeSourcedShader "texture/bloomBlur" [vert, frag]
lightingTextureShad <- makeSourcedShader "lighting/texture" [vert, frag]
barrelShad <- makeShaderVBO "texture/barrel" [vert, geom, frag] (toFloatVAs [2, 2, 2, 1]) pmPoints
-- blank wallShader
putStrLn "Setup floor VBO, shader"
flvbo <- mglCreate glCreateBuffers
flptr <- mallocArray (8 * 65536)
@@ -142,8 +142,7 @@ preloadRender = do
chptr <- mallocArray (2 * 65536)
let chasmvbo = VBO chvbo chptr (2 * floatSize)
chasmshader <- makeSourcedShader "chasm" [vert]
framebuf2 <- newTextureFramebuffer
framebuf3 <- newTextureFramebuffer
putStrLn "Setup framebuffers"
rboBaseBloomName <- mglCreate glCreateRenderbuffers
@@ -157,6 +156,9 @@ preloadRender = do
fboPosName <- setupFramebufferGivenStencil rboBaseBloomName
fboLightingName <- setupFramebufferGivenStencil rboBaseBloomName
framebuf2 <- newTextureFramebuffer
framebuf3 <- newTextureFramebuffer
fboHalf1Name <- newTextureFramebuffer
fboHalf2Name <- newTextureFramebuffer
@@ -205,7 +207,6 @@ preloadRender = do
, _winVBO = winvbo
, _cloudVBO = cloudvbo
, _cloudShader = cloudshader
-- , _screenTextureVAO = screentexturevao
, _dummyVAO = dummyvao
}
+3 -3
View File
@@ -2885,7 +2885,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 213;" f
cornerList src/Preload/Render.hs 214;" f
corpseOrGib src/Dodge/Creature/Update.hs 111;" f
corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 133;" f
@@ -3712,7 +3712,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 234;" f
initializeGLState src/Preload/Render.hs 235;" f
initializeOptionMenu src/Dodge/Menu/Option.hs 17;" f
initializeOptionMenuBO src/Dodge/Menu/Option.hs 30;" f
initializeTexture2D src/Framebuffer/Update.hs 214;" f
@@ -5306,7 +5306,7 @@ updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f
updateDebugMessageOffset src/Dodge/Update.hs 95;" f
updateDelayedEvents src/Dodge/Update.hs 888;" f
updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f
updateDistortion src/Dodge/Distortion.hs 5;" f
updateDistortion src/Dodge/Distortion.hs 6;" f
updateDistortions src/Dodge/Update.hs 556;" f
updateDoor src/Dodge/Door.hs 22;" f
updateDoors src/Dodge/Update.hs 308;" f