Custom blending functions

This topic contains 3 replies, has 3 voices, and was last updated by  Zoxc 6 years, 8 months ago.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #30202

    Zoxc
    Member

    OpenGL is unable to do component alpha blending (in a single pass) and gamma correction (without extensions). In your application recommendations, you state that blending is done by the USSE pipeline. If that’s the case, wouldn’t it make sense to introduce an extension to read the destination color from the fragment shader? These things are pretty critical for font rendering, and it would be nice if they could be done efficiently.

    EDIT: There seems to be an extension that allows component alpha blending with an solid color (with is pretty much all fonts). Luckily this was included in OpenGL ES 2.0, so unless the driver does something crazy (like changing shaders with glBlendColor) so this point is mostly resolved.

    EDIT: glBlendFunc(GL_CONSTANT_COLOR, GL_ONE_MINUS_SRC_COLOR) doesn’t seem to be supported in PVRFrame.

    EDIT: There’s a range check in glBlendFunc which doesn’t include the new ES blending functions. Skipping this range check makes it work.

    Zoxc2010-07-08 18:24:15

    #34103

    todi1856
    Member

    Just stumbled myself, such a simple blending like glBlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ONE_MINUS_DST_COLOR) is also not supported, is this a bug or something?

    #34104

    Xmas
    Member

    Hi,

    Yes, those unsupported combinations are indeed a bug in PVRVFrame, thanks for reporting. As a workaround you should be able to use glBlendFuncSeparate.

    #34105

    Zoxc
    Member

    I’m a bit surprised this is not fixed yet.

Viewing 4 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic.