sig
type raster_face_cull = [ `Back | `Front ]
type raster = {
raster_face_cull : Lit.Effect.raster_face_cull option;
raster_multisample : bool;
}
val raster_default : Lit.Effect.raster
type depth_test =
[ `Always
| `Equal
| `Gequal
| `Greater
| `Lequal
| `Less
| `Nequal
| `Never ]
type depth = {
depth_test : Lit.Effect.depth_test option;
depth_write : bool;
depth_offset : float * float;
}
val depth_default : Lit.Effect.depth
type blend_mul =
[ `Cst
| `Cst_a
| `Dst
| `Dst_a
| `One
| `One_minus_cst
| `One_minus_cst_a
| `One_minus_dst
| `One_minus_dst_a
| `One_minus_src
| `One_minus_src1
| `One_minus_src1_a
| `One_minus_src_a
| `Src
| `Src1
| `Src1_a
| `Src_a
| `Src_a_saturate
| `Zero ]
type blend_eq =
[ `Add of Lit.Effect.blend_mul * Lit.Effect.blend_mul
| `Max
| `Min
| `Rev_sub of Lit.Effect.blend_mul * Lit.Effect.blend_mul
| `Sub of Lit.Effect.blend_mul * Lit.Effect.blend_mul ]
val blend_eq_default : Lit.Effect.blend_eq
type blend = {
blend : bool;
blend_rgb : Lit.Effect.blend_eq;
blend_a : Lit.Effect.blend_eq;
blend_cst : Gg.color;
}
val blend_default : Lit.Effect.blend
val blend_alpha : Lit.Effect.blend
type t = Lit.effect
val create :
?raster:Lit.Effect.raster ->
?depth:Lit.Effect.depth ->
?blend:Lit.Effect.blend ->
?uniforms:Lit.Uniform.set -> Lit.prog -> Lit.effect
val prog : Lit.effect -> Lit.prog
val uniforms : Lit.effect -> Lit.Uniform.set
val get_uniform : Lit.effect -> 'a Lit.uniform -> Lit.Uniform.value_untyped
val set_uniform : Lit.effect -> 'a Lit.uniform -> 'a -> unit
val raster : Lit.effect -> Lit.Effect.raster
val depth : Lit.effect -> Lit.Effect.depth
val blend : Lit.effect -> Lit.Effect.blend
end