X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=gacela_draw.lisp;fp=gacela_draw.lisp;h=4b6f58fb126ec746a7c6b0b9d995226ae29bc03e;hb=862921d72ab5a90aee46074c40da8c0688a3a20d;hp=fd2a7174d8ed7eabf7c5fd591565251e9cd25381;hpb=ee0ee8aa7b6140f964ef3b04828f4144f831fcd4;p=gacela.git diff --git a/gacela_draw.lisp b/gacela_draw.lisp index fd2a717..4b6f58f 100644 --- a/gacela_draw.lisp +++ b/gacela_draw.lisp @@ -17,10 +17,14 @@ (in-package :gacela) (defmacro with-color (color &body code) - `(let ((original-color (get-current-color))) - (apply #'set-current-color ,color) - ,@code - (apply #'set-current-color original-color))) + (cond (color + `(let ((original-color (get-current-color))) + (apply #'set-current-color ,color) + ,@code + (apply #'set-current-color original-color))) + (t + `(progn + ,@code)))) (defmacro progn-textures (&body code) `(let (values) @@ -105,7 +109,8 @@ (draw-rectangle (* f width) (* f height) :texture texture))))))) (defun draw-quad (v1 v2 v3 v4 &key texture) - (cond (texture + (cond ((consp texture) (with-color texture (draw v1 v2 v3 v4))) + (texture (progn-textures (glBindTexture GL_TEXTURE_2D (getf (get-resource texture) :id-texture)) (begin-draw 4)