 			// Calculate light attenuation
 			for( int j = 0; j < lightSamples; ++j ) {
 
-				attenuation *= 1 - texture( density, lightPos ) * attenuationFactor * 0.05;
+				attenuation *= 1 - texture( density, lightPos ) * attenuationFactor * 0.025;
 				// TODO: optimize - check for break
 				lightPos += lightRay.direction * lightStepSize;
 

	Ray viewRay = Ray( eyePosition, normalize( viewDirection ) );	

	float colorAlpha = 0;
	float color = 0;
	vec3 pos = viewRay.origin;
	//TODO: move to cube beginning
		
	for( int i = 0; i < viewSamples; ++i ) {


			// add color depending on cell density and attenuation
			if( cellDensity > 0.001 )
				color = mix( color, vec3( attenuation ), cellDensity * 2 ); // *2 - not nice
				//TODO: ones in front count more


		pos -= viewRay.direction * viewStepSize;

	}

	outColor = vec4( color, 255 );
	vec4 debug = vec4( viewRay.direction, 1.0 );
	outColor = mix(outColor, debug, 0);
}