Fixing bug in engine. Used arrays when tuples should have been used.
[tuple-trace.git] / camera.lisp
blob5f3f41f783fd025bcb018e891c12e8fd475b3bc1
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))