| OpenGL-2.2.3.0: A binding for the OpenGL graphics system | Source code | Contents | Index
Graphics.Rendering.OpenGL.GL.VertexSpec |
Portability | portable
Stability | stable
Maintainer | sven.panne@aedion.de
Contents
Vertex Coordinates Auxiliary Vertex Attributes Texture Coordinates Normal Fog Coordinate Color and Secondary Color Generic Vertex Attributes Texture Units
Description
This module corresponds to section 2.7 (Vertex Specification) of the OpenGL 2.1 specs.
Synopsis
class Vertex a where
vertex :: a -> IO ()
vertexv :: Ptr a -> IO ()
class VertexComponent a
newtype Vertex1 a = Vertex1 a
data Vertex2 a = Vertex2 !a !a
data Vertex3 a = Vertex3 !a !a !a
data Vertex4 a = Vertex4 !a !a !a !a
currentTextureCoords :: StateVar (TexCoord4 GLfloat)
class TexCoord a where
texCoord :: a -> IO ()
texCoordv :: Ptr a -> IO ()
multiTexCoord :: TextureUnit -> a -> IO ()
multiTexCoordv :: TextureUnit -> Ptr a -> IO ()
class TexCoordComponent a
newtype TexCoord1 a = TexCoord1 a
data TexCoord2 a = TexCoord2 !a !a
data TexCoord3 a = TexCoord3 !a !a !a
data TexCoord4 a = TexCoord4 !a !a !a !a
currentNormal :: StateVar (Normal3 GLfloat)
class Normal a where
normal :: a -> IO ()
normalv :: Ptr a -> IO ()
class NormalComponent a
data Normal3 a = Normal3 !a !a !a
currentFogCoord :: StateVar (FogCoord1 GLfloat)
class FogCoord a where
fogCoord :: a -> IO ()
fogCoordv :: Ptr a -> IO ()
class FogCoordComponent a
newtype FogCoord1 a = FogCoord1 a
rgbaMode :: GettableStateVar Bool
currentColor :: StateVar (Color4 GLfloat)
class Color a where
color :: a -> IO ()
colorv :: Ptr a -> IO ()
currentSecondaryColor :: StateVar (Color3 GLfloat)
class SecondaryColor a where
secondaryColor :: a -> IO ()
secondaryColorv :: Ptr a -> IO ()
class ColorComponent a
data Color3 a = Color3 !a !a !a
data Color4 a = Color4 !a !a !a !a
currentIndex :: StateVar (Index1 GLint)
class Index a where
index :: a -> IO ()
indexv :: Ptr a -> IO ()
class IndexComponent a
newtype Index1 a = Index1 a
data IntegerHandling
= ToFloat
| ToNormalizedFloat
| KeepIntegral
newtype AttribLocation = AttribLocation GLuint
currentVertexAttrib :: AttribLocation -> StateVar (Vertex4 GLfloat)
currentVertexAttribI :: AttribLocation -> StateVar (Vertex4 GLint)
currentVertexAttribIu :: AttribLocation -> StateVar (Vertex4 GLuint)
class VertexAttrib a where
vertexAttrib :: IntegerHandling -> AttribLocation -> a -> IO ()
vertexAttribv :: IntegerHandling -> AttribLocation -> Ptr a -> IO ()
class (Storable a, Num a) => VertexAttribComponent a where
vertexAttrib1 :: AttribLocation -> a -> IO ()
vertexAttrib2 :: AttribLocation -> a -> a -> IO ()
vertexAttrib3 :: AttribLocation -> a -> a -> a -> IO ()
vertexAttrib4 :: AttribLocation -> a -> a -> a -> a -> IO ()
vertexAttrib1N :: AttribLocation -> a -> IO ()
vertexAttrib2N :: AttribLocation -> a -> a -> IO ()
vertexAttrib3N :: AttribLocation -> a -> a -> a -> IO ()
vertexAttrib4N :: AttribLocation -> a -> a -> a -> a -> IO ()
vertexAttrib1I :: AttribLocation -> a -> IO ()
vertexAttrib2I :: AttribLocation -> a -> a -> IO ()
vertexAttrib3I :: AttribLocation -> a -> a -> a -> IO ()
vertexAttrib4I :: AttribLocation -> a -> a -> a -> a -> IO ()
vertexAttrib1v :: AttribLocation -> Ptr a -> IO ()
vertexAttrib2v :: AttribLocation -> Ptr a -> IO ()
vertexAttrib3v :: AttribLocation -> Ptr a -> IO ()
vertexAttrib4v :: AttribLocation -> Ptr a -> IO ()
vertexAttrib1Nv :: AttribLocation -> Ptr a -> IO ()
vertexAttrib2Nv :: AttribLocation -> Ptr a -> IO ()
vertexAttrib3Nv :: AttribLocation -> Ptr a -> IO ()
vertexAttrib4Nv :: AttribLocation -> Ptr a -> IO ()
vertexAttrib1Iv :: AttribLocation -> Ptr a -> IO ()
vertexAttrib2Iv :: AttribLocation -> Ptr a -> IO ()
vertexAttrib3Iv :: AttribLocation -> Ptr a -> IO ()
vertexAttrib4Iv :: AttribLocation -> Ptr a -> IO ()
newtype TextureUnit = TextureUnit GLuint
maxTextureUnit :: GettableStateVar TextureUnit
Vertex Coordinates
class Vertex a where | Source
Specify the (x, y, z, w) coordinates of a four-dimensional vertex. This must only be done during Graphics.Rendering.OpenGL.GL.BeginEnd.renderPrimitive, otherwise the behaviour is unspecified. The current values of the auxiliary vertex attributes are associated with the vertex. Note that there is no such thing as a "current vertex" which could be retrieved.
Methods
vertex :: a -> IO () | Source
vertexv :: Ptr a -> IO () | Source
Instances
VertexComponent a => Vertex (Vertex4 a)
VertexComponent a => Vertex (Vertex3 a)
VertexComponent a => Vertex (Vertex2 a)
class VertexComponent a | Source
The class of all types which can be used as a vertex coordinate.
Instances
VertexComponent Double
VertexComponent Float
VertexComponent Int16
VertexComponent Int32
newtype Vertex1 a | Source
A vertex with y=0, z=0 and w=1.
Constructors
Vertex1 a |
Instances
Functor Vertex1
Typeable1 Vertex1
Traversable Vertex1
Foldable Vertex1
Applicative Vertex1
Bounded a => Bounded (Vertex1 a)
Eq a => Eq (Vertex1 a)
Ord a => Ord (Vertex1 a)
Read a => Read (Vertex1 a)
Show a => Show (Vertex1 a)
Ix a => Ix (Vertex1 a)
Typeable a => Typeable (Vertex1 a)
Storable a => Storable (Vertex1 a)
VertexAttribComponent a => VertexAttrib (Vertex1 a)
data Vertex2 a | Source
A vertex with z=0 and w=1.
Constructors
Vertex2 !a !a |
Instances
Functor Vertex2
Typeable1 Vertex2
Traversable Vertex2
Foldable Vertex2
Applicative Vertex2
TrimmingPoint Vertex2
Bounded a => Bounded (Vertex2 a)
Eq a => Eq (Vertex2 a)
Ord a => Ord (Vertex2 a)
Read a => Read (Vertex2 a)
Show a => Show (Vertex2 a)
Ix a => Ix (Vertex2 a)
Typeable a => Typeable (Vertex2 a)
Storable a => Storable (Vertex2 a)
VertexAttribComponent a => VertexAttrib (Vertex2 a)
VertexComponent a => Vertex (Vertex2 a)
WindowPosComponent a => WindowPos (Vertex2 a)
RasterPosComponent a => RasterPos (Vertex2 a)
UniformComponent a => Uniform (Vertex2 a)
data Vertex3 a | Source
A vertex with w=1.
Constructors
Vertex3 !a !a !a |
Instances
Functor Vertex3
Typeable1 Vertex3
Traversable Vertex3
Foldable Vertex3
Applicative Vertex3
ControlPoint Vertex3
TrimmingPoint Vertex3
Bounded a => Bounded (Vertex3 a)
Eq a => Eq (Vertex3 a)
Ord a => Ord (Vertex3 a)
Read a => Read (Vertex3 a)
Show a => Show (Vertex3 a)
Ix a => Ix (Vertex3 a)
Typeable a => Typeable (Vertex3 a)
Storable a => Storable (Vertex3 a)
VertexAttribComponent a => VertexAttrib (Vertex3 a)
VertexComponent a => Vertex (Vertex3 a)
WindowPosComponent a => WindowPos (Vertex3 a)
RasterPosComponent a => RasterPos (Vertex3 a)
UniformComponent a => Uniform (Vertex3 a)
data Vertex4 a | Source
A fully-fledged four-dimensional vertex.
Constructors
Vertex4 !a !a !a !a |
Instances
Functor Vertex4
Typeable1 Vertex4
Traversable Vertex4
Foldable Vertex4
Applicative Vertex4
ControlPoint Vertex4
Bounded a => Bounded (Vertex4 a)
Eq a => Eq (Vertex4 a)
Ord a => Ord (Vertex4 a)
Read a => Read (Vertex4 a)
Show a => Show (Vertex4 a)
Ix a => Ix (Vertex4 a)
Typeable a => Typeable (Vertex4 a)
Storable a => Storable (Vertex4 a)
VertexAttribComponent a => VertexAttrib (Vertex4 a)
VertexComponent a => Vertex (Vertex4 a)
RasterPosComponent a => RasterPos (Vertex4 a)
UniformComponent a => Uniform (Vertex4 a)
Auxiliary Vertex Attributes
Apart from its coordinates in four-dimensional space, every vertex has associated auxiliary attributes: Its texture coordinates, a normal, a fog coordinate, and a color plus a secondary color. For every attribute, the OpenGL state contains its current value, which can be changed at any time. Every attribute has a "natural" format via which it can be manipulated directly as part of the OpenGL state, e.g. the current texture coordinates are internally handled as ``TexCoord4` `GLfloat``. Different formats are converted to this format, e.g. the s, r, and t coordinates of a ``TexCoord3` `GLint`` are converted to floating point values and a q coordinate of 1.0 is implicitly assumed. Consequently, the vast majority of classes, functions, and data types in this module are for convenience only and offer no additional functionality.
Texture Coordinates
currentTextureCoords :: StateVar (TexCoord4 GLfloat) | Source
The current texture coordinates (s, t, r, q) for the current texture unit (see Graphics.Rendering.OpenGL.GL.CoordTrans.activeTexture). The initial value is (0,0,0,1) for all texture units.
class TexCoord a where | Source
Change the current texture coordinates of the current or given texture unit.
Methods
texCoord :: a -> IO () | Source
texCoordv :: Ptr a -> IO () | Source
multiTexCoord :: TextureUnit -> a -> IO () | Source
multiTexCoordv :: TextureUnit -> Ptr a -> IO () | Source
Instances
TexCoordComponent a => TexCoord (TexCoord4 a)
TexCoordComponent a => TexCoord (TexCoord3 a)
TexCoordComponent a => TexCoord (TexCoord2 a)
TexCoordComponent a => TexCoord (TexCoord1 a)
class TexCoordComponent a | Source
The class of all types which can be used as a texture coordinate.
Instances
TexCoordComponent Double
TexCoordComponent Float
TexCoordComponent Int16
TexCoordComponent Int32
newtype TexCoord1 a | Source
Texture coordinates with t=0, r=0, and q=1.
Constructors
TexCoord1 a |
Instances
Functor TexCoord1
Typeable1 TexCoord1
Traversable TexCoord1
Foldable TexCoord1
Applicative TexCoord1
ControlPoint TexCoord1
Bounded a => Bounded (TexCoord1 a)
Eq a => Eq (TexCoord1 a)
Ord a => Ord (TexCoord1 a)
Read a => Read (TexCoord1 a)
Show a => Show (TexCoord1 a)
Ix a => Ix (TexCoord1 a)
Typeable a => Typeable (TexCoord1 a)
Storable a => Storable (TexCoord1 a)
VertexAttribComponent a => VertexAttrib (TexCoord1 a)
TexCoordComponent a => TexCoord (TexCoord1 a)
UniformComponent a => Uniform (TexCoord1 a)
data TexCoord2 a | Source
Texture coordinates with r=0 and q=1.
Constructors
TexCoord2 !a !a |
Instances
Functor TexCoord2
Typeable1 TexCoord2
Traversable TexCoord2
Foldable TexCoord2
Applicative TexCoord2
ControlPoint TexCoord2
Bounded a => Bounded (TexCoord2 a)
Eq a => Eq (TexCoord2 a)
Ord a => Ord (TexCoord2 a)
Read a => Read (TexCoord2 a)
Show a => Show (TexCoord2 a)
Ix a => Ix (TexCoord2 a)
Typeable a => Typeable (TexCoord2 a)
Storable a => Storable (TexCoord2 a)
VertexAttribComponent a => VertexAttrib (TexCoord2 a)
TexCoordComponent a => TexCoord (TexCoord2 a)
UniformComponent a => Uniform (TexCoord2 a)
data TexCoord3 a | Source
Texture coordinates with q=1.
Constructors
TexCoord3 !a !a !a |
Instances
Functor TexCoord3
Typeable1 TexCoord3
Traversable TexCoord3
Foldable TexCoord3
Applicative TexCoord3
ControlPoint TexCoord3
Bounded a => Bounded (TexCoord3 a)
Eq a => Eq (TexCoord3 a)
Ord a => Ord (TexCoord3 a)
Read a => Read (TexCoord3 a)
Show a => Show (TexCoord3 a)
Ix a => Ix (TexCoord3 a)
Typeable a => Typeable (TexCoord3 a)
Storable a => Storable (TexCoord3 a)
VertexAttribComponent a => VertexAttrib (TexCoord3 a)
TexCoordComponent a => TexCoord (TexCoord3 a)
UniformComponent a => Uniform (TexCoord3 a)
data TexCoord4 a | Source
Fully-fledged four-dimensional texture coordinates.
Constructors
TexCoord4 !a !a !a !a |
Instances
Functor TexCoord4
Typeable1 TexCoord4
Traversable TexCoord4
Foldable TexCoord4
Applicative TexCoord4
ControlPoint TexCoord4
Bounded a => Bounded (TexCoord4 a)
Eq a => Eq (TexCoord4 a)
Ord a => Ord (TexCoord4 a)
Read a => Read (TexCoord4 a)
Show a => Show (TexCoord4 a)
Ix a => Ix (TexCoord4 a)
Typeable a => Typeable (TexCoord4 a)
Storable a => Storable (TexCoord4 a)
VertexAttribComponent a => VertexAttrib (TexCoord4 a)
TexCoordComponent a => TexCoord (TexCoord4 a)
UniformComponent a => Uniform (TexCoord4 a)
Normal
currentNormal :: StateVar (Normal3 GLfloat) | Source
The current normal (x, y, z). The initial value is the unit vector (0, 0, 1).
class Normal a where | Source
Change the current normal. Integral arguments are converted to floating-point with a linear mapping that maps the most positive representable integer value to 1.0, and the most negative representable integer value to -1.0. Normals specified with `normal` or `normalv` need not have unit length. If Graphics.Rendering.OpenGL.GL.CoordTrans.normalize is enabled, then normals of any length specified with `normal` or `normalv` are normalized after transformation. If Graphics.Rendering.OpenGL.GL.CoordTrans.rescaleNormal is enabled, normals are scaled by a scaling factor derived from the modelview matrix. Graphics.Rendering.OpenGL.GL.CoordTrans.rescaleNormal requires that the originally specified normals were of unit length, and that the modelview matrix contains only uniform scales for proper results. Normalization is initially disabled.
Methods
normal :: a -> IO () | Source
normalv :: Ptr a -> IO () | Source
Instances
NormalComponent a => Normal (Normal3 a)
class NormalComponent a | Source
The class of all types which can be used as a component of a normal.
Instances
NormalComponent Double
NormalComponent Float
NormalComponent Int8
NormalComponent Int16
NormalComponent Int32
data Normal3 a | Source
Constructors
Normal3 !a !a !a |
Instances
Functor Normal3
Typeable1 Normal3
Traversable Normal3
Foldable Normal3
Applicative Normal3
ControlPoint Normal3
Bounded a => Bounded (Normal3 a)
Eq a => Eq (Normal3 a)
Ord a => Ord (Normal3 a)
Read a => Read (Normal3 a)
Show a => Show (Normal3 a)
Ix a => Ix (Normal3 a)
Typeable a => Typeable (Normal3 a)
Storable a => Storable (Normal3 a)
VertexAttribComponent a => VertexAttrib (Normal3 a)
NormalComponent a => Normal (Normal3 a)
UniformComponent a => Uniform (Normal3 a)
Fog Coordinate
currentFogCoord :: StateVar (FogCoord1 GLfloat) | Source
The current fog coordinate. The initial value is 0.
class FogCoord a where | Source
Change the current fog coordinate.
Methods
fogCoord :: a -> IO () | Source
fogCoordv :: Ptr a -> IO () | Source
Instances
FogCoordComponent a => FogCoord (FogCoord1 a)
class FogCoordComponent a | Source
The class of all types which can be used as the fog coordinate.
Instances
FogCoordComponent Double
FogCoordComponent Float
newtype FogCoord1 a | Source
A fog coordinate.
Constructors
FogCoord1 a |
Instances
Functor FogCoord1
Typeable1 FogCoord1
Traversable FogCoord1
Foldable FogCoord1
Applicative FogCoord1
Bounded a => Bounded (FogCoord1 a)
Eq a => Eq (FogCoord1 a)
Ord a => Ord (FogCoord1 a)
Read a => Read (FogCoord1 a)
Show a => Show (FogCoord1 a)
Ix a => Ix (FogCoord1 a)
Typeable a => Typeable (FogCoord1 a)
Storable a => Storable (FogCoord1 a)
VertexAttribComponent a => VertexAttrib (FogCoord1 a)
FogCoordComponent a => FogCoord (FogCoord1 a)
UniformComponent a => Uniform (FogCoord1 a)
Color and Secondary Color
rgbaMode :: GettableStateVar Bool | Source
If `rgbaMode` contains `True`, the color buffers store RGBA value. If color indexes are stored, it contains `False`.
currentColor :: StateVar (Color4 GLfloat) | Source
class Color a where | Source
Change the current color.
Methods
color :: a -> IO () | Source
colorv :: Ptr a -> IO () | Source
Instances
ColorComponent a => Color (Color4 a)
ColorComponent a => Color (Color3 a)
currentSecondaryColor :: StateVar (Color3 GLfloat) | Source
class SecondaryColor a where | Source
Change the current secondary color.
Methods
secondaryColor :: a -> IO () | Source
secondaryColorv :: Ptr a -> IO () | Source
Instances
ColorComponent a => SecondaryColor (Color3 a)
class ColorComponent a | Source
The class of all types which can be used as a color component.
Instances
ColorComponent Double
ColorComponent Float
ColorComponent Int8
ColorComponent Int16
ColorComponent Int32
ColorComponent Word8
ColorComponent Word16
ColorComponent Word32
data Color3 a | Source
Constructors
Color3 !a !a !a |
Instances
Functor Color3
Typeable1 Color3
Traversable Color3
Foldable Color3
Applicative Color3
Bounded a => Bounded (Color3 a)
Eq a => Eq (Color3 a)
Ord a => Ord (Color3 a)
Read a => Read (Color3 a)
Show a => Show (Color3 a)
Ix a => Ix (Color3 a)
Typeable a => Typeable (Color3 a)
Storable a => Storable (Color3 a)
VertexAttribComponent a => VertexAttrib (Color3 a)
ColorComponent a => SecondaryColor (Color3 a)
ColorComponent a => Color (Color3 a)
UniformComponent a => Uniform (Color3 a)
data Color4 a | Source
A fully-fledged RGBA color.
Constructors
Color4 !a !a !a !a |
Instances
Functor Color4
Typeable1 Color4
Traversable Color4
Foldable Color4
Applicative Color4
ControlPoint Color4
Bounded a => Bounded (Color4 a)
Eq a => Eq (Color4 a)
Ord a => Ord (Color4 a)
Read a => Read (Color4 a)
Show a => Show (Color4 a)
Ix a => Ix (Color4 a)
Typeable a => Typeable (Color4 a)
Storable a => Storable (Color4 a)
VertexAttribComponent a => VertexAttrib (Color4 a)
ColorComponent a => Color (Color4 a)
UniformComponent a => Uniform (Color4 a)
currentIndex :: StateVar (Index1 GLint) | Source
class Index a where | Source
Change the current color index.
Methods
index :: a -> IO () | Source
indexv :: Ptr a -> IO () | Source
Instances
IndexComponent a => Index (Index1 a)
class IndexComponent a | Source
The class of all types which can be used as a color index.
Instances
IndexComponent Double
IndexComponent Float
IndexComponent Int16
IndexComponent Int32
IndexComponent Word8
newtype Index1 a | Source
A color index.
Constructors
Index1 a |
Instances
Functor Index1
Typeable1 Index1
Traversable Index1
Foldable Index1
Applicative Index1
ControlPoint Index1
Bounded a => Bounded (Index1 a)
Eq a => Eq (Index1 a)
Ord a => Ord (Index1 a)
Read a => Read (Index1 a)
Show a => Show (Index1 a)
Ix a => Ix (Index1 a)
Typeable a => Typeable (Index1 a)
Storable a => Storable (Index1 a)
VertexAttribComponent a => VertexAttrib (Index1 a)
IndexComponent a => Index (Index1 a)
UniformComponent a => Uniform (Index1 a)
Generic Vertex Attributes
data IntegerHandling | Source
Constructors
ToFloat |
ToNormalizedFloat |
KeepIntegral |
Instances
Eq IntegerHandling
Ord IntegerHandling
Show IntegerHandling
newtype AttribLocation | Source
Constructors
AttribLocation GLuint |
Instances
Eq AttribLocation
Ord AttribLocation
Show AttribLocation
currentVertexAttrib :: AttribLocation -> StateVar (Vertex4 GLfloat) | Source
currentVertexAttribI :: AttribLocation -> StateVar (Vertex4 GLint) | Source
currentVertexAttribIu :: AttribLocation -> StateVar (Vertex4 GLuint) | Source
class VertexAttrib a where | Source
Methods
vertexAttrib :: IntegerHandling -> AttribLocation -> a -> IO () | Source
vertexAttribv :: IntegerHandling -> AttribLocation -> Ptr a -> IO () | Source
Instances
VertexAttribComponent a => VertexAttrib (Vector4 a)
VertexAttribComponent a => VertexAttrib (Vector3 a)
VertexAttribComponent a => VertexAttrib (Vector2 a)
VertexAttribComponent a => VertexAttrib (Vector1 a)
VertexAttribComponent a => VertexAttrib (Vertex4 a)
VertexAttribComponent a => VertexAttrib (Vertex3 a)
VertexAttribComponent a => VertexAttrib (Vertex2 a)
VertexAttribComponent a => VertexAttrib (Vertex1 a)
VertexAttribComponent a => VertexAttrib (Index1 a)
VertexAttribComponent a => VertexAttrib (Color4 a)
VertexAttribComponent a => VertexAttrib (Color3 a)
VertexAttribComponent a => VertexAttrib (FogCoord1 a)
VertexAttribComponent a => VertexAttrib (Normal3 a)
VertexAttribComponent a => VertexAttrib (TexCoord4 a)
VertexAttribComponent a => VertexAttrib (TexCoord3 a)
VertexAttribComponent a => VertexAttrib (TexCoord2 a)
VertexAttribComponent a => VertexAttrib (TexCoord1 a)
class (Storable a, Num a) => VertexAttribComponent a where | Source
The class of all types which can be used as a generic vertex attribute. NOTE: Do not use the methods of this class directly, they were only exported by accident and will be hidden in future versions of this package.
Methods
vertexAttrib1 :: AttribLocation -> a -> IO () | Source
vertexAttrib2 :: AttribLocation -> a -> a -> IO () | Source
vertexAttrib3 :: AttribLocation -> a -> a -> a -> IO () | Source
vertexAttrib4 :: AttribLocation -> a -> a -> a -> a -> IO () | Source
vertexAttrib1N :: AttribLocation -> a -> IO () | Source
vertexAttrib2N :: AttribLocation -> a -> a -> IO () | Source
vertexAttrib3N :: AttribLocation -> a -> a -> a -> IO () | Source
vertexAttrib4N :: AttribLocation -> a -> a -> a -> a -> IO () | Source
vertexAttrib1I :: AttribLocation -> a -> IO () | Source
vertexAttrib2I :: AttribLocation -> a -> a -> IO () | Source
vertexAttrib3I :: AttribLocation -> a -> a -> a -> IO () | Source
vertexAttrib4I :: AttribLocation -> a -> a -> a -> a -> IO () | Source
vertexAttrib1v :: AttribLocation -> Ptr a -> IO () | Source
vertexAttrib2v :: AttribLocation -> Ptr a -> IO () | Source
vertexAttrib3v :: AttribLocation -> Ptr a -> IO () | Source
vertexAttrib4v :: AttribLocation -> Ptr a -> IO () | Source
vertexAttrib1Nv :: AttribLocation -> Ptr a -> IO () | Source
vertexAttrib2Nv :: AttribLocation -> Ptr a -> IO () | Source
vertexAttrib3Nv :: AttribLocation -> Ptr a -> IO () | Source
vertexAttrib4Nv :: AttribLocation -> Ptr a -> IO () | Source
vertexAttrib1Iv :: AttribLocation -> Ptr a -> IO () | Source
vertexAttrib2Iv :: AttribLocation -> Ptr a -> IO () | Source
vertexAttrib3Iv :: AttribLocation -> Ptr a -> IO () | Source
vertexAttrib4Iv :: AttribLocation -> Ptr a -> IO () | Source
Instances
VertexAttribComponent Double
VertexAttribComponent Float
VertexAttribComponent Int8
VertexAttribComponent Int16
VertexAttribComponent Int32
VertexAttribComponent Word8
VertexAttribComponent Word16
VertexAttribComponent Word32
Texture Units
newtype TextureUnit | Source
Identifies a texture unit via its number, which must be in the range of (0 .. maxTextureUnit).
Constructors
TextureUnit GLuint |
Instances
Eq TextureUnit
Ord TextureUnit
Show TextureUnit
maxTextureUnit :: GettableStateVar TextureUnit | Source
An implementation must support at least 2 texture units, but it may support up to 32 ones. This state variable can be used to query the actual implementation limit.
Produced by Haddock version 2.4.2