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/framebuffer.scm | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) (limited to 'examples/framebuffer.scm') diff --git a/examples/framebuffer.scm b/examples/framebuffer.scm index 894cbc3..50c65e8 100644 --- a/examples/framebuffer.scm +++ b/examples/framebuffer.scm @@ -31,30 +31,36 @@ (load "common.scm") -(define framebuffer - (make-framebuffer 320 240)) - (define inner-camera (2d-camera #:area (make-rect 0 0 320 240))) (define outer-camera (2d-camera #:area (make-rect 0 0 640 480))) -(define inner-sprite - (load-sprite "images/p1_front.png")) +(define-signal framebuffer + (on-start (make-framebuffer 320 240))) + +(define-signal outer-sprite + (signal-map-maybe (lambda (framebuffer) + (make-sprite (framebuffer-texture framebuffer) + #:anchor 'bottom-left)) + framebuffer)) -(define outer-sprite - (make-sprite (framebuffer-texture framebuffer) - #:anchor 'bottom-left)) +(define-signal player-sprite + (on-start (load-sprite "images/p1_front.png"))) (define-signal scene - (render-begin - (with-framebuffer framebuffer - (with-camera inner-camera - (move (vector2 160 120) - (render-sprite inner-sprite)))) - (with-camera outer-camera - (scale 2 (render-sprite outer-sprite))))) + (signal-let ((framebuffer framebuffer) + (outer-sprite outer-sprite) + (inner-sprite player-sprite)) + (if (and framebuffer outer-sprite inner-sprite) + (render-begin + (with-framebuffer framebuffer + (with-camera inner-camera + (move (vector2 160 120) (render-sprite inner-sprite)))) + (with-camera outer-camera + (scale 2 (render-sprite outer-sprite)))) + render-nothing))) (with-window (make-window #:title "Simple Sprite Demo") (run-game-loop scene)) -- cgit v1.2.3