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
|
||||
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
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user