From 140e9b0c96754bf60bcc3fa2bf12292e7787fe44 Mon Sep 17 00:00:00 2001 From: jsancho Date: Fri, 28 Aug 2009 11:29:45 +0000 Subject: [PATCH] --- gacela_draw.lisp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/gacela_draw.lisp b/gacela_draw.lisp index 364163b..d957cd7 100644 --- a/gacela_draw.lisp +++ b/gacela_draw.lisp @@ -14,10 +14,17 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with this program. If not, see . - (in-package :gacela) -(defmacro set-dimension (&key 2d 3d)) +(let ((mode '2d)) + (defun 2d-mode () + (setq mode '2d)) + + (defun 3d-mode () + (setq mode '3d)) + + (defun 3d-mode? () + (eq mode '3d))) (defun draw (&rest vertexes) (begin-draw (length vertexes)) @@ -34,9 +41,13 @@ (draw-vertexes (cdr vertexes))))) (defun draw-vertex (vertex &key texture-coord) - (cond ((consp (car vertex)) (draw-color (car vertex)) (apply #'glVertex3f (cadr vertex))) + (cond ((consp (car vertex)) (draw-color (car vertex)) (apply #'simple-draw-vertex (cadr vertex))) (t (cond (texture-coord (apply #'glTexCoord2f texture-coord))) - (apply #'glVertex3f vertex)))) + (apply #'simple-draw-vertex vertex)))) + +(defun simple-draw-vertex (x y &optional (z 0)) + (cond ((3d-mode?) (glVertex3f x y z)) + (t (glVertex2f x y)))) (defun draw-color (color) (apply #'glColor3f color)) -- 2.39.2