Intersection test passed. First renders taking place.
[tuple-trace.git] / camera.lisp
blob3b6a2dca1646cc7b23573dd1ac41aecbf40ca8c6
1 (in-package :tuple-trace)
3 (defclass camera ()
4 ((position :accessor position-of :initarg :position)
5 (window :accessor window-of :initform (make-rect (rect-tuple -8.0 8.0 -5.0 5.0)))))
7 (defmethod window-left-of ((self camera))
8 (aref (window-of self) 0))
10 (defmethod window-right-of ((self camera))
11 (aref (window-of self) 1))
13 (defmethod window-top-of ((self camera))
14 (aref (window-of self) 2))
16 (defmethod window-bottom-of ((self camera))
17 (aref (window-of self) 3))
19 (defmethod window-width-of ((self camera))
20 (width (rect (window-of self))))
22 (defmethod window-height-of ((self camera))
23 (height (rect (window-of self))))
26 (defun make-camera (x y z)
27 (let ((result (make-instance 'camera :position (make-vector3d* x y z))))
28 result))