{-# LANGUAGE TypeFamilies #-} module Graphics.Classes.Drawable where import qualified Data.Vector as V -- iternal imports import Graphics.Types.VertexBuffer (Vertex) -- | A typeclass for all drawable objects class Drawable a where -- -- | List type for resulting vertices and indices -- type VertexList a :: * -> * -- | converter function -- toVertices :: a -> ((VertexList a) Word, (VertexList a) Vertex) toVertices :: a -> (V.Vector Word, V.Vector Vertex)