X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=footer.comp;h=c59a93de6f3eb271c26fa4d05f99df7a629b357f;hp=a28014d684b69af8985b9fe911b2db400c089a6c;hb=10bcc7948c3911f1e4459c98205726334998229e;hpb=e683d4e49549b2d4c6906d2ebc4184904f4fe9f8 diff --git a/footer.comp b/footer.comp index a28014d..c59a93d 100644 --- a/footer.comp +++ b/footer.comp @@ -5,6 +5,10 @@ #define SQUARE_ROOT_TRANSFORMATION 0 #endif +#ifndef FLIP_ORIGIN +#define FLIP_ORIGIN 0 +#endif + void main() { INPUT(); @@ -22,13 +26,21 @@ void cs_output(uvec2 coord, vec4 val) void cs_output(ivec2 coord, vec4 val) { - // Run the value through any preprocessing steps we might have. + // Run the value through any postprocessing steps we might have. + // Note that we need to give in the actual coordinates, since the + // effect could have multiple (non-compute) inputs, and would also + // be allowed to make effects based on the texture coordinate alone. CS_OUTPUT_VAL = val; - val = CS_POSTPROC(vec2(0.0, 0.0)); + val = CS_POSTPROC(NORMALIZE_TEXTURE_COORDS(coord)); #if SQUARE_ROOT_TRANSFORMATION // Make sure we don't give negative values to sqrt. val.rgb = sqrt(max(val.rgb, 0.0)); #endif - imageStore(outbuf, coord, val); + +#if FLIP_ORIGIN + coord.y = imageSize(tex_outbuf).y - coord.y - 1; +#endif + + imageStore(tex_outbuf, coord, val); }