{-# LANGUAGE TypeFamilies #-}
module Classes.Graphics.Drawable where

import qualified Data.Vector as V

-- iternal imports

import Types.Graphics.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)
