Separate sound and render io parameters
This commit is contained in:
@@ -16,7 +16,7 @@ import Foreign
|
||||
|
||||
import Shaders
|
||||
|
||||
data PreloadData = PreloadData
|
||||
data RenderData = RenderData
|
||||
{ --_charMap :: Image PixelRGBA8
|
||||
_textures :: [TextureObject]
|
||||
, _basicShader :: Program
|
||||
@@ -52,7 +52,7 @@ data VAO = VAO
|
||||
, _vaoBufferTargets :: [(BufferObject,Ptr Float,Int)]
|
||||
}
|
||||
|
||||
makeLenses ''PreloadData
|
||||
makeLenses ''RenderData
|
||||
makeLenses ''VAO
|
||||
|
||||
floatSize = sizeOf (0.5 :: GLfloat)
|
||||
@@ -100,8 +100,8 @@ loadTextures = do
|
||||
bufferOffset :: Integral a => a -> Ptr b
|
||||
bufferOffset = plusPtr nullPtr . fromIntegral
|
||||
|
||||
doPreload' :: IO PreloadData
|
||||
doPreload' = do
|
||||
preloadRender :: IO RenderData
|
||||
preloadRender = do
|
||||
-- compile shader programs
|
||||
bs <- makeBasicShader
|
||||
ts <- makeTextureShader
|
||||
@@ -172,7 +172,7 @@ doPreload' = do
|
||||
wallvao <- setupVAO [(posVBO,0,4),(colVBO,1,4)]
|
||||
fadecircvao <- setupVAO [(posVBO,0,4)]
|
||||
|
||||
return $ PreloadData
|
||||
return $ RenderData
|
||||
{ -- _charMap = convertRGBA8 cmap
|
||||
_textures = [chartex,dirttex]
|
||||
,_basicShader = bs
|
||||
@@ -207,8 +207,8 @@ doPreload' = do
|
||||
vaoPointers :: VAO -> [Ptr Float]
|
||||
vaoPointers = (\(_,ps,_) -> ps) . unzip3 . _vaoBufferTargets
|
||||
|
||||
cleanUpPreload :: PreloadData -> IO ()
|
||||
cleanUpPreload pd = do
|
||||
cleanUpRenderPreload :: RenderData -> IO ()
|
||||
cleanUpRenderPreload pd = do
|
||||
mapM_ free $ vaoPointers $ _triVAO pd
|
||||
mapM_ free $ vaoPointers $ _textVAO pd
|
||||
mapM_ free $ vaoPointers $ _circVAO pd
|
||||
|
||||
Reference in New Issue
Block a user