Hi,
I'm in the process of experimenting with Porter-Duff blending using OpenGL ES, and was wondering if one of you gurus have any suggestions on how to deal with premultiplied pixel format.
My questions are:
1) Do I keep the textures as premultiplied or non-premulitplied data? I'm leaning towards keeping the incoming texture data as premultiplied.
2) I'll want to do Porter-Duff blending with it, so it seems like with premultiplied data, I can simply utilize the built-in OpenGL glBlendFuncs. But if the data is non premultiplied, then I can still use glBlendFuncs, along with some frag shader on the result to convert back to non premultiplied data on certain operations.
3) On the output to the display, from experimentation, it seems like the display is in non premultiplied format (it'll accept color values that is greater than the alpha value). Is there some way to configure OpenGL/EGL/Dispman so it accepts premultplied data similar to the EGL_VG_ALPHA_FORMAT_PRE for OpenVG? I guess worst case, on the final output, I can run it through the shader that'll perform the necessary conversion so the data is non-premultiplied for the output display.
Your help is greatly appreciated!