Half Float纹理未能附加到帧缓冲区

时间:2015-07-22 02:57:06

标签: android opengl-es-2.0 framebuffer render-to-texture

我有2台设备Nexus 7和Kyocera Hydro Vibe,它们都支持GL_OES_texture_half_floatEXT_Color_buffer_half_float,但通过

附加缓冲区
    // generate the textures
    int GL_OES_texture_half_float = 0x8D61;
    Log.d("Available extensions", GLES20.glGetString(GLES20.GL_EXTENSIONS));
    GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGB, texW, texH, 0, GLES20.GL_RGB, GL_OES_texture_half_float, null);
    GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, fb[0]);
    GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTex[0], 0);

导致nexus 7在帧缓冲附件中成功,而kyocera失败,即使必要的扩展名列为支持。

我的问题是,相当于半浮点数,允许每个RGBA组件的16位数据比half_float更广泛支持?

0 个答案:

没有答案