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