From 0c6343abf2cd074929d97c5ce06b70778d398338 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Tue, 28 Aug 2018 09:00:44 -0400 Subject: kernel: Add default viewport so the screen is cleared reliably. --- starling/kernel.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/starling/kernel.scm b/starling/kernel.scm index e019b5b..193eb7b 100644 --- a/starling/kernel.scm +++ b/starling/kernel.scm @@ -74,6 +74,7 @@ (developer-mode? #:getter developer-mode? #:init-form #t) (window #:accessor window) (gl-context #:accessor gl-context) + (default-viewport #:accessor default-viewport) (controllers #:accessor controllers #:init-thunk make-hash-table) (repl #:accessor repl) ;; The scene stack. @@ -211,7 +212,8 @@ ;; the default viewport will be re-applied and ;; clear the screen. (gpu-state-set! *viewport-state* null-viewport) - (next-method) + (with-viewport (default-viewport kernel) + (next-method)) (swap-gl-window (window kernel))) (define-method (on-error (kernel ) stack key args) @@ -243,6 +245,8 @@ #:size (list (width wc) (height wc)) #:fullscreen? (fullscreen? wc))) (set! (gl-context kernel) (make-gl-context (window kernel))) + (set! (default-viewport kernel) + (make-viewport 0 0 (width wc) (height wc))) ;; Attempt to activate vsync, if possible. Some systems do ;; not support setting the OpenGL swap interval. (catch #t -- cgit v1.2.3