(let ((rtri 0) (rquad 0)) (defun game () (glTranslatef -1.5 0 -10) (glRotatef rtri 0 1 0) (draw '((1 0 0) (0 1 0)) '((0 1 0) (-1 -1 1)) '((0 0 1) (1 -1 1))) (draw '((1 0 0) (0 1 0)) '((0 0 1) (1 -1 1)) '((0 1 0) (1 -1 -1))) (draw '((1 0 0) (0 1 0)) '((0 1 0) (1 -1 -1)) '((0 0 1) (-1 -1 -1))) (draw '((1 0 0) (0 1 0)) '((0 0 1) (-1 -1 -1)) '((0 1 0) (-1 -1 1))) (glTranslatef 3 0 0) (glRotatef rquad 1 0 0) (draw-color '(0 1 0)) (draw '(1 1 -1) '(-1 1 -1) '(-1 1 1) '(1 1 1)) (draw-color '(1 0.5 0)) (draw '(1 -1 1) '(-1 -1 1) '(-1 -1 -1) '(1 -1 -1)) (draw-color '(1 0 0)) (draw '(1 1 1) '(-1 1 1) '(-1 -1 1) '(1 -1 1)) (draw-color '(1 1 0)) (draw '(1 -1 -1) '(-1 -1 -1) '(-1 1 -1) '(1 1 -1)) (draw-color '(0 0 1)) (draw '(-1 1 1) '(-1 1 -1) '(-1 -1 -1) '(-1 -1 1)) (draw-color '(1 0 1)) (draw '(1 1 -1) '(1 1 1) '(1 -1 1) '(1 -1 -1)) (incf rtri 0.2) (incf rquad -0.15))) (let ((rquad 0) (texture (load-texture "../nehe/lesson06/data/nehe.bmp"))) (defun cube-texture () (glTranslatef -1.5 0 -10) (glRotatef rquad 0 1 0) (draw-quad '(1 1 -1) '(-1 1 -1) '(-1 1 1) '(1 1 1) :texture texture) (draw-quad '(1 -1 1) '(-1 -1 1) '(-1 -1 -1) '(1 -1 -1) :texture texture) (draw-quad '(1 1 1) '(-1 1 1) '(-1 -1 1) '(1 -1 1) :texture texture) (draw-quad '(1 -1 -1) '(-1 -1 -1) '(-1 1 -1) '(1 1 -1) :texture texture) (draw-quad '(-1 1 1) '(-1 1 -1) '(-1 -1 -1) '(-1 -1 1) :texture texture) (draw-quad '(1 1 -1) '(1 1 1) '(1 -1 1) '(1 -1 -1) :texture texture) (incf rquad 0.2))) (let ((xrot 0) (yrot 0) (zrot 0) (texture (load-texture "../nehe/lesson07/data/crate.bmp")) (light (add-light :light '(1 1 1 1) :position '(0 0 2 1) :ambient '(0.5 0.5 0.5 1)))) (defun quad () (glLoadIdentity) (glColor3f 1 1 1) (glEnable GL_TEXTURE_2D) (glTranslatef -2 0 -13) (rotate xrot yrot zrot) (draw-cube :size 1 :texture texture) (incf xrot 0.3) (incf yrot 0.2) (incf zrot 0.4))) (let ((xrot 0) (yrot 0) (zrot 0) (texture (load-texture "../nehe/lesson08/data/glass.bmp"))) (defun quad2 () (glLoadIdentity) (glColor3f 1 1 1) (glEnable GL_TEXTURE_2D) (glTranslatef 2 0 -13) (rotate xrot yrot zrot) (draw-cube :size 1 :texture texture) (incf xrot -0.3) (incf yrot -0.2) (incf zrot -0.4))) (run-game "GL Test" (quad) (quad2)) (quit-game)