X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=footer.comp;h=c59a93de6f3eb271c26fa4d05f99df7a629b357f;hp=16197a63200019396c20661bc0edbb8128fad206;hb=10bcc7948c3911f1e4459c98205726334998229e;hpb=beef8c4b242dd9e073f04b80539a10295417ced5 diff --git a/footer.comp b/footer.comp index 16197a6..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,9 +26,21 @@ void cs_output(uvec2 coord, vec4 val) void cs_output(ivec2 coord, vec4 val) { + // 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(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); }