/usr/lib/ocaml/lablgl/glArray.ml is in liblablgl-ocaml-dev 1:1.05-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | (* $Id: glArray.ml,v 1.6 2008-10-30 07:51:33 garrigue Exp $ *)
open Gl
open Raw
type kind = [`edge_flag | `texture_coord | `color | `index | `normal | `vertex ]
let check_static func f raw =
if not (Raw.static raw) then
invalid_arg ("GlArray." ^ func ^ " : buffer must be static");
f raw
external _edge_flag : [< `bitmap] Raw.t -> unit = "ml_glEdgeFlagPointer"
let edge_flag raw = check_static "edge_flag" _edge_flag raw
external _tex_coord :
[< `one | `two | `three | `four] ->
[< `short | `int | `float | `double] Raw.t -> unit
= "ml_glTexCoordPointer"
let tex_coord n = check_static "tex_coord" (_tex_coord n)
external _color :
[< `three | `four] ->
[< `byte | `ubyte | `short | `ushort | `int | `uint | `float | `double] Raw.t
-> unit
= "ml_glColorPointer"
let color n = check_static "color" (_color n)
external _index : [< `ubyte | `short | `int | `float | `double] Raw.t -> unit
= "ml_glIndexPointer"
let index raw = check_static "index" _index raw
external _normal : [< `byte | `short | `int | `float | `double] Raw.t -> unit
= "ml_glNormalPointer"
let normal raw = check_static "normal" _normal raw
external _vertex :
[< `two | `three | `four] -> [< `short | `int | `float | `double] Raw.t
-> unit
= "ml_glVertexPointer"
let vertex n = check_static "vertex" (_vertex n)
external enable : kind -> unit= "ml_glEnableClientState"
external disable : kind -> unit = "ml_glDisableClientState"
external element : int -> unit = "ml_glArrayElement"
external draw_arrays : GlDraw.shape -> first:int -> count:int -> unit
= "ml_glDrawArrays"
external draw_elements
: GlDraw.shape -> count:int -> [< `ubyte | `ushort | `uint] Raw.t -> unit
= "ml_glDrawElements"
|