Now using OpenGL-VBOs.
[uxul-world.git] / opengl.lisp
index 61c8e90..e35026d 100644 (file)
   (destructuring-bind (x1 y1 x2 y2) imgs\r
     (setf x (- x +screen-width+))\r
     (setf y (- y +screen-height+))\r
-    (gl:bind-texture :texture-2d *spritesheet-id*)\r
-    (gl:with-primitive :quads\r
-      (gl:tex-coord x1 y1) (gl:vertex x (+ y h))\r
-      (gl:tex-coord x2 y1) (gl:vertex  (+ x w) (+ y h))\r
-      (gl:tex-coord x2 y2) (gl:vertex (+ x w) y)\r
-      (gl:tex-coord x1 y2) (gl:vertex x y))))\r
-\r
+    ;(gl:bind-texture :texture-2d *spritesheet-id*)\r
+    (macrolet ((writedown (&rest vars)\r
+                `(progn\r
+                   ,@(mapcar #'(lambda (var)\r
+                                `(setf (cffi:mem-aref uxul-world::*ptr* :float (1- (incf uxul-world::*offset*))) (float ,var 0.0))) vars))))\r
+      (writedown x1 y1 x (+ y h)\r
+                x2 y1 (+ x w) (+ y h)\r
+                x2 y2 (+ x w) y\r
+                x1 y2 x y))))
\ No newline at end of file