`sig
val get_string : [ `extensions | `renderer | `vendor | `version ] -> string
val check_extension : string -> bool
type equation = float * float * float * float
val clip_plane : plane:int -> GlMisc.equation -> unit
type hint_target =
[ `fog
| `line_smooth
| `perspective_correction
| `point_smooth
| `polygon_smooth ]
val hint :
GlMisc.hint_target -> [ `dont_care | `fastest | `nicest ] -> unit
val init_names : unit -> unit
val load_name : int -> unit
val push_name : int -> unit
val pop_name : unit -> unit
type attrib =
[ `accum_buffer
| `color_buffer
| `current
| `depth_buffer
| `enable
| `eval
| `fog
| `hint
| `lighting
| `line
| `list
| `pixel_mode
| `point
| `polygon
| `polygon_stipple
| `scissor
| `stencil_buffer
| `texture
| `transform
| `viewport ]
val push_attrib : GlMisc.attrib list -> unit
val pop_attrib : unit -> unit
val render_mode : [ `feedback | `render | `select ] -> int
val pass_through : float -> unit
val select_buffer : [ `uint ] Raw.t -> unit
type feedback_mode =
[ `_2d | `_3d | `_3d_color | `_3d_color_texture | `_4d_color_texture ]
val feedback_buffer : mode:GlMisc.feedback_mode -> [ `float ] Raw.t -> unit
val scissor : x:int -> y:int -> width:int -> height:int -> unit
end`