                   font-texture-height
                   font-texture-image]} (make-glyph-image char-width char-height normal-font)
           font-texture          (texture-id font-texture-image)
-                                                      ;:image character-canvas-dom
-                                                      ;:parameters {texture-parameter-name/texture-mag-filter texture-filter/nearest
-                                                      ;             texture-parameter-name/texture-min-filter texture-filter/nearest})
           ;; create width*height texture that gets updated each frame that determines which character to draw in each cell
           _ (log/info "Creating glyph array")
           next-pow-2-columns (next-pow-2 columns)

;; it is not performant to memoize records because hashCode values are not cached and are recalculated
;; each time.

(defrecord GLCharacter [character fg-color bg-color style fx-character fx-fg-color fg-bg-color])
(defn make-terminal-character
  ([character fg-color bg-color style]
   (make-terminal-character character fg-color bg-color style nil nil nil))


          ;; We just need one vertex buffer, a texture-mapped quad will suffice for drawing the terminal.

          {:keys [vertices-vbo-id
                  vertices-count
                  texture-coords-vbo-id]}
                           (init-buffers screen-width screen-height)
