19 lines
452 B
Haskell
19 lines
452 B
Haskell
{-# LANGUAGE TypeFamilies #-}
|
|
{-# LANGUAGE FlexibleContexts #-}
|
|
{-# LANGUAGE AllowAmbiguousTypes #-}
|
|
module Graphics.Classes.VertexLayout where
|
|
|
|
import qualified Graphics.Rendering.OpenGL as GL
|
|
|
|
-- internal imports
|
|
|
|
import Graphics.Classes.Bindable
|
|
|
|
class (Bindable (VertBuffer v)) => VertexLayout v where
|
|
|
|
type VertBuffer v :: *
|
|
|
|
layoutElements :: v -> [(GL.GLuint, GL.VertexArrayDescriptor GL.GLfloat)]
|
|
|
|
addBuffer :: v -> VertBuffer v -> IO ()
|