anchor.diff:      
   
       (glutil:with-transform (model-matrix)
  -	
  +
   	;; Render the ground plane
   	(glutil:with-transform (model-matrix)
   	    (gl:use-program (the-program p-white-prog))
  -	  ;;note how model-to-camera-matrix is mat4 and normal-model-to-camera-matrix is
  -	  ;;mat3!
  -	  (gl:uniform-matrix (model-to-camera-matrix-unif p-white-prog) 4
  -			     (vector (glutil:top-ms model-matrix)) NIL)
  -
  -	  (gl:uniform-matrix (normal-model-to-camera-matrix-unif p-white-prog) 3
  -			     (vector (glm:mat4->mat3 (glutil:top-ms model-matrix))) NIL)
  -
  -	  (framework:render *plane-mesh*)
  -	  (gl:use-program 0))
  +
  +	  (let ((norm-matrix
  +		 (sb-cga:transpose-matrix
  +		  (sb-cga:inverse-matrix
  +		   (glutil:top-ms model-matrix)))))
  +
  +	    (gl:uniform-matrix (model-to-camera-matrix-unif p-white-prog) 4
  +			       (vector (glutil:top-ms model-matrix)) NIL)
  +
  +	    (gl:uniform-matrix (normal-model-to-camera-matrix-unif p-white-prog) 3
  +			       (vector (glm:mat4->mat3 norm-matrix)) NIL)
  +
  +	    (framework:render *plane-mesh*)
  +	    (gl:use-program 0)))
   
   
         (glutil:apply-matrix model-matrix (glutil:calc-matrix *objt-pole*))
  
positive.code: 
  	     (when (sdl2:scancode= (sdl2:scancode-value keysym) :scancode-b)
  	       ;; break rotation
  	       (setf *rotate-light-p* (not *rotate-light-p*)))	     
  
  	     (when (sdl2:scancode= (sdl2:scancode-value keysym) :scancode-space)
  	       ;; toggle color on cylinder
  
negative.code:     (gl:uniformfv (camera-space-light-pos-unif p-white-prog) light-pos-camera-space)
      (gl:uniformf (light-attenuation-unif p-white-prog) *light-attenuation*)
      (gl:uniformf (shininess-factor-unif p-white-prog) *shininess-factor*)
      (gl:uniformfv (base-diffuse-color-unif p-white-prog)
  		  (if *draw-dark-p* *dark-color* *light-color*))
  
  
      
      (gl:use-program (the-program p-color-prog))
      (gl:uniformfv (light-intensity-unif p-color-prog) (glm:vec4 0.8 0.8 0.8 1.0))
  