File: glLight.ml

package info (click to toggle)
lablgl 0.97-3
  • links: PTS
  • area: main
  • in suites: woody
  • size: 1,284 kB
  • ctags: 3,880
  • sloc: ansic: 12,953; ml: 3,037; tcl: 328; makefile: 222; sh: 1
file content (48 lines) | stat: -rw-r--r-- 1,275 bytes parent folder | download
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
(* $Id: glLight.ml,v 1.5 2000/04/03 02:57:41 garrigue Exp $ *)

open Gl

type color_material =
    [`emission|`ambient|`diffuse|`specular|`ambient_and_diffuse]
external color_material : face:face -> color_material -> unit
    = "ml_glColorMaterial"

type fog_param = [
    `mode of [`linear|`exp|`exp2]
  | `density of float
  | `start of float
  | `End of float
  | `index of float
  | `color of rgba
]
external fog : fog_param -> unit = "ml_glFog"

type light_param = [
    `ambient of rgba
  | `diffuse of rgba
  | `specular of rgba
  | `position of point4
  | `spot_direction of point3
  | `spot_exponent of float
  | `spot_cutoff of float
  | `constant_attenuation of float
  | `linear_attenuation of float
  | `quadratic_attenuation of float
]
external light : num:int -> light_param -> unit
    = "ml_glLight"
type light_model_param =
    [ `ambient of rgba | `local_viewer of float | `two_side of bool ]
external light_model : light_model_param -> unit = "ml_glLightModel"

type material_param = [
    `ambient of rgba
  | `diffuse of rgba
  | `specular of rgba
  | `emission of rgba
  | `shininess of float
  | `ambient_and_diffuse of rgba
  | `color_indexes of (float * float * float)
]
external material : face:face -> material_param -> unit
    = "ml_glMaterial"