Sourcetype rgb = float * float * float Sourcetype light = | Sun of {towards : Vec3.t;color : rgb;
}| Lamp of {position : Vec3.t;radius : float;color : rgb;
}| Spot of {position : Vec3.t;aim : Vec3.t;angle : float;falloff : float;color : rgb;
}
Sourcetype algorithm = | Ray_casting| Lambert| Shadow_rays| Whitted| Soft_shadows| Path_tracing
Sourcetype options = {algorithm : algorithm;epsilon : float;acceleration : acceleration;depth : int;cutoff : float;samples : int;seed : int;
} Sourceval camera_ray_through :
Camera.t ->
width:int ->
height:int ->
float ->
float ->
Ray.t * float * float Sourceval camera_ray :
Camera.t ->
width:int ->
height:int ->
x:int ->
y:int ->
Ray.t * float * float Sourceval schlick : n1:float -> n2:float -> float -> float Sourceval pixel : world -> width:int -> height:int -> x:int -> y:int -> int