         {
             float scene_shadow_length = 0.0;
             GetSceneRadiance(
-                ATMOSPHERE, hit_dist, eye_direction, scene_shadow_length,
+                ATMOSPHERE, hit_dist, -eye_direction, scene_shadow_length,
                 scene_sun_irradiance, scene_sky_irradiance, scene_in_scatter);
             scene_radiance = (scene_sun_irradiance + scene_sky_irradiance + scene_in_scatter) * exposure;
             scene_sky_irradiance *= exposure;

    // Cloud
    vec4 cloud = vec4(0.0);
    const float cloud_height = 500.0;
    const float cloud_thickness = 300.0;
    const float min_dist = 1000.0;
    const float far_dist = NEAR_FAR.y * 2.0;


}


float get_cloud_density(vec3 uvw, vec3 cloud_speed, float weight, float distortion)
{
    uvw.xy += CAMERA_POSITION.xz;
    float cloud_density = texture(texture_noise, uvw * 0.0012 - cloud_speed + distortion * 0.05).x;
    cloud_density *= weight;
    return clamp((cloud_density - 0.6) * 10.0, 0.0, 1.0);
    //return clamp(pow(cloud_density, 15.0) * 100.0, 0.0, 1.0);
}

void main()
