   ([viewport-width viewport-height matrix-buffer]
     (let [ortho-matrix (doto (Matrix4f.)
                          (.setIdentity))
-          matrix-buffer (BufferUtils/createFloatBuffer 16)
+          matrix-buffer matrix-buffer
           zNear   10
           zFar   -10
           m00     (/ 2 viewport-width)

                         :options {:recursive true}}])
      ;; Poll keyboard in background thread and offer input to key-chan
      (future (go-loop []
                (locking terminal
                  (Display/processMessages)
                  (when (Display/isCloseRequested)
                    (System/exit 0))
                  (loop []
                    (when (Keyboard/next)
                      (when (Keyboard/getEventKeyState)
                        (let [character (Keyboard/getEventCharacter)
                              key       (Keyboard/getEventKey)]
                          (convert-key-code character key on-key-fn)))
                      (recur))))
                (Thread/sleep 1)
                (recur)))
      terminal)))

  (get-key-chan [_]
    key-chan)
  (apply-font! [this windows-font else-font size smooth]
    (with-gl-context this
      (reset! normal-font
              (if (= (LWJGLUtil/getPlatform) LWJGLUtil/PLATFORM_WINDOWS)
                (make-font windows-font Font/PLAIN size)
