我使用代碼象下面來更新文本(在一個位圖)動態到紋理:繪圖文本與透明背景
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