module Scene: sig .. end
Provides basic scene graph functionality.
type render_context = float * float
render_context is
(jitter_x, jittery_y), which is used
for antialiasing. Most nodes will ignore this or
pass it off to any child nodes.
Implementations of
Scene.camera should
use these values to jitter the perspective slightly
as described in the Red Book chapter on antialiasing
with the accumulation buffer.
class virtual scene_node : object .. end
Interface to a node in the scene graph.
class virtual camera : object .. end
Interface defining a camera position.
val null_camera : camera
A camera at the origin facing along the negative Z axis.
class stationary_camera : object .. end
A basic camera;;;
Warning! This code is untested!
class ['a] observer : object .. end
class ['a] subject : object .. end
class displacement : ?x:float -> ?y:float -> ?z:float -> child:< draw_scene : 'a; .. > -> unit -> object .. end
A node that displaces its child.
class virtual scaleable : object .. end
Interface to nodes that have a changeable float attribute.
class virtual scaleable_2d : object .. end
class scene_node_collection : object .. end
class ['a] affector : object .. end
val null_scene_node : scene_node