Remove vaoBufferTarget

This commit is contained in:
jgk
2021-06-12 01:14:42 +02:00
parent 5aab790806
commit a5744f02f0
3 changed files with 4 additions and 17 deletions
+2 -4
View File
@@ -203,10 +203,8 @@ renderBackground pdata rot camZoom (tranx,trany) (winx,winy) = do
bindArrayBuffers' 1 $ _vaoVBO $ _shaderVAO $ _backgroundShader pdata
currentProgram $= Just (_shaderProgram $ _backgroundShader pdata)
bindVertexArrayObject $= Just (_vao $ _shaderVAO $ _backgroundShader pdata)
let backPtr = (\(_,x,_) -> x) $ head $ _vaoBufferTargets $ _shaderVAO $ _backgroundShader pdata
backPtr2 = (\(_,x,_) -> x) $ _vaoBufferTargets (_shaderVAO $ _backgroundShader pdata) !! 1
pokeFourOff backPtr 0 (tranx,trany,rot,camZoom)
pokeTwoOff backPtr2 0 (winx,winy)
let backPtr = _vboPointer $ _vaoVBO $ _shaderVAO $ _backgroundShader pdata
pokeArrayOff backPtr 0 [tranx,trany,rot,camZoom,winx,winy]
textureBinding Texture2D $= _textureObject <$> _shaderTexture (_backgroundShader pdata)
drawArrays Points 0 1
+2 -11
View File
@@ -3,6 +3,7 @@ module Shader
, addTexture
, addUniforms
, pokeShaders
, pokeArrayOff
--, pokeShader
, pokeShader'
--, bindArrayBuffers
@@ -46,12 +47,6 @@ pokeShaders :: [FullShader] -> F.FoldM IO RenderType [Int]
pokeShaders = traverse pokeShader'
--pokeShaders = traverse pokeShader
pokeShader :: FullShader -> F.FoldM IO RenderType Int
pokeShader fs = F.FoldM (pokeRender fls (zip ptrs nAtss)) (return 0) return
where
(_,ptrs,nAtss) = unzip3 $ _vaoBufferTargets $ _shaderVAO fs
fls = _shaderPokeStrategy fs
pokeShader' :: FullShader -> F.FoldM IO RenderType Int
pokeShader' fs = F.FoldM (pokeRender' fls ptr stride) (return 0) return
where
@@ -112,7 +107,6 @@ bindArrayBuffers' numVs theVBO = do
bindShaderBuffers :: [FullShader] -> [Int] -> IO ()
bindShaderBuffers = zipWithM_ f
where
--f fs i = bindArrayBuffers i $ _vaoBufferTargets $ _shaderVAO fs
f fs i = bindArrayBuffers' i $ _vaoVBO $ _shaderVAO fs
drawShaders :: [FullShader] -> [Int] -> IO ()
@@ -189,7 +183,6 @@ setupVAO sizes = do
theVBO <- setupVBO $ sizes
return $ VAO
{ _vao = theVAO
, _vaoBufferTargets = ptrs
, _vaoVBO = theVBO
}
@@ -334,6 +327,4 @@ setPerpMatUniform rot czoom trans wins vFrom shad = do
return ()
freeShaderPointers :: FullShader -> IO ()
freeShaderPointers fs = do
forM_ (_vaoBufferTargets $ _shaderVAO fs) $ \(_,ptr,_) ->
free ptr
freeShaderPointers fs = free $ _vboPointer $ _vaoVBO $ _shaderVAO fs
-2
View File
@@ -10,7 +10,6 @@ module Shader.Data
-- | Lens functions
, vao
, vaoVBO
, vaoBufferTargets
, shaderProgram
, shaderMatrixUniform
@@ -31,7 +30,6 @@ import Control.Lens
and its buffer targets. -}
data VAO = VAO
{ _vao :: VertexArrayObject
, _vaoBufferTargets :: [(BufferObject,Ptr Float,Int)]
, _vaoVBO :: VBO
}
{- | Vertex buffer object: contains the reference to the object,