OpenGL ES纹理问题,4个重复列和水平线(Android)
我有一个RGB(或RGBA)纹理图像的缓冲区,我想用我的Android设备上显示它与下面的代码。我使用NDK的OpenGL。
glTexImage2D(GL_TEXTURE_2D,
0,
GL_RGBA,
256,
256,
0,
GL_RGBA,
GL_UNSIGNED_BYTE,
this->pBuffer);
我还从Java端设置了PixelFormat:
this.getHolder().setFormat(PixelFormat.RGBA_8888);
this.setEGLConfigChooser(8, 8, 8, 8, 0, 0);
setRenderer(new MyRenderer());
显示图像但有四列(相同且包含原始图像的可识别部分),并且图像上有水平线。
可能是什么问题?
原始图片:
我的代码看起来如何:
没有找到相关结果
已邀请:
1 个回复
棠媳鳖
在最初的glTexImage2D调用中,只需传递NULL而不是像素缓冲区。尝试这样的事情,看看它是否有所作为。 如果您使用glDrawTexiOES绘制纹理,则使用GL_TEXTURE_CROP_RECT_OES裁剪较小的纹理: