From be64e786f97fc7dc65dcd4059ba501772f2f93a0 Mon Sep 17 00:00:00 2001 From: justin Date: Wed, 12 Nov 2025 21:23:03 +0000 Subject: [PATCH] Cleanup --- src/Dodge/Render.hs | 157 +++++++++++++++++++----------------------- src/Preload/Render.hs | 99 +++++++++++++------------- src/Shader/Data.hs | 8 +-- 3 files changed, 122 insertions(+), 142 deletions(-) diff --git a/src/Dodge/Render.hs b/src/Dodge/Render.hs index b3e1ecc8a..7f20aead9 100644 --- a/src/Dodge/Render.hs +++ b/src/Dodge/Render.hs @@ -94,40 +94,14 @@ doDrawing' win pdata u = do (V.fromList $ w ^. cWorld . lWorld . dusts) -- bind wall points, silhouette data, surface geometry bufferShaderLayers shadV pokeCounts - mapM_ - (uncurry bufferPokedVBO) - [ (_vboShapes pdata, nShapeVs) --- , (pdata ^. cloudVBO, nCloudVs) should probably do it this way --- eventually - ] - mapM_ - (uncurry bufferEBO) - [-- (_cloudEBO pdata, nCloudIs) - (_shapeEBO pdata, nIndices) - ] + bufferPokedVBO (_vboShapes pdata) nShapeVs + bufferPokedVBO (pdata ^. winVBO) nWins + bufferPokedVBO (pdata ^. wallVBO) trueNWalls + bufferPokedVBO (pdata ^. cloudVBO) nCloudVs + bufferEBO (_shapeEBO pdata) nIndices + bufferEBO (pdata ^. silhouetteEBO) nSilIndices -- set the coordinate uniform ready for drawing elements using world coordinates bufferPerspectiveMatrixUBO cfig (w ^. wCam) (pdata ^. matUBO) - glNamedBufferSubData (pdata ^. winVBO . vboName) 0 - (fromIntegral $ nWins * sizeOf (0::Float) * 8) - (pdata ^. winVBO . vboPtr) - -- bufferFloatBO function - glNamedBufferSubData (pdata ^. wallVBO . vboName) 0 - (fromIntegral $ trueNWalls * sizeOf (0::Float) * 8) - (pdata ^. wallVBO . vboPtr) --- glNamedBufferSubData (pdata ^. vboShapes . vboName) 0 --- (fromIntegral $ nShapeVs * shapeVerxSize) --- (pdata ^. vboShapes . vboPtr) - glNamedBufferSubData (pdata ^. shapeEBO . uiboName) 0 - (fromIntegral $ nIndices * (sizeOf (0::GLuint))) - (pdata ^. shapeEBO . uiboPtr) - bufferEBO (pdata ^. silhouetteEBO) nSilIndices --- withArray [0::Float,0,30,1,1,1,1,1] $ --- glNamedBufferSubData (pdata ^. cloudVBO . vboName) 0 --- (fromIntegral (sizeOf (0::Float)) * 8) - glNamedBufferSubData (pdata ^. cloudVBO . vboName) - 0 - (fromIntegral $ 8 * nCloudVs * (sizeOf (0::Float))) - (pdata ^. cloudVBO . vboPtr) setViewport _gr_world_res cfig glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboBase . _1 . unFBO) glDepthMask GL_TRUE @@ -136,11 +110,11 @@ doDrawing' win pdata u = do -- clear depth and stencil buffers glStencilMask 255 -- to alter the entire stencil glClearNamedFramebufferfi - (pdata ^. fboBase . _1 . unFBO) - GL_DEPTH_STENCIL - 0 - 1 - 0 + (pdata ^. fboBase . _1 . unFBO) + GL_DEPTH_STENCIL + 0 + 1 + 0 -- draw wall occlusions from the camera's point of view glStencilFunc GL_NOTEQUAL 128 255 glStencilOp GL_KEEP GL_KEEP GL_REPLACE @@ -148,7 +122,7 @@ doDrawing' win pdata u = do glCullFace GL_BACK unless (debugOn Remove_LOS cfig) $ do glUseProgram (pdata ^. ceilingStencilShader . shaderUINT) --- glBindVertexArray $ pdata ^. ceilingStencilShader . shaderVAO . vaoName + -- glBindVertexArray $ pdata ^. ceilingStencilShader . shaderVAO . vaoName glBindVertexArray $ pdata ^. dummyVAO . vaoName glEnable GL_DEPTH_CLAMP glDrawArrays @@ -168,12 +142,12 @@ doDrawing' win pdata u = do --draw walls onto base buffer glEnable GL_CULL_FACE glCullFace GL_BACK --- glUseProgram (pdata ^. wallShader . shaderUINT) --- glBindVertexArray $ pdata ^. wallShader . shaderVAO . vaoName --- glDrawArrays --- (_unPrimitiveMode $ pdata ^. wallShader . shaderPrimitive) --- 0 --- (fromIntegral trueNWalls) + -- glUseProgram (pdata ^. wallShader . shaderUINT) + -- glBindVertexArray $ pdata ^. wallShader . shaderVAO . vaoName + -- glDrawArrays + -- (_unPrimitiveMode $ pdata ^. wallShader . shaderPrimitive) + -- 0 + -- (fromIntegral trueNWalls) glUseProgram (pdata ^. pullWallShader . shaderUINT) --glBindVertexArray $ pdata ^. dummyVAO . vaoName glDrawArrays GL_TRIANGLES 0 (fromIntegral trueNWalls * 6) @@ -256,11 +230,11 @@ doDrawing' win pdata u = do glBindVertexArray $ pdata ^. cloudShader . shaderVAO . vaoName glDrawArrays GL_TRIANGLES 0 (fromIntegral nCloudVs * 6) --glDrawArrays GL_TRIANGLES 0 6 --- glDrawElements --- (pdata ^. cloudShader . shaderPrimitive . unPrimitiveMode) --- (fromIntegral nCloudIs) --- GL_UNSIGNED_INT --- nullPtr + -- glDrawElements + -- (pdata ^. cloudShader . shaderPrimitive . unPrimitiveMode) + -- (fromIntegral nCloudIs) + -- GL_UNSIGNED_INT + -- nullPtr glDepthMask GL_TRUE --setup downscale viewport for blurring bloom @@ -273,15 +247,18 @@ doDrawing' win pdata u = do -- this all needs more tuning + more thought -- a fade effect would be cool, so not to fully reset last frames bloom -- buffers... --- withArray [0, 0, 0, 0] $ --- glClearNamedFramebufferfv (pdata ^. fboHalf1 . _1 . unFBO) GL_COLOR 0 --- withArray [0, 0, 0, 0] $ --- glClearNamedFramebufferfv (pdata ^. fboHalf2 . _1 . unFBO) GL_COLOR 0 --- glBlendFunc GL_ONE GL_ONE_MINUS_SRC_ALPHA + -- withArray [0, 0, 0, 0] $ + -- glClearNamedFramebufferfv (pdata ^. fboHalf1 . _1 . unFBO) GL_COLOR 0 + -- withArray [0, 0, 0, 0] $ + -- glClearNamedFramebufferfv (pdata ^. fboHalf2 . _1 . unFBO) GL_COLOR 0 + -- glBlendFunc GL_ONE GL_ONE_MINUS_SRC_ALPHA drawShader (_bloomBlurShader pdata) 4 when (cfig ^. gr_bloom) $ do - replicateM_ 2 $ pingPongBetween - (_fboHalf1 pdata) (_fboHalf2 pdata) (_bloomBlurShader pdata) + replicateM_ 2 $ + pingPongBetween + (_fboHalf1 pdata) + (_fboHalf2 pdata) + (_bloomBlurShader pdata) glEnable GL_BLEND setViewport _gr_world_res cfig --draw clouds onto cloud buffer @@ -302,20 +279,20 @@ doDrawing' win pdata u = do glBindVertexArray $ pdata ^. cloudShader . shaderVAO . vaoName glDrawArrays GL_TRIANGLES 0 (fromIntegral nCloudVs * 6) --glDrawArrays GL_TRIANGLES 0 6 ----- glDrawElements ----- (pdata ^. cloudShader . shaderPrimitive . unPrimitiveMode) ----- (fromIntegral nCloudIs) ----- GL_UNSIGNED_INT ----- nullPtr --- glEnable GL_CULL_FACE --- glEnable GL_DEPTH_CLAMP --- glCullFace GL_BACK ----- drawShader (_windowShader pdata) nWins --- glDisable GL_DEPTH_CLAMP --- glDisable GL_CULL_FACE + ---- glDrawElements + ---- (pdata ^. cloudShader . shaderPrimitive . unPrimitiveMode) + ---- (fromIntegral nCloudIs) + ---- GL_UNSIGNED_INT + ---- nullPtr + -- glEnable GL_CULL_FACE + -- glEnable GL_DEPTH_CLAMP + -- glCullFace GL_BACK + ---- drawShader (_windowShader pdata) nWins + -- glDisable GL_DEPTH_CLAMP + -- glDisable GL_CULL_FACE when (_gr_cloud_shadows cfig) $ do ----render transparency depths --- glDepthMask GL_TRUE + -- glDepthMask GL_TRUE glDepthFunc GL_ALWAYS glDisable GL_BLEND withArray [GL_NONE, GL_COLOR_ATTACHMENT1, GL_COLOR_ATTACHMENT2] $ @@ -333,7 +310,7 @@ doDrawing' win pdata u = do glBlendFunci 2 GL_SRC_ALPHA GL_ONE glUseProgram (pdata ^. cloudShader . shaderUINT) glBindVertexArray $ pdata ^. cloudShader . shaderVAO . vaoName --- glDepthMask GL_TRUE + -- glDepthMask GL_TRUE glDrawArrays GL_TRIANGLES 0 (fromIntegral nCloudVs * 6) --glDrawArrays GL_TRIANGLES 0 6 ----glDrawElements @@ -342,12 +319,12 @@ doDrawing' win pdata u = do ---- GL_UNSIGNED_INT ---- nullPtr --- --- glEnable GL_CULL_FACE --- glEnable GL_DEPTH_CLAMP --- glCullFace GL_BACK ----- drawShader (_windowShader pdata) nWins --- glDisable GL_DEPTH_CLAMP --- glDisable GL_CULL_FACE + -- glEnable GL_CULL_FACE + -- glEnable GL_DEPTH_CLAMP + -- glCullFace GL_BACK + ---- drawShader (_windowShader pdata) nWins + -- glDisable GL_DEPTH_CLAMP + -- glDisable GL_CULL_FACE -- drawShader (_windowShader pdata) nWins glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboPos . _1 . unFBO) withArray [0, 0, 0, 0] $ \ptr -> @@ -386,8 +363,8 @@ doDrawing' win pdata u = do glDepthFunc GL_LEQUAL glCullFace GL_BACK glDisable GL_BLEND --- glDepthFunc GL_ALWAYS --- glDisable GL_CULL_FACE + -- glDepthFunc GL_ALWAYS + -- glDisable GL_CULL_FACE glUseProgram $ pdata ^. windowPullShader . shaderUINT glBindVertexArray $ pdata ^. dummyVAO . vaoName glDrawArrays GL_TRIANGLES 0 (fromIntegral nWins * 6) @@ -408,17 +385,16 @@ doDrawing' win pdata u = do drawShader (_fullscreenShader pdata) 4 glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA - -- bind base buffer for drawing clouds and bloom --glBindFramebuffer GL_FRAMEBUFFER (_unFBO (fst (_fboBase pdata))) glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboBase . _1 . unFBO) --- --draw shadowed clouds onto base buffer --- glBindTextureUnit 0 (pdata ^. fboCloud . _2 . _1 . unTO) --- drawShader (_fullscreenShader pdata) 4 + -- --draw shadowed clouds onto base buffer + -- glBindTextureUnit 0 (pdata ^. fboCloud . _2 . _1 . unTO) + -- drawShader (_fullscreenShader pdata) 4 glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA --- --draw windows onto base buffer + -- --draw windows onto base buffer glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA glBindTextureUnit 0 (pdata ^. fboWindow . _2 . _1 . unTO) glBindTextureUnit 1 (pdata ^. fboWindow . _2 . _2 . unTO) @@ -433,8 +409,7 @@ doDrawing' win pdata u = do --glBlendFunc GL_ONE GL_ONE glBindTextureUnit 0 (_unTO . snd $ _fboHalf1 pdata) drawShader (_fullscreenShader pdata) 4 --- glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA - + -- glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA --set viewport for radial distortion --setViewportSize (round winx) (round winy) @@ -479,10 +454,16 @@ doDrawing' win pdata u = do SDL.glSwapWindow win bufferPerspectiveMatrixUBO :: Config -> Camera -> GLuint -> IO () -bufferPerspectiveMatrixUBO cfig cam uboid = withArray - (perspectiveMatrixb (cam ^. camRot) (cam ^. camZoom) (cam ^. camCenter) - (V2 (windowXFloat cfig) (windowYFloat cfig)) (cam ^. camViewFrom)) - $ glNamedBufferSubData uboid 0 64 +bufferPerspectiveMatrixUBO cfig cam uboid = + withArray + ( perspectiveMatrixb + (cam ^. camRot) + (cam ^. camZoom) + (cam ^. camCenter) + (V2 (windowXFloat cfig) (windowYFloat cfig)) + (cam ^. camViewFrom) + ) + $ glNamedBufferSubData uboid 0 64 getDistortions :: Config -> World -> [Distortion] getDistortions cfig w diff --git a/src/Preload/Render.hs b/src/Preload/Render.hs index db20029b7..a806511d0 100644 --- a/src/Preload/Render.hs +++ b/src/Preload/Render.hs @@ -2,10 +2,9 @@ --{-# OPTIONS_GHC -Wno-unused-top-binds #-} module Preload.Render ( preloadRender, --- cleanUpRenderPreload, + -- cleanUpRenderPreload, ) where -import Shape.Parameters import Control.Concurrent --import Control.Lens import Control.Monad @@ -19,6 +18,8 @@ import Shader.AuxAddition import Shader.Compile import Shader.Data import Shader.Parameters +import Shape.Parameters + --import Shape.Parameters {- BINDING LIST: @@ -40,43 +41,42 @@ preloadRender = do glBindBufferBase GL_UNIFORM_BUFFER 0 theUBO winssbo <- mglCreate glCreateBuffers - let winssbosize = sizeOf (0::Float) * 8 * 1024 + let winssbosize = sizeOf (0 :: Float) * 8 * 1024 glNamedBufferStorage winssbo (fromIntegral winssbosize) nullPtr GL_DYNAMIC_STORAGE_BIT glBindBufferBase GL_SHADER_STORAGE_BUFFER 1 winssbo - winptr <- mallocBytes winssbosize - let winvbo = VBO winssbo winptr 8 + winptr <- mallocBytes winssbosize + let winvbo = VBO winssbo winptr (sizeOf (0::Float) * 8) let wallsn = 4096 wallssbo <- mglCreate glCreateBuffers - let wallssbosize = sizeOf (0::Float) * 8 * wallsn + let wallssbosize = sizeOf (0 :: Float) * 8 * wallsn glNamedBufferStorage wallssbo (fromIntegral wallssbosize) nullPtr GL_DYNAMIC_STORAGE_BIT glBindBufferBase GL_SHADER_STORAGE_BUFFER 2 wallssbo - wallssboptr <- mallocBytes wallssbosize - let wallvbo = VBO wallssbo wallssboptr 8 + wallssboptr <- mallocBytes wallssbosize + let wallvbo = VBO wallssbo wallssboptr (sizeOf (0::Float) * 8) shapessbo <- mglCreate glCreateBuffers let shapessbosize = fromIntegral shapeVerxSize * 65536 glNamedBufferStorage shapessbo shapessbosize nullPtr GL_DYNAMIC_STORAGE_BIT glBindBufferBase GL_SHADER_STORAGE_BUFFER 3 shapessbo - --shptr <- mallocArray (fromIntegral shapessbosize) shptr <- mallocArray (8 * 65536) let shVBO = VBO shapessbo shptr shapeVerxSize ishapessbo <- mglCreate glCreateBuffers - let ishapessbosize = fromIntegral (sizeOf (0::GLuint) * 65536) + let ishapessbosize = fromIntegral (sizeOf (0 :: GLuint) * 65536) glNamedBufferStorage ishapessbo ishapessbosize nullPtr GL_DYNAMIC_STORAGE_BIT glBindBufferBase GL_SHADER_STORAGE_BUFFER 4 ishapessbo - ishptr <- mallocArray 65536 + ishptr <- mallocArray 65536 let shEBO = UintBO ishapessbo ishptr ieshapessbo <- mglCreate glCreateBuffers - let ieshapessbosize = fromIntegral (sizeOf (0::GLuint) * 65536) + let ieshapessbosize = fromIntegral (sizeOf (0 :: GLuint) * 65536) glNamedBufferStorage ieshapessbo ieshapessbosize nullPtr GL_DYNAMIC_STORAGE_BIT glBindBufferBase GL_SHADER_STORAGE_BUFFER 5 ieshapessbo - ieptr <- mallocArray 65536 -- so we can go back to glushort... + ieptr <- mallocArray 65536 -- so we can go back to glushort... cloudbo <- mglCreate glCreateBuffers - let cvsize = (sizeOf (0::Float)) * 8 + let cvsize = (sizeOf (0 :: Float)) * 8 cloudbosize = fromIntegral cvsize * 65536 -- this should be changed glNamedBufferStorage cloudbo cloudbosize nullPtr GL_DYNAMIC_STORAGE_BIT glBindBufferBase GL_SHADER_STORAGE_BUFFER 6 cloudbo @@ -85,15 +85,14 @@ preloadRender = do dummyvao <- mglCreate glGenVertexArrays + winpull <- makeShaderUsingVAO "pull/window" [vert, frag] pmTriangles (VAO dummyvao) - winpull <- makeShaderUsingVAO "pull/window" [vert,frag] pmTriangles (VAO dummyvao) - - wallpull <- makeShaderUsingVAO "pull/wall" [vert,frag] pmTriangles (VAO dummyvao) + wallpull <- makeShaderUsingVAO "pull/wall" [vert, frag] pmTriangles (VAO dummyvao) shapeshader <- - makeShaderUsingVAO "shape/basic" [vert, frag] pmTriangles (VAO dummyvao) + makeShaderUsingVAO "shape/basic" [vert, frag] pmTriangles (VAO dummyvao) - cloudshader <- makeShaderUsingVAO "pull/cloud" [vert,frag] pmTriangles (VAO dummyvao) + cloudshader <- makeShaderUsingVAO "pull/cloud" [vert, frag] pmTriangles (VAO dummyvao) putStrLn "Setup lighting shaders" lightingWallShadShad <- @@ -102,8 +101,12 @@ preloadRender = do makeShaderUsingVAO "lighting/cap" [vert] pmTriangles (VAO dummyvao) lightingLineShadowShad <- makeShaderUsingVAO "lighting/lineShadow" [vert] pmTriangles (VAO dummyvao) - ceilingstencilshader <- makeShaderUsingVAO "ceiling/stencil" [vert] pmTriangles - (VAO dummyvao) + ceilingstencilshader <- + makeShaderUsingVAO + "ceiling/stencil" + [vert] + pmTriangles + (VAO dummyvao) putStrLn "Setup 2D shaders" bslist <- makeShaderVBO "dualTwoD/basic" [vert, frag] (toFloatVAs [3, 4]) pmTriangles @@ -120,20 +123,18 @@ preloadRender = do , aslist , eslist ] - -- initTexture2DArray 50 "data/texture/charMapVertBig.png" 2 32 64 95 GL_NEAREST_MIPMAP_LINEAR GL_LINEAR - --initTexture2DArray 50 "data/texture/charMapVert16Block.png" 2 16 32 95 GL_NEAREST GL_NEAREST - --initTexture2DArray 50 "data/charMaps/charMapVert16Tall.png" 2 16 32 95 GL_NEAREST GL_NEAREST + -- GL_NEAREST_MIPMAP_LINEAR GL_LINEAR ? initTexture2DArray 50 "data/charMaps/cMap16x32.Custom.png" 2 16 32 256 GL_NEAREST GL_NEAREST - --initTexture2DArray 50 "data/texture/charMapVert8Block.png" 2 8 16 95 GL_NEAREST GL_NEAREST - --initTexture2DArray 50 "data/texture/charMapVertBig.png" 2 32 64 95 GL_LINEAR_MIPMAP_LINEAR GL_LINEAR - --initTexture2DArray 50 "data/texture/charMapVertBig.png" 2 32 64 95 GL_LINEAR_MIPMAP_NEAREST GL_LINEAR - putStrLn "Setup full screen shaders" (_, screentexturevao) <- setupStaticVBOVAO (toFloatVAs [2, 2]) (concat cornerList) alphadivideshader <- makeShaderUsingVAO "texture2D/alphaDivide" [vert, frag] pmTriangleStrip screentexturevao fsShad <- makeShaderUsingVAO "texture/simple" [vert, frag] pmTriangleStrip screentexturevao - transcompshader <- makeShaderUsingVAO - "fullscreen/transparencyComp" [vert, frag] pmTriangleStrip screentexturevao + transcompshader <- + makeShaderUsingVAO + "fullscreen/transparencyComp" + [vert, frag] + pmTriangleStrip + screentexturevao bloomBlurShad <- makeShaderUsingVAO "texture/bloomBlur" [vert, frag] pmTriangleStrip screentexturevao colorBlurShad <- makeShaderUsingVAO "texture/colorBlur" [vert, frag] pmTriangleStrip screentexturevao grayscaleShad <- makeShaderUsingVAO "texture/grayscale" [vert, frag] pmTriangleStrip screentexturevao @@ -158,11 +159,11 @@ preloadRender = do (toFloatVAs [3]) pmTriangles chasmvbo --- putStrLn "Setup cloud VBO, shader" --- let cloudverxsizes = [4, 4, 4] --- cloudvbo <- setupVBO (floatSize * sum cloudverxsizes) --- (cloudshader, cloudebo) <- --- makeShaderEBO "cloud/basic" [vert, frag] (toFloatVAs cloudverxsizes) pmTriangles cloudvbo + -- putStrLn "Setup cloud VBO, shader" + -- let cloudverxsizes = [4, 4, 4] + -- cloudvbo <- setupVBO (floatSize * sum cloudverxsizes) + -- (cloudshader, cloudebo) <- + -- makeShaderEBO "cloud/basic" [vert, frag] (toFloatVAs cloudverxsizes) pmTriangles cloudvbo framebuf2 <- newTextureFramebuffer framebuf3 <- newTextureFramebuffer @@ -200,8 +201,8 @@ preloadRender = do , _lightingLineShadowShader = lightingLineShadowShad , _lightingWallShadShader = lightingWallShadShad , _ceilingStencilShader = ceilingstencilshader --- , _windowShader = windowshader - , _windowPullShader = winpull + , -- , _windowShader = windowshader + _windowPullShader = winpull , _pullWallShader = wallpull , _fullscreenShader = fsShad , _transparencyCompShader = transcompshader @@ -223,25 +224,25 @@ preloadRender = do , _fboPos = fboPosName , _rboBaseBloom = rboBaseBloomName , _matUBO = theUBO --- , _winSSBO = winssbo --- , _wallSSBO = wallssbo --- , _shapeSSBO = shapessbo --- , _ishapeSSBO = ishapessbo --- , _ieshapeSSBO = ieshapessbo --- , _lightsUBO = lightsubo --- , _vboWindows = winvbo - , _vboShapes = shVBO + , -- , _winSSBO = winssbo + -- , _wallSSBO = wallssbo + -- , _shapeSSBO = shapessbo + -- , _ishapeSSBO = ishapessbo + -- , _ieshapeSSBO = ieshapessbo + -- , _lightsUBO = lightsubo + -- , _vboWindows = winvbo + _vboShapes = shVBO , _floorVBO = floorvbo , _floorShader = floorshader , _chasmVBO = chasmvbo , _chasmShader = chasmshader , _wallVBO = wallvbo , _winVBO = winvbo --- , _wallShader = wallshader - , _cloudVBO = cloudvbo + , -- , _wallShader = wallshader + _cloudVBO = cloudvbo , _cloudShader = cloudshader --- , _cloudEBO = cloudebo - , _screenTextureVAO = screentexturevao + , -- , _cloudEBO = cloudebo + _screenTextureVAO = screentexturevao , _dummyVAO = VAO dummyvao } diff --git a/src/Shader/Data.hs b/src/Shader/Data.hs index fe1f3d580..b74d19e07 100644 --- a/src/Shader/Data.hs +++ b/src/Shader/Data.hs @@ -83,12 +83,10 @@ data VBO = VBO -- add int for AMOUNT of data poked! } -data BOType = WindowPoss - data FloatBO = FloatBO - { _boName :: GLuint - , _boPtr :: Ptr Float - , _boType :: BOType + { _flboName :: GLuint + , _flboPtr :: Ptr Float + , _flboStride :: Int } data UintBO = UintBO