anchor.diff:                      (sb-cga:vec 0.0 0.0 -5.0)
                       (sb-cga:vec 0.0 1.0 0.0)))
   
  +;;; Compute a high light, slightly to the side and front.
  +
  +(defun compute-light-vector ()
  +  (let* ((angle (kit.math:deg-to-rad 15.0))
  +         (down (sb-cga:vec 0.0 -1.0 0.0))
  +         (mat (sb-cga:matrix* (sb-cga:rotate-around (sb-cga:vec 0.0 1.0 0.0) angle)
  +                              (sb-cga:rotate-around (sb-cga:vec 1.0 0.0 0.0) angle)))
  +         (light-vec3 (sb-cga:transform-direction down mat)))
  +    (kit.math:vec4 light-vec3)))
  +
   (defmethod glop:on-event :after ((window cube-window) (event glop:expose-event))
     (unless (exposed window)
       (let* ((cube (lpsg:make-cube-shape))
  
positive.code: smooth out vec3 theColor;
  
  vec3 in_Color = vec3(1.0, 0.0, 1.0);
  vec4 lightDir = vec4(-0.577350, -0.577350, -0.577350, 0);
  
  uniform mat4 projectionMatrix;
  uniform mat4 cameraMatrix;
  uniform mat4 modelMatrix;
  
negative.code: 
  (defvar *camera-uset* (make-instance 'camera))
  (defvar *model-uset* (make-instance 'model))
  (defvar *light-uset* (make-instance 'light))
  
  (defun draw-window (win)
    (when (exposed win)
  