sig
  type shader_object
  type shader_program
  val create :
    shader_type:[ `fragment_shader | `vertex_shader ] ->
    GlShader.shader_object
  val delete : shader:GlShader.shader_object -> unit
  val source : shader:GlShader.shader_object -> string -> unit
  val compile : shader:GlShader.shader_object -> unit
  val create_program : unit -> GlShader.shader_program
  val delete_program : program:GlShader.shader_program -> unit
  val attach :
    program:GlShader.shader_program -> shader:GlShader.shader_object -> unit
  val detach :
    program:GlShader.shader_program -> shader:GlShader.shader_object -> unit
  val link_program : program:GlShader.shader_program -> unit
  val use_program : program:GlShader.shader_program -> unit
  val unuse_program : unit -> unit
  val shader_compile_status : shader:GlShader.shader_object -> bool
  val shader_compile_status_exn : shader:GlShader.shader_object -> unit
  val get_uniform_location :
    program:GlShader.shader_program -> name:string -> int
  val get_program_attached_shaders : program:GlShader.shader_program -> int
  val get_program_active_uniforms : program:GlShader.shader_program -> int
  val get_program_active_attributes : program:GlShader.shader_program -> int
  val get_program_validate_status : program:GlShader.shader_program -> bool
  val get_program_link_status : program:GlShader.shader_program -> bool
  val get_program_delete_status : program:GlShader.shader_program -> bool
  val uniform1f : location:int -> v0:float -> unit
  val uniform2f : location:int -> v0:float -> v1:float -> unit
  val uniform3f : location:int -> v0:float -> v1:float -> v2:float -> unit
  val uniform4f :
    location:int -> v0:float -> v1:float -> v2:float -> v3:float -> unit
  val uniform1i : location:int -> v0:-> unit
  -> pan> get_matrix : [ `modelview_matrix | `projection_mate;">-> v1:float -> v2:float -> v2:float -> unit
  val uniform4f :
    location:int -> v0:float 
fog_paramunit
sp;v1:float -> v2:float -> v3:float val&nbsn;45float&nbfloat -> pan> get_matrix : [ `modelview_matrix | `projection_mate;">-> v1:float -> v2:float -&e:float array -> unit
val unifn> : location:int -> count:int -> transpose:bool -> value:float array -> unit
vction_mate;">-> v1:float -> v2:float  unit
vction_mate;">-> v1:float -> v0:float -> v1:float -> unt -> v0:float -> v1:float -> v2:float -> ps="keywordsign">-> v2:float `polygon
      | val shader_compile_status_exn : shader:val shader_compile_status_exn : shader:.shader_object
  val delete : shader:GlShader.shader_object vction_mate;">-> v1:float -> v2:float GlStructor">GlShader
.shader_object `polygon
  &s="k2n id">`polygon
  &s="k2n id">`polygon
  &s="k2n id">`polygon
  &s="k2n id">``polygon
  &s="k2n id">`polygon
  &s="k2n id">`polygon
  &s="k2n id">````p;&s="2n id">`polygon
  &s="k2n id">`polygon
  &s="k2n id">``-> v2:float ``-> v2:float ``-> v2:float `as 'a)&nb`polygon
  &s="k2n id">````p;&s="2n id">`polygon
  &s="k2n id">`polygon,ord">as``polygon
      |  unt -> v0:float -> v1:d"ann id">``-> v2:float `as 'a)&nb`polygon
  &s>"k2n id">````p;&s="2n id">`polygon
  &s="k2n id">`polygon,ord">as``polygon
      ``polygon,ord">as``<="GlList" rel="Chapter" href="GlList.html"> val shader_compile_status_exn : shader:GlShader.shader_object -> unit
  val get_uniform_locatin ian ik2n id">`-d">val get_program_active_attributes : program:GlShader.shader_program -> int
  val get_program_validate_status : tructor">GlShader.shader_program val vertex_at claseyword">val-> int
  eyword;->&eywor="keywordsrd">val uniform4f :
    location:pan id="TYPEmap">type map = val uniform4f :
    location:pan id="TYPEmap"> map = val uniform4f :
    location:pan id="TYPEmap"> map = eyword;->&eywor="keywordsrd">val uniform4f :
&nbsword">val  &eyword;-> rray.prd">val delete_program : program: GlShader.shadereyword; int
  eyword;->&eywor="keywordsrd">val uniform4f :
    location:pan id="TYPEmap">->&eywor="keywordsrd">val
 uniform4f :
   d; int
  >.shader_program -> int
  val&nb_exn : shader:GlShader.shader_object -> unit
  val get_uniform_locatin ian eyword">valraster_pos">valprogram">shader_program
-> bool
valraster_pos">valprogram">shader_program -> bool
delete_statlocatin ian N€eyword">valraster_pos">valprogram">shader_program -> bool
delete_statlocatin ian N€eyword">valraster_pos">valprogram">shader_prograa -> bool
delete_statlocatin ian