sig
type loc = [ `Loc of string * int | `Unknown ]
val pp_loc : Format.formatter -> loc -> unit
type insert
val insert : ?loc:loc -> string -> insert
type lang = [ `GLSL of int | `GLSL_ES of int ]
type shader_stage =
[ `Compute
| `Fragment
| `Geometry
| `Tess_control
| `Tess_evaluation
| `Vertex ]
val pp_shader_stage : Format.formatter -> shader_stage -> unit
type shader = Prog.shader
val shader :
?lang:lang ->
?loc:loc -> ?inserts:insert list -> shader_stage -> string -> shader
val stage : shader -> shader_stage
val loc : shader -> loc
val lang : shader -> lang option
type source = string * (int * string) list
val source : ?lang:lang -> shader -> source
type t = prog
val create : ?name:string -> ?uset:Uniform.set -> shader list -> prog
val name : prog -> string
val uniforms : prog -> Uniform.set
val shaders : prog -> shader list
val binfo : Lit.prog -> Lit.Renderer.Private.BInfo.t
val set_binfo : Lit.prog -> Lit.Renderer.Private.BInfo.t -> unit
end