OpenGL-2.9.0.0: A binding for the OpenGL graphics system

Portabilityportable
Stabilitystable
MaintainerSven Panne <svenpanne@gmail.com>
Safe HaskellSafe-Inferred

Graphics.Rendering.OpenGL.GL.ObjectName

Description

This module corresponds to section 2.5 (Objects and the Object Model) of the OpenGL 4.4 specs.

Object names are explicitly handled identifiers for API objects, e.g. a texture object name in OpenGL or a buffer object name in OpenAL.

Synopsis

Documentation

class ObjectName a whereSource

An ObjectName is an explicitly handled identifier for API objects, e.g. a texture object name in OpenGL or a buffer object name in OpenAL.

Minimal complete definition: isObjectName plus one of deleteObjectName or deleteObjectNames.

Methods

isObjectName :: a -> IO BoolSource

Test if the given object name is currently in use, i.e. test if it has been generated, but not been deleted so far.

deleteObjectName :: a -> IO ()Source

Make the given object name available again, declaring it as unused.

deleteObjectNames :: [a] -> IO ()Source

Bulk version of deleteObjectName.

class ObjectName a => GeneratableObjectName a whereSource

A GeneratableObjectName is an ObjectName which can be generated without creating an associated object at the same time, e.g. a buffer object name. Note that e.g. program object names do not fall into this category, because you can only create such a name together with a program object itself.

Minimal complete definition: One of genObjectName or genObjectNames.

Methods

genObjectName :: IO aSource

Generate a new unused object name. By generating the name, it becomes used.

genObjectNames :: Int -> IO [a]Source

Bulk version of genObjectName.