Stability | experimental |
---|---|
Maintainer | conal@conal.net |
Generate and compile vertex and fragment shaders.
In this version, shader programs are represented by functions function a single expression to a single expression. See also CompileEs, which allows functions between more flexible representations.
Documentation
For building vertex/fragment shader pairs. The idea is that a
complete parameterized shader program has type u :=> a :- v :--> o
,
which expands to u :=> (a :-^> v, v :-* o)
.
u == uniform, a == (vertex) attribute, v == varying, o == fragment output.
When o == ()
(color-only output), use the short-hand u :=> a :-> v
.
General vertex/fragment shader pair.
forall v . (HasType v, HasExpr v, PrettyPrec v) => ShaderVF (a :-^ v) (v :-* o) |
GLSL vertex program, fragment program, uniform and vertex attribute.