summaryrefslogtreecommitdiff
path: root/sly/render/sprite-batch.scm
diff options
context:
space:
mode:
Diffstat (limited to 'sly/render/sprite-batch.scm')
-rw-r--r--sly/render/sprite-batch.scm36
1 files changed, 17 insertions, 19 deletions
diff --git a/sly/render/sprite-batch.scm b/sly/render/sprite-batch.scm
index 8b59cb3..fe17f42 100644
--- a/sly/render/sprite-batch.scm
+++ b/sly/render/sprite-batch.scm
@@ -174,26 +174,24 @@
(graphics-texture-excursion context
(lambda (context)
(set-graphics-texture! context (sprite-batch-texture batch))
- (graphics-model-view-excursion context
+ (graphics-uniform-excursion context
+ `((model ,(graphics-model-transform context))
+ (view ,(graphics-view-transform context))
+ (projection ,(graphics-projection-transform context))
+ (texture? ,(not (texture-null? (graphics-texture context)))))
(lambda (context)
- (graphics-model-view-mul! context
- (graphics-projection-transform context))
- (graphics-uniform-excursion context
- `((mvp ,(graphics-model-view-transform context))
- (texture? ,(not (texture-null? (graphics-texture context)))))
- (lambda (context)
- (unmap-vertex-buffer! (sprite-batch-index-buffer batch))
- (unmap-vertex-buffer! (sprite-batch-position-buffer batch))
- (unmap-vertex-buffer! (sprite-batch-texture-buffer batch))
-
- (set-graphics-mesh! context (sprite-batch-mesh batch))
- (glDrawElements (begin-mode triangles)
- ;; 6 indices per sprite.
- (* (sprite-batch-size batch) 6)
- (data-type unsigned-int)
- %null-pointer)
-
- (sprite-batch-reset! batch)))))))))
+ (unmap-vertex-buffer! (sprite-batch-index-buffer batch))
+ (unmap-vertex-buffer! (sprite-batch-position-buffer batch))
+ (unmap-vertex-buffer! (sprite-batch-texture-buffer batch))
+
+ (set-graphics-mesh! context (sprite-batch-mesh batch))
+ (glDrawElements (begin-mode triangles)
+ ;; 6 indices per sprite.
+ (* (sprite-batch-size batch) 6)
+ (data-type unsigned-int)
+ %null-pointer)
+
+ (sprite-batch-reset! batch)))))))
(define-syntax-rule (with-sprite-batch batch context body ...)
;; IMPORTANT! We need to make sure that the current VAO is unbound