anchor.diff:  		       :indexes triangle-indices-buffer 
   		       :values `((:vertices ,triangle-point-buffer)
   				 (:attribute "vertexColor" ,triangle-color-buffer)
  -				 (:uniform "alpha" alpha)))))
  +				 (:normals ,triangle-normal-buffer)
  +				 (:uniform "ambientLight" ambientLight)
  +				 (:uniform "lightIntensity" lightIntensity)
  +				 (:uniform "lightDirection" lightDirection)
  +				 ))))
   
   
   (defun main-loop ()
  
positive.code: 			       20 21 22 
  			       22 21 23)))
  
    (setf triangle-color-buffer 
  	(make-instance 'clinch:buffer 
  		       :Stride 3
  
negative.code:   "
  #version 120
  
  uniform   vec3 ambientLight;
  uniform   vec3 lightDirection;
  uniform   vec3 lightIntensity;
  attribute vec3 vertexColor;
  varying   vec4 fragmentColor;
  
  void main() {
              gl_Position = ftransform();
  
              float power = dot(normalize(lightDirection), gl_NormalMatrix * gl_Normal) ;
              if(power > 0) {
                  fragmentColor = vec4(vertexColor * (ambientLight + (lightIntensity * power)), 1.0);
              }
              else {
                  fragmentColor = vec4(vertexColor * ambientLight, 1.0);
              }
  }")
  
  
  (defvar fragment-shader-source
  