From 3f301f0ba372cd07167b51943a48b4683f20b88c Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 6 Jun 2015 14:49:26 -0400 Subject: render: framebuffer: Tweak interface. * sly/render/framebuffer.scm (null-framebuffer): New variable. (apply-framebuffer): New procedure. (with-framebuffer): Delete. --- sly/render/framebuffer.scm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/sly/render/framebuffer.scm b/sly/render/framebuffer.scm index bf9f84b..c3af36a 100644 --- a/sly/render/framebuffer.scm +++ b/sly/render/framebuffer.scm @@ -33,7 +33,8 @@ framebuffer? framebuffer-id framebuffer-renderbuffer-id framebuffer-texture - with-framebuffer)) + null-framebuffer + apply-framebuffer)) (define (generate-framebuffer) "Generate a new OpenGL framebuffer object." @@ -54,6 +55,9 @@ (renderbuffer-id framebuffer-renderbuffer-id) (texture framebuffer-texture)) +(define null-framebuffer + (%make-framebuffer 0 0 #f)) + (define make-framebuffer (let ((draw-buffers (u32vector (version-3-0 color-attachment0)))) (lambda (width height) @@ -110,9 +114,6 @@ dimensions WIDTH x HEIGHT." texture-id #f width height 0 0 1 1))) (%make-framebuffer framebuffer-id renderbuffer-id texture)))))) -(define-syntax-rule (with-framebuffer fb body ...) - (begin - (glBindFramebuffer (version-3-0 framebuffer) - (framebuffer-id fb)) - body ... - (glBindFramebuffer (version-3-0 framebuffer) 0))) +(define (apply-framebuffer framebuffer) + (glBindFramebuffer (version-3-0 framebuffer) + (framebuffer-id framebuffer))) -- cgit v1.2.3