OGL-0.0.3: A context aware binding for the OpenGL graphics system

Portabilityportable
Stabilitystable
Maintainersven.panne@aedion.de

Graphics.Rendering.OGL.GL.Evaluators

Contents

Description

This module corresponds to section 5.1 (Evaluators) of the OpenGL 2.1 specs.

Synopsis

Evaluator-related Types

class Storable d => Domain d whereSource

Methods

evalCoord1 :: MonadGL m => d -> m ()Source

evalCoord1v :: MonadGL m => Ptr d -> m ()Source

evalCoord2 :: MonadGL m => (d, d) -> m ()Source

evalCoord2v :: MonadGL m => Ptr d -> m ()Source

data Domain d => MapDescriptor d Source

Instances

(Eq d, Domain d) => Eq (MapDescriptor d) 
(Ord d, Domain d) => Ord (MapDescriptor d) 
(Show d, Domain d) => Show (MapDescriptor d) 

Defining Evaluator Maps

One-dimensional Evaluator Maps

class Map1 m whereSource

Methods

withNewMap1 :: (ControlPoint c, Domain d) => MapDescriptor d -> (Ptr d -> GL ()) -> GL (m c d)Source

withMap1 :: (ControlPoint c, Domain d) => m c d -> (MapDescriptor d -> Ptr d -> GL a) -> GL aSource

newMap1 :: (ControlPoint c, Domain d) => (d, d) -> [c d] -> GL (m c d)Source

getMap1Components :: (ControlPoint c, Domain d) => m c d -> GL ((d, d), [c d])Source

Instances

data (ControlPoint c, Domain d) => GLmap1 c d Source

Instances

Map1 GLmap1 
(Eq d, Domain d, ControlPoint c) => Eq (GLmap1 c d) 
(Ord d, Domain d, ControlPoint c) => Ord (GLmap1 c d) 
(Show d, Domain d, ControlPoint c) => Show (GLmap1 c d) 

map1 :: (Map1 m, ControlPoint c, Domain d) => StateVar (Maybe (m c d))Source

Two-dimensional Evaluator Maps

class Map2 m whereSource

Methods

withNewMap2 :: (ControlPoint c, Domain d) => MapDescriptor d -> MapDescriptor d -> (Ptr d -> GL ()) -> GL (m c d)Source

withMap2 :: (ControlPoint c, Domain d) => m c d -> (MapDescriptor d -> MapDescriptor d -> Ptr d -> GL a) -> GL aSource

newMap2 :: (ControlPoint c, Domain d) => (d, d) -> (d, d) -> [[c d]] -> GL (m c d)Source

getMap2Components :: (ControlPoint c, Domain d) => m c d -> GL ((d, d), (d, d), [[c d]])Source

Instances

data (ControlPoint c, Domain d) => GLmap2 c d Source

Instances

Map2 GLmap2 
(Eq d, Domain d, ControlPoint c) => Eq (GLmap2 c d) 
(Ord d, Domain d, ControlPoint c) => Ord (GLmap2 c d) 
(Show d, Domain d, ControlPoint c) => 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

Using Evenly Spaced Coordinate Values

Defining a Grid

mapGrid2 :: Domain d => StateVar ((GLint, (d, d)), (GLint, (d, d)))Source

Evaluating a Whole Mesh

Evaluating a Single Point on a Mesh

Normal Generation