Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype Draw a = Draw {}
- data DrawState = DrawState {
- program :: Maybe (Program [] [])
- loadedProgram :: Maybe LoadedProgram
- programs :: ResMap (Program [] []) LoadedProgram
- uniforms :: ResMap (LoadedProgram, String) UniformLocation
- gpuMeshes :: ResMap (Geometry []) GPUGeometry
- textureImages :: ResMap TextureImage LoadedTexture
- activeTextures :: Vector (Maybe Texture)
- newtype UniformLocation = UniformLocation UniformLocation
- data Texture
- data TextureImage
- data LoadedTexture = LoadedTexture GLSize GLSize Texture
- data Geometry is = Geometry (AttrList is) [Word16] Int
- data Object gs is where
- ObjectEmpty :: Object gs is
- ObjectMesh :: Geometry is -> Object gs is
- ObjectGlobal :: (Typeable g, UniformCPU c g) => g -> Draw c -> Object gs is -> Object gs' is
- ObjectAppend :: Object gs is -> Object gs' is' -> Object gs'' is''
- data Layer
- data SubLayerType
Documentation
data DrawState
The state of the Draw
monad.
DrawState | |
|
data TextureImage
data Geometry is
A set of attributes and indices.
data Object gs is where
An object is a set of geometries associated with some uniforms. For
example, if you want to draw a rotating cube, its vertices, normals, etc.
would be the Geometry
, the combination of the geometry and the value of the
model matrix would be the Object
, and the combination of the object with
a Program
would be the Layer
. In fact, Object
s are just descriptions
of the actions to perform to draw something. Instead, the Element types in
FWGL.Graphics.D2 and FWGL.Graphics.D3 represent managed (high level) objects,
and they are ultimately converted to them.
ObjectEmpty :: Object gs is | |
ObjectMesh :: Geometry is -> Object gs is | |
ObjectGlobal :: (Typeable g, UniformCPU c g) => g -> Draw c -> Object gs is -> Object gs' is | |
ObjectAppend :: Object gs is -> Object gs' is' -> Object gs'' is'' |
data Layer
An object associated with a program. It can also be a layer included in another.