diff --git a/src/Dodge/Render.hs b/src/Dodge/Render.hs index 4632a1e26..d7bbba773 100644 --- a/src/Dodge/Render.hs +++ b/src/Dodge/Render.hs @@ -27,7 +27,7 @@ import Foreign --import Control.Applicative --import Control.Monad.State import Control.Lens -import Control.Monad +--import Control.Monad import qualified Control.Foldl as F import Data.Tuple.Extra --import Data.List diff --git a/src/Shader.hs b/src/Shader.hs index 8f9d28d87..8b7e31886 100644 --- a/src/Shader.hs +++ b/src/Shader.hs @@ -5,23 +5,29 @@ module Shader , drawShaders , freeShaderPointers ) where -import Geometry.Data +--import Geometry.Data import Shader.Data import Shader.Parameters -import MatrixHelper +--import MatrixHelper import Foreign import Control.Monad import Graphics.Rendering.OpenGL hiding (Point,translate,scale,imageHeight) --import Text.RawString.QQ -import Linear.Matrix -import Linear.V4 +--import Linear.Matrix +--import Linear.V4 bindArrayBuffers :: Int -> VBO -> IO () bindArrayBuffers numVs theVBO = do bindBuffer ArrayBuffer $= Just (_vbo theVBO) - bufferData ArrayBuffer $= - (fromIntegral $ floatSize * numVs * sum (_vboAttribSizes theVBO), _vboPointer theVBO, DynamicDraw) +-- bufferData ArrayBuffer $= +-- (fromIntegral $ floatSize * numVs * sum (_vboAttribSizes theVBO), _vboPointer theVBO, DynamicDraw) + bufferSubData + ArrayBuffer + WriteToBuffer + 0 + (fromIntegral $ floatSize * numVs * sum (_vboAttribSizes theVBO)) + (_vboPointer theVBO) bindShaderBuffers :: [FullShader] -> [Int] -> IO () bindShaderBuffers = zipWithM_ f diff --git a/src/Shader/Compile.hs b/src/Shader/Compile.hs index 47fe60e6c..0d49b9d52 100644 --- a/src/Shader/Compile.hs +++ b/src/Shader/Compile.hs @@ -68,6 +68,12 @@ setupVBO sizes = do forM_ (zip3 [0..] sizes offs) $ \(loc,siz,off) -> do setupVertexAttribPointer loc siz strd off thePtr <- mallocArray (strd * numDrawableElements) + -- Allocate space + bufferData ArrayBuffer $= + (fromIntegral $ floatSize * numDrawableElements * strd + , nullPtr + , DynamicDraw + ) return $ VBO { _vbo = vboName , _vboPointer = thePtr