| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
FWGL.Graphics.Types
- 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
- newtype UniformLocation = UniformLocation UniformLocation
- data Texture
- data TextureImage
- data LoadedTexture = LoadedTexture GLSize GLSize Texture
- data Geometry is = Geometry (AttrList is) [Word16] Int
- data Mesh is where
- data Object gs is where
- ObjectEmpty :: Object gs is
- ObjectMesh :: Mesh 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
Documentation
data DrawState
The state of the Draw monad.
Constructors
| DrawState | |
Fields
| |
newtype UniformLocation
Constructors
| UniformLocation UniformLocation |
data TextureImage
Constructors
| TexturePixels [Color] GLSize GLSize Int | |
| TextureURL String Int |
Instances
data LoadedTexture
Constructors
| LoadedTexture GLSize GLSize Texture |
data Geometry is
A set of attributes and indices.
data Mesh is where
A static or dinamic geometry.
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, Objects 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.
Constructors
| ObjectEmpty :: Object gs is | |
| ObjectMesh :: Mesh 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'' |