Partial refactor of shader loading and drawing
This commit is contained in:
+11
-1
@@ -24,7 +24,7 @@ import Data.Traversable
|
||||
data RenderType
|
||||
= RenderPoly [(Point3,Point4)]
|
||||
| RenderText [(Point3,Point4,Point3)]
|
||||
| RenderCirc (Point3,Point4,Float)
|
||||
-- | RenderCirc (Point3,Point4,Float)
|
||||
| RenderArc (Point3,Point4,Point4)
|
||||
| RenderLine [(Point3,Point4)]
|
||||
| RenderEllipse [(Point3,Point4)]
|
||||
@@ -44,6 +44,16 @@ data FullShader = FullShader
|
||||
makeLenses ''VAO
|
||||
makeLenses ''FullShader
|
||||
|
||||
|
||||
drawShaders :: [FullShader] -> [Int] -> IO ()
|
||||
drawShaders fss is =
|
||||
zipWithM_ f fss is
|
||||
where f fs i = do
|
||||
currentProgram $= Just (_shaderProgram fs)
|
||||
bindVertexArrayObject $= (Just (_vao $ _shaderVAO fs))
|
||||
drawArrays (_shaderDrawPrimitive fs) 0 (fromIntegral i)
|
||||
|
||||
|
||||
bindShaderBuffers :: [FullShader] -> [Int] -> IO ()
|
||||
bindShaderBuffers fss is =
|
||||
zipWithM_ f fss is
|
||||
|
||||
Reference in New Issue
Block a user