canvas/app/Classes/Renderable.hs
2020-02-08 00:15:53 +01:00

30 lines
454 B
Haskell

{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE AllowAmbiguousTypes #-}
module Classes.Renderable where
import qualified Graphics.Rendering.OpenGL as GL
import Linear
class Renderable a where
type VertexObjects a :: *
type ShaderObjects a :: *
init
:: VertexObjects a
-> ShaderObjects a
-> GL.TextureObject
-> a
-> IO ()
draw
:: VertexObjects a
-> ShaderObjects a
-> a
-> IO ()
clean
:: a
-> IO ()