Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type Shader gs is os = STList gs -> STList is -> STList os
- type Valid gs is os = (StaticList gs, StaticList is, StaticList os, StaticSTList gs, StaticSTList is, StaticSTList os)
- type Member x xs = IsMember x xs ~ True
- class AllTypeable xs
- class Subset xs ys
- type Equal xs ys = And (IsSubset xs ys) (IsSubset ys xs) ~ True
- type family Union xs ys
- type family Insert y xs
- data STList :: [*] -> * where
- stFold :: (forall x. (Typeable x, ShaderType x) => acc -> x -> acc) -> acc -> STList xs -> acc
- staticList :: StaticList xs => Proxy (xs :: [*]) -> (forall x. (Typeable x, ShaderType x) => x -> y) -> [y]
- staticSTList :: StaticSTList xs => Proxy (xs :: [*]) -> (forall x. (Typeable x, ShaderType x) => x -> x) -> STList xs
Documentation
type Shader gs is os = STList gs -> STList is -> STList os Source
A function from a (heterogeneous) set of uniforms and a set of inputs (attributes or varyings) to a set of outputs (varyings).
type Valid gs is os = (StaticList gs, StaticList is, StaticList os, StaticSTList gs, StaticSTList is, StaticSTList os) Source
The condition for a valid Shader
.
class AllTypeable xs Source
AllTypeable ([] *) | |
(Typeable * x, AllTypeable xs) => AllTypeable ((:) * x xs) |
data STList :: [*] -> * where Source
An heterogeneous set of ShaderType
s and Typeable
s.
stFold :: (forall x. (Typeable x, ShaderType x) => acc -> x -> acc) -> acc -> STList xs -> acc Source
staticList :: StaticList xs => Proxy (xs :: [*]) -> (forall x. (Typeable x, ShaderType x) => x -> y) -> [y] Source
staticSTList :: StaticSTList xs => Proxy (xs :: [*]) -> (forall x. (Typeable x, ShaderType x) => x -> x) -> STList xs Source