在opengl es 2.0中改进RGBA渲染到纹理透明度质量

时间:2014-09-19 13:16:22

标签: android opengl-es-2.0

我创建了一个二维交互式粒子系统。只剩下一件事要做,但我不知道该怎么做,所以我想得到一些帮助。

    GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA , texW, texH, 0, GLES20.GL_RGBA , GLES20.GL_UNSIGNED_BYTE   , null);
    GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGB, texW, texH, 0, GLES20.GL_RGB, GLES20.GL_UNSIGNED_SHORT_5_6_5   , null);

如果我使用GL_RGB将其呈现给GL_UNSIGNED_SHORT_5_6_5,则看起来像这样:

enter image description here

如果我使用GL_RGBA将其呈现给GL_UNSIGNED_BYTE,则看起来像这样:

enter image description here

我的问题是,像第一张照片一样能够实现质量的最佳方法是什么,但仍然能够看到它下面的东西。我试过其他RGBA格式和数据类型,但它只产生黑屏。如果gl_FragColor.a不是1.0,那么RGBA版本似乎会使所有内容完全透明。

0 个答案:

没有答案