Safe Haskell | None |
---|---|
Language | Haskell98 |
Graphics.GLUtil.TypeMapping
Description
This module contains classes and functions to relate Haskell types with OpenGL DataTypes (typically used to describe the values stored in arrays) and VariableTypes (used as attributes and uniforms in GLSL programs).
- class HasVariableType a where
- variableDataType :: VariableType -> DataType
- class Storable a => HasGLType a where
Documentation
class HasVariableType a where Source #
A mapping from Haskell types to values of VariableType
. This
defines how Haskell values may be mapped to values that may be
bound to GLSL variables.
Minimal complete definition
Methods
variableType :: a -> VariableType Source #
Instances
HasVariableType Float Source # | |
HasVariableType Int32 Source # | |
HasVariableType Word32 Source # | |
HasVariableType t => HasVariableType [t] Source # | |
HasVariableType (V4 Int32) Source # | |
HasVariableType (V4 Word32) Source # | |
HasVariableType (V4 GLfloat) Source # | |
HasVariableType (V3 Int32) Source # | |
HasVariableType (V3 Word32) Source # | |
HasVariableType (V3 GLfloat) Source # | |
HasVariableType (V2 Int32) Source # | |
HasVariableType (V2 Word32) Source # | |
HasVariableType (V2 GLfloat) Source # | |
HasVariableType (V1 Int32) Source # | |
HasVariableType (V1 Word32) Source # | |
HasVariableType (V1 GLfloat) Source # | |
HasVariableType (M44 GLfloat) Source # | |
HasVariableType (M33 GLfloat) Source # | |
HasVariableType (M22 GLfloat) Source # | |
variableDataType :: VariableType -> DataType Source #
Maps each VariableType
to its corresponding
DataType
. Typically this indicates the element type of composite
variable types (e.g. variableDataType FloatVec2 = Float
). Note
that this is a partial mapping as we are primarily supporting the
use of these types as inputs to GLSL programs where types such as
Bool are not supported.