| OpenGL-2.4.0.1: A binding for the OpenGL graphics system | Source code | 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)) | Source

Multisample Fragment Operations

sampleAlphaToCoverage :: StateVar Capability | Source

sampleAlphaToOne :: StateVar Capability | Source

sampleCoverage :: StateVar (Maybe (GLclampf, Bool)) | Source

Depth Bounds Test

depthBounds :: StateVar (Maybe (GLclampd, GLclampd)) | Source

Alpha Test

data ComparisonFunction | Source

Constructors

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

Instances

Eq ComparisonFunction
Ord ComparisonFunction
Show ComparisonFunction

alphaFunc :: StateVar (Maybe (ComparisonFunction, GLclampf)) | Source

Stencil Test

stencilTest :: StateVar Capability | Source

stencilFunc :: StateVar (ComparisonFunction, GLint, GLuint) | Source

stencilFuncSeparate :: Face -> SettableStateVar (ComparisonFunction, GLint, GLuint) | Source

data StencilOp | Source

Constructors

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

Instances

Eq StencilOp
Ord StencilOp
Show StencilOp

stencilOp :: StateVar (StencilOp, StencilOp, StencilOp) | Source

stencilOpSeparate :: Face -> SettableStateVar (StencilOp, StencilOp, StencilOp) | Source

activeStencilFace :: StateVar (Maybe Face) | Source

Depth Buffer Test

depthFunc :: StateVar (Maybe ComparisonFunction) | Source

Occlusion Queries

newtype QueryObject | Source

Constructors

QueryObject GLuint |

Instances

Eq QueryObject
Ord QueryObject
Show QueryObject
ObjectName QueryObject

data QueryTarget | Source

Constructors

SamplesPassed |

Instances

Eq QueryTarget
Ord QueryTarget
Show QueryTarget

withQuery :: QueryTarget -> QueryObject -> IO a -> IO a | Source

Convenience function for an exception-safe combination of `beginQuery` and `endQuery`.

beginQuery :: QueryTarget -> QueryObject -> IO () | Source

endQuery :: QueryTarget -> IO () | Source

queryCounterBits :: QueryTarget -> GettableStateVar GLsizei | Source

currentQuery :: QueryTarget -> GettableStateVar (Maybe QueryObject) | Source

queryResult :: QueryObject -> GettableStateVar GLuint | Source

queryResultAvailable :: QueryObject -> GettableStateVar Bool | Source

Blending

blend :: StateVar Capability | Source

data BlendEquation | Source

Constructors

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

Instances

Eq BlendEquation
Ord BlendEquation
Show BlendEquation

blendEquation :: StateVar BlendEquation | Source

blendEquationSeparate :: StateVar (BlendEquation, BlendEquation) | Source

data BlendingFactor | Source

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

blendFunc :: StateVar (BlendingFactor, BlendingFactor) | Source

blendColor :: StateVar (Color4 GLclampf) | Source

Dithering

dither :: StateVar Capability | Source

Logical Operation

data LogicOp | Source

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

Produced by Haddock version 2.4.2