-
Notifications
You must be signed in to change notification settings - Fork 669
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[EXT_draw_buffers_indexed] Constant Alpha Blend Factors #2938
Comments
I think we should just extend our existing restrictions. |
That sounds reasonable to me. We'll discuss in the meeting tomorrow. |
With this WebGL-specific behavior driven by D3D11 limitations, should we change the prefix to |
I think it's fine to just leave it as EXT_draw_buffers_indexed and describe the WebGL-specific limitations in the extension - there's a space for this in https://www.khronos.org/registry/webgl/extensions/EXT_draw_buffers_indexed/ which isn't filled out. We still need help implementing this as an enable-able extension in ANGLE. If that were done then hooking it up to WebGL would be easy. |
D3D11 supports only "constant color" blending factors, so ANGLE emulates "constant alpha" factors by rewriting the constant color to
aaaa
. SeeStateManager11::syncBlendState
.This is reflected in the WebGL spec, Blending With Constant Color:
The OpenGL ES
EXT_draw_buffers_indexed
extension (and the corresponding OpenGL 4.0 feature) enables separate blend factors per each color output, but the constant color remains the same for all of them. This means that the WebGLEXT_draw_buffers_indexed
extension has to have an additional restriction to work on D3D11.There are two options.
CONSTANT_ALPHA
andONE_MINUS_CONSTANT_ALPHA
factors with indexed blend state completely (easier to implement).The text was updated successfully, but these errors were encountered: