anchor.diff:  	// compute lighting at isosurface point
   	float val = texture3D(volume_texunit, iso_pos).r;
   
  -	vec4 color = texture1D(trfunc_texunit, val);
  -	vec3 color_tmp; // mic fixme: if I initialize this to vec3(0,0,0) the whole volume disappears!
  -
   	// compute the gradient and lighting only if the pixel is visible "enough"
   	vec3 N;
   	if (precomputed_gradient)
  
positive.code: uniform bool precomputed_gradient; // whether the gradient has been precomputed or not
  
  // computes a simplified lighting equation
  vec3 blinn_phong(vec3 N, vec3 V, vec3 L, int light)
  {
  	// material properties
  	// you might want to put this into a bunch or uniforms
  
negative.code: 	
  	float val = texture3D(volume_texunit, gl_TexCoord[0].xyz ).r;
  	bool sign_prev = val > val_threshold;
  	vec3 prev_pos = ray_pos;
  	do
  	{
  		// note: 
  