|
| 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 |