ombra-0.1.1.0: Render engine.

Safe HaskellNone
LanguageHaskell2010

Graphics.Rendering.Ombra.Types

Synopsis

Documentation

newtype Draw a #

A state monad on top of GL.

Constructors

Draw 

Fields

Instances

Monad Draw # 

Methods

(>>=) :: Draw a -> (a -> Draw b) -> Draw b #

(>>) :: Draw a -> Draw b -> Draw b #

return :: a -> Draw a #

fail :: String -> Draw a #

Functor Draw # 

Methods

fmap :: (a -> b) -> Draw a -> Draw b #

(<$) :: a -> Draw b -> Draw a #

Applicative Draw # 

Methods

pure :: a -> Draw a #

(<*>) :: Draw (a -> b) -> Draw a -> Draw b #

(*>) :: Draw a -> Draw b -> Draw b #

(<*) :: Draw a -> Draw b -> Draw a #

MonadIO Draw # 

Methods

liftIO :: IO a -> Draw a #

data Texture #

A texture.

Instances

GLES => Eq Texture # 

Methods

(==) :: Texture -> Texture -> Bool #

(/=) :: Texture -> Texture -> Bool #

data Filter #

Constructors

Linear

Average of the four nearest pixels.

Nearest

Nearest pixel.

Instances

Eq Filter # 

Methods

(==) :: Filter -> Filter -> Bool #

(/=) :: Filter -> Filter -> Bool #

data Geometry is #

A set of attributes and indices.

Constructors

Geometry (AttrList is) [Word16] Int 

Instances

Eq (Geometry is) # 

Methods

(==) :: Geometry is -> Geometry is -> Bool #

(/=) :: Geometry is -> Geometry is -> Bool #

Hashable (Geometry is) # 

Methods

hashWithSalt :: Int -> Geometry is -> Int #

hash :: Geometry is -> Int #

data Group gs is where #

A group of Objects.

Constructors

Empty :: Group gs is 
Object :: Object gs is -> Group gs is 
Global :: Global g -> Group gs is -> Group (g ': gs) is 
Append :: Group gs is -> Group gs' is' -> Group gs'' is'' 
Blend :: Maybe Mode -> Group gs is -> Group gs is 
Stencil :: Maybe Mode -> Group gs is -> Group gs is 
Cull :: Maybe CullFace -> Group gs is -> Group gs is 
DepthTest :: Bool -> Group gs is -> Group gs is 
DepthMask :: Bool -> Group gs is -> Group gs is 
ColorMask :: (Bool, Bool, Bool, Bool) -> Group gs is -> Group gs is 

data Object gs is where #

A geometry associated with some uniforms.

Constructors

(:~>) :: Global g -> Object gs is -> Object (g ': gs) is infixr 2 
Mesh :: Geometry is -> Object '[] is 
NoMesh :: Object '[] '[] 

data Global g where #

The value of a GPU uniform.

Constructors

(:=) :: (ShaderVar g, Uniform S g) => (a -> g) -> Draw (CPU S g) -> Global g infix 3 
Mirror :: (ShaderVar g, Uniform M g) => Proxy g -> Draw (CPU M g) -> Global g 

data Layer #

A Group associated with a program.

Constructors

(Subset pi oi, Subset pg og) => Layer (Program pg pi) (Group og oi) 
SubLayer (RenderLayer Layer) 
OverLayer Layer Layer 
ClearLayer [Buffer] Layer 

data RenderLayer a #

Represents a Layer drawn on a Texture.

data CullFace #

Instances