[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] Extension suggestion: WEBGL_blend_equation_advanced

I personally feel like the advanced blending extension isn't very useful. In the non-coherent case, which is easily emulated by sampling two textures and producing a third, a shader affords a lot more flexibility and control (remember that the non-coherent case is undefined in case a fragment gets written twice between barriers). The non-coherent case is also the one most easily "shimmed", that is structure your code in a fashion that's oblivious to the underlying functionality (which is something you'd need to do in order to deal with an extension that has a very low support rate).

The coherent case behaves more like traditional blending, in that multiple overdraws of a fragment all blend between blend barriers. However this case cannot be shimmed in any fashion, and so the code that'd rely on it would be stuck to nearly never work for the forseeable future, hence making the effort to use it a bad investment of time.

The one case where the extension does offer a tangible new functionality (bit-wise XOR) is probably also the one that'd be least interesting to use, but will be doable come WebGL 2 because of the ES 3.0 bitwise XOR operator (^).

Based on that reasoning, I'd cast my vote to reject this extension if it was proposed, and I'd like to see it properly proposed so that we can reject it and capture the reason for why it was rejected permanently.