| OpenGL-2.2.3.0: A binding for the OpenGL graphics system | Contents | Index

Graphics.Rendering.OpenGL.GL.PerFragment

Portability | portable
Stability | stable
Maintainer | sven.panne@aedion.de

Contents

Scissor Test
Multisample Fragment Operations
Depth Bounds Test
Alpha Test
Stencil Test
Depth Buffer Test
Occlusion Queries
Blending
Dithering
Logical Operation

Description
This module corresponds to section 4.1 (Per-Fragment Operations) of the OpenGL 2.1 specs.
Synopsis

scissor :: StateVar (Maybe (Position, Size))
sampleAlphaToCoverage :: StateVar Capability
sampleAlphaToOne :: StateVar Capability
sampleCoverage :: StateVar (Maybe (GLclampf, Bool))
depthBounds :: StateVar (Maybe (GLclampd, GLclampd))

data ComparisonFunction

= Never
| Less
| Equal
| Lequal
| Greater
| Notequal
| Gequal
| Always

alphaFunc :: StateVar (Maybe (ComparisonFunction, GLclampf))
stencilTest :: StateVar Capability
stencilFunc :: StateVar (ComparisonFunction, GLint, GLuint)
stencilFuncSeparate :: Face -> SettableStateVar (ComparisonFunction, GLint, GLuint)

data StencilOp

= OpZero
| OpKeep
| OpReplace
| OpIncr
| OpIncrWrap
| OpDecr
| OpDecrWrap
| OpInvert

stencilOp :: StateVar (StencilOp, StencilOp, StencilOp)
stencilOpSeparate :: Face -> SettableStateVar (StencilOp, StencilOp, StencilOp)
activeStencilFace :: StateVar (Maybe Face)
depthFunc :: StateVar (Maybe ComparisonFunction)
newtype QueryObject = QueryObject GLuint
data QueryTarget = SamplesPassed
withQuery :: QueryTarget -> QueryObject -> IO a -> IO a
beginQuery :: QueryTarget -> QueryObject -> IO ()
endQuery :: QueryTarget -> IO ()
queryCounterBits :: QueryTarget -> GettableStateVar GLsizei
currentQuery :: QueryTarget -> GettableStateVar (Maybe QueryObject)
queryResult :: QueryObject -> GettableStateVar GLuint
queryResultAvailable :: QueryObject -> GettableStateVar Bool
blend :: StateVar Capability

data BlendEquation

= FuncAdd
| FuncSubtract
| FuncReverseSubtract
| Min
| Max
| LogicOp

blendEquation :: StateVar BlendEquation
blendEquationSeparate :: StateVar (BlendEquation, BlendEquation)

data BlendingFactor

= Zero
| One
| SrcColor
| OneMinusSrcColor
| DstColor
| OneMinusDstColor
| SrcAlpha
| OneMinusSrcAlpha
| DstAlpha
| OneMinusDstAlpha
| ConstantColor
| OneMinusConstantColor
| ConstantAlpha
| OneMinusConstantAlpha
| SrcAlphaSaturate

blendFuncSeparate :: StateVar ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor))
blendFunc :: StateVar (BlendingFactor, BlendingFactor)
blendColor :: StateVar (Color4 GLclampf)
dither :: StateVar Capability

data LogicOp

= Clear
| And
| AndReverse
| Copy
| AndInverted
| Noop
| Xor
| Or
| Nor
| Equiv
| Invert
| OrReverse
| CopyInverted
| OrInverted
| Nand
| Set

logicOp :: StateVar (Maybe LogicOp)

Scissor Test
scissor :: StateVar (Maybe (Position, Size))
Multisample Fragment Operations
sampleAlphaToCoverage :: StateVar Capability
sampleAlphaToOne :: StateVar Capability
sampleCoverage :: StateVar (Maybe (GLclampf, Bool))
Depth Bounds Test
depthBounds :: StateVar (Maybe (GLclampd, GLclampd))
Alpha Test
data ComparisonFunction

Constructors

Never |
Less |
Equal |
Lequal |
Greater |
Notequal |
Gequal |
Always |

Instances

Eq ComparisonFunction |
Ord ComparisonFunction |
Show ComparisonFunction |

alphaFunc :: StateVar (Maybe (ComparisonFunction, GLclampf))
Stencil Test
stencilTest :: StateVar Capability
stencilFunc :: StateVar (ComparisonFunction, GLint, GLuint)
stencilFuncSeparate :: Face -> SettableStateVar (ComparisonFunction, GLint, GLuint)
data StencilOp

Constructors

OpZero |
OpKeep |
OpReplace |
OpIncr |
OpIncrWrap |
OpDecr |
OpDecrWrap |
OpInvert |

Instances

Eq StencilOp |
Ord StencilOp |
Show StencilOp |

stencilOp :: StateVar (StencilOp, StencilOp, StencilOp)
stencilOpSeparate :: Face -> SettableStateVar (StencilOp, StencilOp, StencilOp)
activeStencilFace :: StateVar (Maybe Face)
Depth Buffer Test
depthFunc :: StateVar (Maybe ComparisonFunction)
Occlusion Queries
newtype QueryObject

Constructors

QueryObject GLuint |

Instances

Eq QueryObject |
Ord QueryObject |
Show QueryObject |
ObjectName QueryObject |

data QueryTarget

Constructors

SamplesPassed |

Instances

Eq QueryTarget |
Ord QueryTarget |
Show QueryTarget |

withQuery :: QueryTarget -> QueryObject -> IO a -> IO a
Convenience function for an exception-safe combination of `beginQuery` and `endQuery`.
beginQuery :: QueryTarget -> QueryObject -> IO ()
endQuery :: QueryTarget -> IO ()
queryCounterBits :: QueryTarget -> GettableStateVar GLsizei
currentQuery :: QueryTarget -> GettableStateVar (Maybe QueryObject)
queryResult :: QueryObject -> GettableStateVar GLuint
queryResultAvailable :: QueryObject -> GettableStateVar Bool
Blending
blend :: StateVar Capability
data BlendEquation

Constructors

FuncAdd |
FuncSubtract |
FuncReverseSubtract |
Min |
Max |
LogicOp |

Instances

Eq BlendEquation |
Ord BlendEquation |
Show BlendEquation |

blendEquation :: StateVar BlendEquation
blendEquationSeparate :: StateVar (BlendEquation, BlendEquation)
data BlendingFactor

Constructors

Zero |
One |
SrcColor |
OneMinusSrcColor |
DstColor |
OneMinusDstColor |
SrcAlpha |
OneMinusSrcAlpha |
DstAlpha |
OneMinusDstAlpha |
ConstantColor |
OneMinusConstantColor |
ConstantAlpha |
OneMinusConstantAlpha |
SrcAlphaSaturate |

Instances

Eq BlendingFactor |
Ord BlendingFactor |
Show BlendingFactor |

blendFuncSeparate :: StateVar ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor))
blendFunc :: StateVar (BlendingFactor, BlendingFactor)
blendColor :: StateVar (Color4 GLclampf)
Dithering
dither :: StateVar Capability
Logical Operation
data LogicOp

Constructors

Clear |
And |
AndReverse |
Copy |
AndInverted |
Noop |
Xor |
Or |
Nor |
Equiv |
Invert |
OrReverse |
CopyInverted |
OrInverted |
Nand |
Set |

Instances

Eq LogicOp |
Ord LogicOp |
Show LogicOp |

logicOp :: StateVar (Maybe LogicOp)
Produced by Haddock version 2.7.2