Cross buffer blend
Currently, the blend operations do not allow to use the current values of color buffer A with color buffer B in an MRT set. For example, lets us suppose that there are up to N-color buffers, I would like to add the following enumerations to glBlendFunc :
GL_DST_MRTi_COLOR --> coefficient is value in color buffer i
and similarly same jazz for GL_ONE_MINUS_DST_MRTi_COLOR, GL_DST_MRTi_ALPHA and GL_ONE_MINUS_DST_MRTi_ALPHA. For example using glBlendFunc(0, GL_DST_MRT1_COLOR, GL_ZERO) and if the MRT0 gets (1,1,1,1) written to it in it's fragment shader, then the values of color buffer 1 are copied to color buffer 0 over the area of the primitive.
A separate extension would also be for GL_SRC_MRTi_COLOR, and it's relatives, the MRT there so it does not get confused with the current dual blending jazz.
I suspect that the current hardware's ROP's are not as flexible, so this is likely a GL5 request.... atleast I am not asking for GL_EXT_framebuffer_fetch
Last edited by kRogue; 05-13-2013 at 03:24 AM.