|
Graphics.Rendering.OpenGL.GL.Evaluators | Portability | portable | Stability | stable | Maintainer | sven.panne@aedion.de |
|
|
|
|
|
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 | | | data MapDescriptor d = MapDescriptor (d, d) Stride Order NumComponents | | class ControlPoint c | | class Map1 m where | | | 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 |
|
maxOrder :: GettableStateVar Order |
|
class Storable d => Domain d where |
| Methods | evalCoord1 :: d -> IO () | | evalCoord1v :: Ptr d -> IO () | | evalCoord2 :: (d, d) -> IO () | | evalCoord2v :: Ptr d -> IO () |
| | Instances | |
|
|
data MapDescriptor d |
Constructors | | Instances | |
|
|
class ControlPoint c |
| Instances | |
|
|
Defining Evaluator Maps
|
|
One-dimensional Evaluator Maps
|
|
class Map1 m where |
| Methods | | | Instances | |
|
|
data GLmap1 c d |
Instances | |
|
|
map1 :: (Map1 m, ControlPoint c, Domain d) => StateVar (Maybe (m c d)) |
|
Two-dimensional Evaluator Maps
|
|
class Map2 m where |
| Methods | 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]]) |
| | Instances | |
|
|
data GLmap2 c d |
Instances | |
|
|
map2 :: (Map2 m, ControlPoint c, Domain d) => StateVar (Maybe (m c d)) |
|
Using Evaluator Maps
|
|
Evaluating an Arbitrary Coordinate Value
|
|
evalCoord1 :: Domain d => d -> IO () |
|
evalCoord1v :: Domain d => Ptr d -> IO () |
|
evalCoord2 :: Domain d => (d, d) -> IO () |
|
evalCoord2v :: Domain d => Ptr d -> IO () |
|
Using Evenly Spaced Coordinate Values
|
|
Defining a Grid
|
|
mapGrid1 :: Domain d => StateVar (GLint, (d, d)) |
|
mapGrid2 :: Domain d => StateVar ((GLint, (d, d)), (GLint, (d, d))) |
|
Evaluating a Whole Mesh
|
|
evalMesh1 :: PolygonMode -> (GLint, GLint) -> IO () |
|
evalMesh2 :: PolygonMode -> (GLint, GLint) -> (GLint, GLint) -> IO () |
|
Evaluating a Single Point on a Mesh
|
|
evalPoint1 :: GLint -> IO () |
|
evalPoint2 :: (GLint, GLint) -> IO () |
|
Normal Generation
|
|
autoNormal :: StateVar Capability |
|
Produced by Haddock version 0.8 |