sig
type raster_face_cull = [ `Back | `Front ]
type raster =
Effect.raster = {
raster_face_cull : raster_face_cull option;
raster_multisample : bool;
}
val raster_default : raster
type depth_test =
[ `Always
| `Equal
| `Gequal
| `Greater
| `Lequal
| `Less
| `Nequal
| `Never ]
type depth =
Effect.depth = {
depth_test : depth_test option;
depth_write : bool;
depth_offset : float * float;
}
val depth_default : 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 blend_mul * blend_mul
| `Max
| `Min
| `Rev_sub of blend_mul * blend_mul
| `Sub of blend_mul * blend_mul ]
val blend_eq_default : blend_eq
type blend =
Effect.blend = {
blend : bool;
blend_rgb : blend_eq;
blend_a : blend_eq;
blend_cst : Gg.color;
}
val blend_default : blend
val blend_alpha : blend
type t = effect
val create :
?raster:raster ->
?depth:depth -> ?blend:blend -> ?uniforms:Uniform.set -> prog -> effect
val prog : effect -> prog
val uniforms : effect -> Uniform.set
val get_uniform : effect -> 'a uniform -> Uniform.value_untyped
val set_uniform : effect -> 'a uniform -> 'a -> unit
val raster : effect -> raster
val depth : effect -> depth
val blend : effect -> blend
val binfo : Lit.effect -> Lit.Renderer.Private.BInfo.t
val set_binfo : Lit.effect -> Lit.Renderer.Private.BInfo.t -> unit
end