From 4b1370fc286db564e32a8e2e890061bc3ed413ac Mon Sep 17 00:00:00 2001 From: David Thompson Date: Wed, 10 Feb 2016 22:00:02 -0500 Subject: examples: Update everything to use deferred GL resource loading. --- examples/life.scm | 50 +++++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 23 deletions(-) (limited to 'examples/life.scm') diff --git a/examples/life.scm b/examples/life.scm index 763e5d4..4e747ec 100644 --- a/examples/life.scm +++ b/examples/life.scm @@ -68,17 +68,17 @@ (define tile-size 32) (define window-res (vector2 448 480)) -(define tileset - (load-tileset "mines/images/tiles.png" 32 32)) +(define-signal tileset + (on-start (load-tileset "mines/images/tiles.png" 32 32))) -(define alive-texture +(define (alive-texture tileset) (tileset-ref tileset 12)) -(define empty-texture +(define (empty-texture tileset) (tileset-ref tileset 13)) -(define batch - (make-sprite-batch (expt 14 2))) +(define-signal batch + (on-start (make-sprite-batch (expt 14 2)))) ;;; ;;; State @@ -296,23 +296,27 @@ If there is no neighbor on an edge, the board wraps around" ;; Model of the tile grid (define-signal tiles-view (signal-let ((board board) - (board-size board-size)) - (lambda (gfx) - (with-sprite-batch batch gfx - (enumerate-each - (lambda (row y) - (enumerate-each - (lambda (alive? x) - (let ((rect (rect-move sprite-rect - (tile-pos y x board-size tile-size)))) - (sprite-batch-add! batch - gfx - (if alive? - alive-texture - empty-texture) - rect))) - (vlist->list row))) - (vlist->list board)))))) + (board-size board-size) + (batch batch) + (tileset tileset)) + (if tileset + (lambda (gfx) + (with-sprite-batch batch gfx + (enumerate-each + (lambda (row y) + (enumerate-each + (lambda (alive? x) + (let ((rect (rect-move sprite-rect + (tile-pos y x board-size tile-size)))) + (sprite-batch-add! batch + gfx + (if alive? + (alive-texture tileset) + (empty-texture tileset)) + rect))) + (vlist->list row))) + (vlist->list board)))) + render-nothing))) (define-signal camera (signal-let ((running? simulation-running?)) -- cgit v1.2.3