{-# 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 ()