-1

我相信我拥有制作简单绿色绘图的所有组件,显然我错了。也许有人可以阐明我所缺少的东西?

@Override
public synchronized void onDrawFrame(GL10 unused) {
    Bitmap b = Bitmap.createBitmap(512, 512, Bitmap.Config.RGB_565); 
    b.eraseColor(Color.GREEN);
    GLES20.glEnable(GLES20.GL_TEXTURE_2D);
    GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, b, 0);
}
4

1 回答 1

1

glTexImage2D 不绘制任何东西。它只是将图像复制到纹理中。您仍然必须绘制一些几何图形(四边形左右),这些几何图形正在使用所述图像进行纹理化。

glTexImage 也需要一个绑定的纹理对象才能使用。这意味着您首先必须使用glGenTextures来获取新的纹理 ID,然后glBindTexture才能绑定/创建它。

我还应该指出,如果图像保持不变,则不应在每次绘制帧时重新上传它。

但最重要的是,如果你只想画一些绿色四边形,为什么不画一个绿色四边形呢?你不需要纹理。

于 2012-12-27T20:45:38.567 回答