     vec2 uv = vec2(currentTexel) / vec2(sceneSize - ivec2(1,1)); // [0.0, 1.0]
     vec3 viewDir = getViewDirection(uv);
     vec3 prevViewDir = getPrevViewDirection(uv);
+
+#if TEMPORAL_REPROJECTION
 
 #define REPROJECTION_METHOD 1
 // #todo: Bad at camera rotation or at the interface between cloud and non-cloud texels

        imageStore(renderTarget, currentTexel, prevResult);
        return;
    }
#endif

	ray_t eye_ray;
    eye_ray.origin = uboPerFrame.ws_eyePosition;
	eye_ray.direction = getViewDirection(uv);

    // Raymarching is broken if eye is too close to the interface of cloud layers
    if (abs(eye_ray.origin.y - getCloudLayerMin()) <= 1.5 || abs(eye_ray.origin.y - getCloudLayerMax()) <= 1.5) {

#version 450 core

#include "deferred_common.glsl"

// #todo-cloud: wip
#define TEMPORAL_REPROJECTION 0

// Visualize cloud coverage in weather texture
#define DEBUG_MODE_WEATHER 1
