module Graphics.Rendering.OpenGL.GL.FramebufferObjects.RenderbufferTarget (
RenderbufferTarget(..), marshalRenderbufferTarget, getRBParameteriv,
Samples(..)
) where
import Foreign.Marshal
import Graphics.Rendering.OpenGL.GL.PeekPoke
import Graphics.Rendering.OpenGL.Raw
data RenderbufferTarget = Renderbuffer
deriving ( Eq, Ord, Show )
marshalRenderbufferTarget :: RenderbufferTarget -> GLenum
marshalRenderbufferTarget x = case x of
Renderbuffer -> gl_RENDERBUFFER
getRBParameteriv :: RenderbufferTarget -> (GLint -> a) -> GLenum -> IO a
getRBParameteriv rbt f p =
alloca $ \buf -> do
glGetRenderbufferParameteriv (marshalRenderbufferTarget rbt) p buf
peek1 f buf
newtype Samples = Samples GLsizei
deriving ( Eq, Ord, Show )