This commit is contained in:
2025-11-10 14:55:46 +00:00
parent df435819eb
commit 1546caa6a3
5 changed files with 15 additions and 18 deletions
+1 -1
View File
@@ -17,7 +17,7 @@ data RenderData = RenderData
, _lightingTextureShader :: Shader , _lightingTextureShader :: Shader
, _ceilingStencilShader :: Shader , _ceilingStencilShader :: Shader
, _alphaDivideShader :: Shader , _alphaDivideShader :: Shader
, _windowShader :: Shader -- , _windowShader :: Shader
, _windowPullShader :: Shader , _windowPullShader :: Shader
, _fullscreenShader :: Shader , _fullscreenShader :: Shader
, _transparencyCompShader :: Shader , _transparencyCompShader :: Shader
+2 -2
View File
@@ -97,8 +97,8 @@ doDrawing' win pdata u = do
bufferShaderLayers shadV pokeCounts bufferShaderLayers shadV pokeCounts
mapM_ mapM_
(uncurry bufferPokedVBO) (uncurry bufferPokedVBO)
[ (pdata ^. vboWindows, nWins) [ --(pdata ^. vboWindows, nWins)
, (pdata ^. wallVBO, trueNWalls) (pdata ^. wallVBO, trueNWalls)
, (_vboShapes pdata, nShapeVs) , (_vboShapes pdata, nShapeVs)
, (pdata ^. cloudVBO, nCloudVs) , (pdata ^. cloudVBO, nCloudVs)
] ]
+2 -15
View File
@@ -41,20 +41,14 @@ preloadRender = do
winssbo <- mglCreate glCreateBuffers winssbo <- mglCreate glCreateBuffers
let winssbosize = sizeOf (0::Float) * 8 * 1024 let winssbosize = sizeOf (0::Float) * 8 * 1024
-- winssboptr <- mallocBytes winssbosize
glNamedBufferStorage winssbo (fromIntegral winssbosize) nullPtr GL_DYNAMIC_STORAGE_BIT glNamedBufferStorage winssbo (fromIntegral winssbosize) nullPtr GL_DYNAMIC_STORAGE_BIT
glBindBufferBase GL_SHADER_STORAGE_BUFFER 1 winssbo glBindBufferBase GL_SHADER_STORAGE_BUFFER 1 winssbo
--dummyvao <- mglCreate glCreateVertexArrays
dummyvao <- mglCreate glGenVertexArrays dummyvao <- mglCreate glGenVertexArrays
winpull <- makeShaderUsingVAO "pull/window" [vert,frag] pmTriangles (VAO dummyvao) winpull <- makeShaderUsingVAO "pull/window" [vert,frag] pmTriangles (VAO dummyvao)
-- lightsubo <- mglCreate glCreateBuffers
-- --glNamedBufferData lightsubo 640 nullPtr GL_STREAM_DRAW
-- glNamedBufferStorage lightsubo 640 nullPtr GL_DYNAMIC_STORAGE_BIT
-- glBindBufferBase GL_UNIFORM_BUFFER 1 lightsubo
-- setup shape geometry/cap VBO and two VAOs -- setup shape geometry/cap VBO and two VAOs
putStrLn "Setup shape VBO, VAO, EBO" putStrLn "Setup shape VBO, VAO, EBO"
shVBO <- setupVBO shapeVerxSize shVBO <- setupVBO shapeVerxSize
@@ -80,13 +74,6 @@ preloadRender = do
let wallverxstrd = 8 let wallverxstrd = 8
wallvbo <- setupVBO (floatSize * wallverxstrd) wallvbo <- setupVBO (floatSize * wallverxstrd)
winvbo <- setupVBO (floatSize * 8) winvbo <- setupVBO (floatSize * 8)
windowshader <-
makeShaderUsingVBO
"wall/window"
[vert, geom, frag]
(toFloatVAs [4, 4])
pmPoints
winvbo
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" putStrLn "Setup lighting shaders"
lightingWallShadShad <- lightingWallShadShad <-
@@ -193,7 +180,7 @@ preloadRender = do
, _lightingLineShadowShader = lightingLineShadowShad , _lightingLineShadowShader = lightingLineShadowShad
, _lightingWallShadShader = lightingWallShadShad , _lightingWallShadShader = lightingWallShadShad
, _ceilingStencilShader = ceilingstencilshader , _ceilingStencilShader = ceilingstencilshader
, _windowShader = windowshader -- , _windowShader = windowshader
, _windowPullShader = winpull , _windowPullShader = winpull
, _fullscreenShader = fsShad , _fullscreenShader = fsShad
, _transparencyCompShader = transcompshader , _transparencyCompShader = transcompshader
+2
View File
@@ -331,3 +331,5 @@ withByteString :: Num t => BS.ByteString -> (Ptr b -> t -> IO a) -> IO a
withByteString bs act = withByteString bs act =
BU.unsafeUseAsCStringLen bs $ \(ptr, size) -> BU.unsafeUseAsCStringLen bs $ \(ptr, size) ->
act (castPtr ptr) (fromIntegral size) act (castPtr ptr) (fromIntegral size)
--boVertex
+8
View File
@@ -83,6 +83,14 @@ data VBO = VBO
-- add int for AMOUNT of data poked! -- add int for AMOUNT of data poked!
} }
data BOType = WindowPoss
data FloatBO = FloatBO
{ _boName :: GLuint
, _boPtr :: Ptr Float
, _boType :: BOType
}
data EBO = EBO data EBO = EBO
{ _eboName :: GLuint { _eboName :: GLuint
, _eboPtr :: Ptr GLushort , _eboPtr :: Ptr GLushort