anchor.diff:  	  (glm:vec4->vec3 (glm:mat*vec (glutil:top-ms model-matrix)
   				       world-light-pos)))
   
  -    (case *light-model*
  -      (:lm-pure-diffuse
  -       (setf p-white-prog *white-no-phong*)
  -       (setf p-color-prog *color-no-phong*))
  -      (:lm-diffuse-and-specular
  -       (setf p-white-prog *white-phong*)
  -       (setf p-color-prog *color-phong*))      
  -      (:lm-specular-only
  -       (setf p-white-prog *white-phong-only*)
  -       (setf p-color-prog *color-phong-only*)))
       
   
       (gl:use-program (the-program p-white-prog))
  
positive.code: (defun initialize-program ()
    ;; initialize the *program* program-pairs array with gl white/color gl programs
    (loop for i-prog below (length *programs*) do
  	(setf (white-prog (aref *programs* i-prog))
  	      (load-lit-program (getf (aref *shader-files* i-prog) :white)
  				(getf (aref *shader-files* i-prog) :frag)))
  	(setf (color-prog (aref *programs* i-prog))
  	      (load-lit-program (getf (aref *shader-files* i-prog) :color)
  				(getf (aref *shader-files* i-prog) :frag))))
  
    ;; (setf *white-no-phong* (load-lit-program "PN.vert" "NoPhong.frag"))
    ;; (setf *color-no-phong* (load-lit-program "PCN.vert" "NoPhong.frag"))
  
    ;; (setf *white-phong* (load-lit-program "PN.vert" "PhongLighting.frag"))
    ;; (setf *color-phong* (load-lit-program "PCN.vert" "PhongLighting.frag"))
  
    ;; (setf *white-phong-only* (load-lit-program "PN.vert" "PhongOnly.frag"))
    ;; (setf *color-phong-only* (load-lit-program "PCN.vert" "PhongOnly.frag"))
    
    (setf *unlit* (load-unlit-program "PosTransform.vert" "UniformColor.frag")))
  
  
  
negative.code: 
  		   ;;rendering code:
  ;		   (display)
  
  		   ;;live editing enabled:
  		   (arc:update-swank)
  