   xvec=vec3(cellStep.x,0.0,0.0); // 0.01
   yvec=vec3(0.0,cellStep.y,0.0);
   zvec=vec3(0.0,0.0,cellStep.z);
-  
+
   // Reverse ray direction in eye space
   wReverseRayDir=eyeToTexture3*rayDir;
   wReverseRayDir=wReverseRayDir*minusOne;
   wReverseRayDir=normalize(wReverseRayDir);
-  
+
   // Directonal light: w==0
   if(gl_LightSource[0].position.w==0.0)
     {

  vec4 tmp;
  float att;
  float spot;
  
  g1.x=texture3D(dataSetTexture,pos+xvec).x;
  g1.y=texture3D(dataSetTexture,pos+yvec).x;
  g1.z=texture3D(dataSetTexture,pos+zvec).x;

        spot=0.0;
        }
      }

    if(spot>0.0)
      {
      // LIT operation...
      float nDotL=dot(g2,ldir);
      float nDotH=dot(g2,h);

      // separate nDotL and nDotH for two-sided shading, otherwise we
      // get black spots.

      if(nDotL<0.0) // two-sided shading
        {
        nDotL=-nDotL;
        }

      if(nDotH<0.0) // two-sided shading
        {
        nDotH=-nDotH;
        }

      // ambient term for this light
      finalColor+=gl_FrontLightProduct[0].ambient;

      // diffuse term for this light
      if(nDotL>0.0)
        {
        finalColor +=(frontLightProduct_Diffuse*nDotL)*color;
        }

      // specular term for this light
      float shininessFactor=pow(nDotH,gl_FrontMaterial.shininess);
      finalColor+=frontLightProduct_Specular*shininessFactor;
      finalColor*=att*spot;
      }
    }

  // scene ambient term
  finalColor+=gl_FrontLightModelProduct.sceneColor*color;

  // clamp. otherwise we get black spots
  finalColor=clamp(finalColor,clampMin,clampMax);

  return finalColor;
}
