`sig
val color : ?alpha:float -> Gl.rgb -> unit
val index : float -> unit
val cull_face : Gl.face -> unit
val front_face : [ `ccw | `cw ] -> unit
val edge_flag : bool -> unit
val line_width : float -> unit
val line_stipple : ?factor:int -> Gl.short -> unit
val point_size : float -> unit
val polygon_offset : factor:float -> units:float -> unit
val polygon_mode : face:Gl.face -> [ `fill | `line | `point ] -> unit
val polygon_stipple : GlPix.bitmap -> unit
val shade_model : [ `flat | `smooth ] -> unit
val normal : ?x:float -> ?y:float -> ?z:float -> unit -> unit
val normal3 : Gl.vect3 -> unit
val rect : Gl.point2 -> Gl.point2 -> unit
type shape =
[ `line_loop
| `line_strip
| `lines
| `points
| `polygon
| `quad_strip
| `quads
| `triangle_fan
| `triangle_strip
| `triangles ]
val begins : GlDraw.shape -> unit
val ends : unit -> unit
val vertex : x:float -> y:float -> ?z:float -> ?w:float -> unit -> unit
val vertex2 : Gl.point2 -> unit
val vertex3 : Gl.point3 -> unit
val vertex4 : Gl.point4 -> unit
val viewport : x:int -> y:int -> w:int -> h:int -> unit
end`