| OpenGL-2.2.1.1: A binding for the OpenGL graphics system | Source code | Contents | Index
Graphics.Rendering.OpenGL.GL.Evaluators |
Portability | portable
Stability | stable
Maintainer | sven.panne@aedion.de
Contents
Evaluator-related Types Defining Evaluator Maps One-dimensional Evaluator Maps Two-dimensional Evaluator Maps Using Evaluator Maps Evaluating an Arbitrary Coordinate Value Using Evenly Spaced Coordinate Values Defining a Grid Evaluating a Whole Mesh Evaluating a Single Point on a Mesh Normal Generation
Description
This module corresponds to section 5.1 (Evaluators) of the OpenGL 2.1 specs.
Synopsis
type Order = GLint
maxOrder :: GettableStateVar Order
class Storable d => Domain d where
evalCoord1 :: d -> IO ()
evalCoord1v :: Ptr d -> IO ()
evalCoord2 :: (d, d) -> IO ()
evalCoord2v :: Ptr d -> IO ()
data MapDescriptor d = MapDescriptor (d, d) Stride Order NumComponents
class ControlPoint c
class Map1 m where
withNewMap1 :: (ControlPoint c, Domain d) => MapDescriptor d -> (Ptr d -> IO ()) -> IO (m c d)
withMap1 :: (ControlPoint c, Domain d) => m c d -> (MapDescriptor d -> Ptr d -> IO a) -> IO a
newMap1 :: (ControlPoint c, Domain d) => (d, d) -> [c d] -> IO (m c d)
getMap1Components :: (ControlPoint c, Domain d) => m c d -> IO ((d, d), [c d])
data GLmap1 c d
map1 :: (Map1 m, ControlPoint c, Domain d) => StateVar (Maybe (m c d))
class Map2 m where
withNewMap2 :: (ControlPoint c, Domain d) => MapDescriptor d -> MapDescriptor d -> (Ptr d -> IO ()) -> IO (m c d)
withMap2 :: (ControlPoint c, Domain d) => m c d -> (MapDescriptor d -> MapDescriptor d -> Ptr d -> IO a) -> IO a
newMap2 :: (ControlPoint c, Domain d) => (d, d) -> (d, d) -> [[c d]] -> IO (m c d)
getMap2Components :: (ControlPoint c, Domain d) => m c d -> IO ((d, d), (d, d), [[c d]])
data GLmap2 c d
map2 :: (Map2 m, ControlPoint c, Domain d) => StateVar (Maybe (m c d))
evalCoord1 :: Domain d => d -> IO ()
evalCoord1v :: Domain d => Ptr d -> IO ()
evalCoord2 :: Domain d => (d, d) -> IO ()
evalCoord2v :: Domain d => Ptr d -> IO ()
mapGrid1 :: Domain d => StateVar (GLint, (d, d))
mapGrid2 :: Domain d => StateVar ((GLint, (d, d)), (GLint, (d, d)))
evalMesh1 :: PolygonMode -> (GLint, GLint) -> IO ()
evalMesh2 :: PolygonMode -> (GLint, GLint) -> (GLint, GLint) -> IO ()
evalPoint1 :: GLint -> IO ()
evalPoint2 :: (GLint, GLint) -> IO ()
autoNormal :: StateVar Capability
Evaluator-related Types
type Order = GLint | Source
maxOrder :: GettableStateVar Order | Source
class Storable d => Domain d where | Source
Methods
evalCoord1 :: d -> IO () | Source
evalCoord1v :: Ptr d -> IO () | Source
evalCoord2 :: (d, d) -> IO () | Source
evalCoord2v :: Ptr d -> IO () | Source
Instances
Domain GLdouble
Domain GLfloat
data MapDescriptor d | Source
Constructors
MapDescriptor (d, d) Stride Order NumComponents |
Instances
(Domain d, ??? d) => Eq (MapDescriptor d)
(Domain d, ??? d) => Ord (MapDescriptor d)
(Domain d, ??? d) => Show (MapDescriptor d)
class ControlPoint c | Source
Instances
ControlPoint Color4
ControlPoint Index1
ControlPoint Normal3
ControlPoint TexCoord1
ControlPoint TexCoord2
ControlPoint TexCoord3
ControlPoint TexCoord4
ControlPoint Vertex3
ControlPoint Vertex4
Defining Evaluator Maps
One-dimensional Evaluator Maps
class Map1 m where | Source
Methods
withNewMap1 :: (ControlPoint c, Domain d) => MapDescriptor d -> (Ptr d -> IO ()) -> IO (m c d) | Source
withMap1 :: (ControlPoint c, Domain d) => m c d -> (MapDescriptor d -> Ptr d -> IO a) -> IO a | Source
newMap1 :: (ControlPoint c, Domain d) => (d, d) -> [c d] -> IO (m c d) | Source
getMap1Components :: (ControlPoint c, Domain d) => m c d -> IO ((d, d), [c d]) | Source
Instances
Map1 GLmap1
data GLmap1 c d | Source
Instances
Map1 GLmap1
Eq d => Eq (GLmap1 c d)
Ord d => Ord (GLmap1 c d)
Show d => Show (GLmap1 c d)
map1 :: (Map1 m, ControlPoint c, Domain d) => StateVar (Maybe (m c d)) | Source
Two-dimensional Evaluator Maps
class Map2 m where | Source
Methods
withNewMap2 :: (ControlPoint c, Domain d) => MapDescriptor d -> MapDescriptor d -> (Ptr d -> IO ()) -> IO (m c d) | Source
withMap2 :: (ControlPoint c, Domain d) => m c d -> (MapDescriptor d -> MapDescriptor d -> Ptr d -> IO a) -> IO a | Source
newMap2 :: (ControlPoint c, Domain d) => (d, d) -> (d, d) -> [[c d]] -> IO (m c d) | Source
getMap2Components :: (ControlPoint c, Domain d) => m c d -> IO ((d, d), (d, d), [[c d]]) | Source
Instances
Map2 GLmap2
data GLmap2 c d | Source
Instances
Map2 GLmap2
Eq d => Eq (GLmap2 c d)
Ord d => Ord (GLmap2 c d)
Show d => Show (GLmap2 c d)
map2 :: (Map2 m, ControlPoint c, Domain d) => StateVar (Maybe (m c d)) | Source
Using Evaluator Maps
Evaluating an Arbitrary Coordinate Value
evalCoord1 :: Domain d => d -> IO () | Source
evalCoord1v :: Domain d => Ptr d -> IO () | Source
evalCoord2 :: Domain d => (d, d) -> IO () | Source
evalCoord2v :: Domain d => Ptr d -> IO () | Source
Using Evenly Spaced Coordinate Values
Defining a Grid
mapGrid1 :: Domain d => StateVar (GLint, (d, d)) | Source
mapGrid2 :: Domain d => StateVar ((GLint, (d, d)), (GLint, (d, d))) | Source
Evaluating a Whole Mesh
evalMesh1 :: PolygonMode -> (GLint, GLint) -> IO () | Source
evalMesh2 :: PolygonMode -> (GLint, GLint) -> (GLint, GLint) -> IO () | Source
Evaluating a Single Point on a Mesh
evalPoint1 :: GLint -> IO () | Source
evalPoint2 :: (GLint, GLint) -> IO () | Source
Normal Generation
autoNormal :: StateVar Capability | Source
Produced by Haddock version 0.9