OpenGL-3.0.3.0: A binding for the OpenGL graphics system
Copyright(c) Sven Panne 2002-2019
LicenseBSD3
MaintainerSven Panne <svenpanne@gmail.com>
Stabilitystable
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Graphics.Rendering.OpenGL.GL.BufferObjects

Description

This module corresponds to section 2.9 (Buffer Objects) of the OpenGL 2.1 specs.

Synopsis

Buffer Objects

data BufferObject Source #

Instances

Instances details
Eq BufferObject Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.BufferObjects

Methods

(==) :: BufferObject -> BufferObject -> Bool

(/=) :: BufferObject -> BufferObject -> Bool

Ord BufferObject Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.BufferObjects

Show BufferObject Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.BufferObjects

Methods

showsPrec :: Int -> BufferObject -> ShowS

show :: BufferObject -> String

showList :: [BufferObject] -> ShowS

CanBeLabeled BufferObject Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.BufferObjects

Methods

objectLabel :: BufferObject -> StateVar (Maybe String) Source #

GeneratableObjectName BufferObject Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.BufferObjects

Methods

genObjectName :: MonadIO m => m BufferObject

genObjectNames :: MonadIO m => Int -> m [BufferObject]

ObjectName BufferObject Source # 
Instance details

Defined in Graphics.Rendering.OpenGL.GL.BufferObjects

Methods

isObjectName :: MonadIO m => BufferObject -> m Bool

deleteObjectName :: MonadIO m => BufferObject -> m ()

deleteObjectNames :: MonadIO m => [BufferObject] -> m ()

Binding Buffer Objects

arrayBufferBinding :: ClientArrayType -> GettableStateVar (Maybe BufferObject) Source #

Handling Buffer Data

bufferData :: BufferTarget -> StateVar (GLsizeiptr, Ptr a, BufferUsage) Source #

bufferSubData :: BufferTarget -> TransferDirection -> GLintptr -> GLsizeiptr -> Ptr a -> IO () Source #

Mapping Buffer Objects

withMappedBuffer :: BufferTarget -> BufferAccess -> (Ptr a -> IO b) -> (MappingFailure -> IO b) -> IO b Source #

Convenience function for an exception-safe combination of mapBuffer and unmapBuffer.

mapBuffer :: BufferTarget -> BufferAccess -> IO (Maybe (Ptr a)) Source #

bufferMapped :: BufferTarget -> GettableStateVar Bool Source #

type Offset = GLintptr Source #

type Length = GLsizeiptr Source #

mapBufferRange :: BufferTarget -> Offset -> Length -> [MapBufferUsage] -> IO (Maybe (Ptr a)) Source #

Indexed Buffer manipulation

type BufferIndex = GLuint Source #

type RangeStartIndex = GLintptr Source #

type RangeSize = GLsizeiptr Source #