Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type Shader gs is os = SVList gs -> SVList is -> SVList os
- type Member x xs = IsMember x xs ~ True
- type Subset xs ys = TrueOrErr (IsSubset xs ys) ((((Text "\8216" :<>: ShowType xs) :<>: Text "\8217 is not a subset of \8216") :<>: ShowType ys) :<>: Text "\8217")
- type Equal xs ys = IsEqual xs ys ~ True
- type family Union (xs :: [*]) (ys :: [*]) where ...
- type family Insert y (xs :: [*]) where ...
- data SVList :: [*] -> * where
- class ShaderVar g where
- type ShaderVars = Set ShaderVar
- type BaseTypes g = GBaseTypes (Rep g)
- varPreName :: ShaderVar g => g -> String
- varBuild :: ShaderVar g => (forall x. ShaderType x => Int -> x) -> Proxy g -> g
- varToList :: ShaderVar g => (forall x. ShaderType x => Int -> x -> t) -> g -> [t]
- svFold :: (forall x. ShaderVar x => acc -> x -> acc) -> acc -> SVList xs -> acc
- svToList :: (forall x. ShaderVar x => x -> [y]) -> SVList xs -> [y]
- staticSVList :: ShaderVars xs => Proxy (xs :: [*]) -> (forall x. ShaderVar x => Proxy x -> x) -> SVList xs
Documentation
type Shader gs is os = SVList gs -> SVList is -> SVList os Source #
A function from a set of uniforms and a set of inputs (attributes or varyings) to a set of outputs (varyings). It can be used to represent a reusable piece of shader code, other than actual shaders.
type Subset xs ys = TrueOrErr (IsSubset xs ys) ((((Text "\8216" :<>: ShowType xs) :<>: Text "\8217 is not a subset of \8216") :<>: ShowType ys) :<>: Text "\8217") Source #
class ShaderVar g where Source #
varPreName :: g -> String Source #
varBuild :: (forall x. ShaderType x => Int -> x) -> Proxy g -> g Source #
varToList :: (forall x. ShaderType x => Int -> x -> t) -> g -> [t] Source #
type ShaderVars = Set ShaderVar Source #
A type-level set of ShaderVar
s.
varPreName :: ShaderVar g => g -> String Source #
staticSVList :: ShaderVars xs => Proxy (xs :: [*]) -> (forall x. ShaderVar x => Proxy x -> x) -> SVList xs Source #
Create a SVList
with a function.