Remove list layer while poking
This commit is contained in:
+5
-6
@@ -33,7 +33,6 @@ extractProgAndUnis s = (_shaderProgram s, _shaderMatrixUniform s)
|
||||
|
||||
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 ptr stride) (return 0) return
|
||||
@@ -44,7 +43,7 @@ pokeShader' fs = F.FoldM (pokeRender' fls ptr stride) (return 0) return
|
||||
fls = _shaderPokeStrategy fs
|
||||
|
||||
pokeRender'
|
||||
:: (RenderType -> [[[Float]]])
|
||||
:: (RenderType -> [[Float]])
|
||||
-> Ptr Float
|
||||
-> Int -- ^ stride
|
||||
-> Int
|
||||
@@ -52,12 +51,12 @@ pokeRender'
|
||||
-> IO Int
|
||||
pokeRender' toFs ptr stride n rt = pokeList' ptr stride n (toFs rt)
|
||||
|
||||
pokeList' :: Ptr Float -> Int -> Int -> [[[Float]]] -> IO Int
|
||||
pokeList' :: Ptr Float -> Int -> Int -> [[Float]] -> IO Int
|
||||
pokeList' ptr stride = foldM (pokePtrs' ptr stride)
|
||||
|
||||
pokePtrs' :: Ptr Float -> Int -> Int -> [[Float]] -> IO Int
|
||||
pokePtrs' ptr stride n fss = do
|
||||
pokeArrayOff ptr (stride * n) (concat fss)
|
||||
pokePtrs' :: Ptr Float -> Int -> Int -> [Float] -> IO Int
|
||||
pokePtrs' ptr stride n fs = do
|
||||
pokeArrayOff ptr (stride * n) fs
|
||||
return $ n + 1
|
||||
|
||||
pokeArrayOff :: Storable a => Ptr a -> Int -> [a] -> IO ()
|
||||
|
||||
Reference in New Issue
Block a user