Add bounds checking
[llpp.git] / lablGL / glMisc.mli
blob763eeb013d24c14ac07ed51dd739dd0c37fc0d53
1 (* $Id: glMisc.mli,v 1.6 2008-10-25 02:22:58 garrigue Exp $ *)
3 (* Getting information *)
4 val get_string : [`vendor|`renderer|`version|`extensions] -> string
5 val check_extension : string -> bool
7 (* Clipping planes *)
8 type equation = float * float * float * float
9 val clip_plane : plane:int -> equation -> unit
11 (* Speed hint *)
12 type hint_target =
13 [`fog|`line_smooth|`perspective_correction|`point_smooth|`polygon_smooth]
14 val hint : hint_target -> [`fastest|`nicest|`dont_care] -> unit
16 (* Names *)
17 val init_names : unit -> unit
18 val load_name : int -> unit
19 val push_name : int -> unit
20 val pop_name : unit -> unit
22 type attrib =
23 [ `accum_buffer|`color_buffer|`current|`depth_buffer|`enable|`eval|`fog
24 | `hint|`lighting|`line|`list|`pixel_mode|`point|`polygon|`polygon_stipple
25 | `scissor|`stencil_buffer|`texture|`transform|`viewport ]
26 val push_attrib : attrib list -> unit
27 val pop_attrib : unit -> unit
29 val render_mode : [`feedback|`render|`select] -> int
30 val pass_through : float -> unit
31 val select_buffer : [`uint] Raw.t -> unit
32 (* argument must be a static Raw.t *)
33 type feedback_mode =
34 [`_2d |`_3d |`_3d_color |`_3d_color_texture |`_4d_color_texture]
35 val feedback_buffer : mode:feedback_mode -> [`float] Raw.t -> unit
36 (* argument must be a static Raw.t *)
38 val scissor : x:int -> y:int -> width:int -> height:int -> unit