                                       sampler          (:sampler material)
                                       draw-count       (:count indices)
                                       program-name     (if texture-program?
-                                                         :texture-light
-                                                         :diffuse-light)
+                                                         :texture-per-fragment-light
+                                                         :diffuse-per-fragment-light)
                                       program          (get-in state [:runtime :programs program-name])
                                       scene-data       (when normals
                                                          (select-keys (get-data now

(def u-light-angle
  (g/uniform "uLightAngle" :vec3))

(def program-diffuse-flat
  (p/program
   {:vertex-shader   {(g/gl-position) (-> u-p-matrix

     u-ambient-color      #js [0.5 0.5 0.5]
     u-lighting-direction #js [-0.25 0.25 1]
     u-directional-color  #js [0 0 0]
     u-point-lighting-location #js[x y z]
     u-point-lighting-color #js[0.8 0.8 0.8]
     u-use-lighting       true
     u-light-angle        #js [x y z]
     u-diffuse            (or diffuse [1 1 0 1])
     a-position           vertices
     a-vertex-normal      normals
