ombra-0.1.1.0: Render engine.

Safe HaskellNone
LanguageHaskell2010

Graphics.Rendering.Ombra.Types

Synopsis

Documentation

newtype Draw a Source #

A state monad on top of GL.

Constructors

Draw 

Fields

Instances

Monad Draw Source # 

Methods

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

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

return :: a -> Draw a #

fail :: String -> Draw a #

Functor Draw Source # 

Methods

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

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

Applicative Draw Source # 

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

Methods

liftIO :: IO a -> Draw a #

data Texture Source #

A texture.

Instances

data Filter Source #

Constructors

Linear

Average of the four nearest pixels.

Nearest

Nearest pixel.

Instances

Eq Filter Source # 

Methods

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

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

data Geometry is Source #

A set of attributes and indices.

Constructors

Geometry (AttrList is) [Word16] Int 

Instances

Eq (Geometry is) Source # 

Methods

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

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

Hashable (Geometry is) Source # 

Methods

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

hash :: Geometry is -> Int #

data Group gs is where Source #

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

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

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

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

Represents a Layer drawn on a Texture.