我使用代码象下面来更新文本(在一个位图)动态到纹理:绘图文本与透明背景
public void UpdateTexture(GL10 gl, int x, int y, int textureId, Bitmap bitmap)
{
gl.glBindTexture(GL10.GL_TEXTURE_2D, textureId);
GLUtils.texSubImage2D(GL10.GL_TEXTURE_2D, 0, x, y, bitmap);
}
的问题是,texSubImage2D功能不完全替代现有像素的纹理,但它保留现有信息并在其上绘制新的位图。而且由于新位图具有透明像素,所以在渲染纹理时,旧位图将显示在其下方。有没有办法在texSubImage2D调用之前从纹理中完全擦除目标区域中的旧信息?
谢谢!我希望能有一种方法来清除和更新纹理的特定区域,以使更新更有效,但我想唯一的方法是每次应该部分更改时删除和创建整个纹理。 – bit8