                              ContextAttribs
                              PixelFormat))
 
-  (:require [petulant-life.rendering :as r]))
+  (:require [petulant-life.rendering :as r]
+            [petulant-life.shader :as s]))
 
 ;; Defining some width and height constraints to the program.
 (def width 640)

(defn -main [& args]
  (with-cleanup destroy
    (create)
    (run)))

  (Display/destroy))

;; Running the simulation / graphics.
(defn run [shader]
  (while (not (Display/isCloseRequested))
    (do (GL11/glClear GL11/GL_COLOR_BUFFER_BIT)
        (r/draw-rectangles [[10 10 50 50]
                            [70 10 50 50]
                            [10 70 50 50]
                            [70 70 50 50]]
                           shader)
        (Display/update))))

(defmacro with-cleanup [close-fn & body]
