У меня проблема с рендерингом текстур в моей игре для Android (OpenGl ES2.0).Я не знал об этой проблеме, так как на большинстве устройств этой проблемы не существует, и все нарисовано просто отлично.
Что касается скриншота, прикрепленного ниже, красная полоса слева нарисована на главном кадровом буфере, и из-за этогоэто правильно отображается.Все остальное визуализируется на внеэкранной текстуре, которая затем отображается на основном кадровом буфере.Я прилагаю скриншот, сделанный на Samsung Galaxy Y S5360 (я не знаю, возникает ли эта проблема на других устройствах), а также код, отвечающий за создание закадрового кадрового буфера / текстуры:
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, texture[i]);
GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, width, height, 0, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, null);
GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR);
GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_CLAMP_TO_EDGE);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_CLAMP_TO_EDGE);
GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, framebuffer[i]);
GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, texture[i], 0);
if(GLES20.glCheckFramebufferStatus(GLES20.GL_FRAMEBUFFER) != GLES20.GL_FRAMEBUFFER_COMPLETE) {
// ...
![Bad rendering](https://i.stack.imgur.com/VICfp.png)