OpenGL gradient banding on Android

后端 未结 3 769
别那么骄傲
别那么骄傲 2020-12-18 14:32

I\'ve got a live wallpaper out on the market which uses OpenGL to render some basic shapes and a flat plane. The simple lighting creates a gradient effect across the plane,

相关标签:
3条回答
  • 2020-12-18 14:52

    Looks like it really is the GS2's display, or more accurately, its dithering algorithm. I tried upping my requested config to RGB888, and this is what I get (from my test user's phone):

    No banding GS2

    So it really seems like the GS2 just does a horrible job of dithering when trying to map colors in an 888 space to a 565 config.

    Now I'm not sure if I want to up the config to 888 across all devices (better quality but a performance hit), or only on devices which I know to dither poorly. Hmmm.

    0 讨论(0)
  • 2020-12-18 14:55

    Have you tried to disable dithering in GL? This might help a bit.

    GLES20.glDisable(GLES20.GL_DITHER);
    
    0 讨论(0)
  • 2020-12-18 15:02

    Can you confirm that, though you request 565, that you are, in fact, getting 565? There are EGL functions for confirming what you end up getting. I refer to checking on both devices since you might be getting 888 on the Incredible and other devices, hence the better-looking display.

    0 讨论(0)
提交回复
热议问题