performance comments of different RT formats

This topic contains 2 replies, has 2 voices, and was last updated by  marco 5 years, 9 months ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #30736

    mkandula
    Member

    Hi,

    I want to know if someone can share performance comments on different render to texture formats.

    For my case lets take these two

    (1)     glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, irw.width, irw.height, 0, GL_RGB, GL_UNSIGNED_BYTE, 0);

    (2)   glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE_ALPHA, irw.width, irw.height, 0, GL_LUMINANCE_ALPHA, GL_HALF_FLOAT_OES, 0);

    Both write to a 32 bit texture, with the exception that (2) writes as a half float of two components but will save packing instructions in my shader code when compared to (1). Am I first of all right about this operations and if so which one is better ?

    Thanks,

    Madan

    #35384

    mkandula
    Member

    can someone please help me with this regard??

    Also, is it possible to write to a 64 bit texture ? what is the performance implicaton for doing that ? How slow is it compared to using a 32 bit texture ? Is there some sample you can provide for such 64 bit texture/rendertarget usage ?mkandula2012-03-13 09:36:56

    #35385

    marco
    Member

    Hi mkandula,

    you’ll have to use GL_RGBA instead of GL_RGB if you want to have a 32bit renderable surface in (1).
    In general you can’t render to GL_LUMINANCE_ALPHA, only colour components are renderable. Please see the OpenGL ES 2 specification, p.114:
    […] Color-renderable formats contain
    red, green, blue, and possibly alpha components; depth-renderable formats contain
    depth components; and stencil-renderable formats contain stencil components. […]

    There is one extension that allows you to write to half-float buffers, which is called EXT_color_buffer_half_float. Please check if the extension is available on your platform by querying the OpenGL extension string.

    From a performance point of view every extra component uses additional bandwith when the tile is written to the framebuffer.

    Hope that this helps,
    Marco

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