{-# LANGUAGE NoImplicitPrelude, ViewPatterns, DeriveDataTypeable #-} module Caramia.VAO.Internal ( VAO(..) , VAO_(..) ) where import Caramia.Prelude import Caramia.Resource import Caramia.Internal.OpenGLCApi import qualified Caramia.Buffer.Internal as Buf -- | The vertex array object data type. data VAO = VAO { resource :: !(Resource VAO_) , boundBuffers :: !(IORef [Buf.Buffer]) } deriving ( Typeable ) instance Eq VAO where (resource -> res1) == (resource -> res2) = res1 == res2 newtype VAO_ = VAO_ GLuint