2012-12-27 30 views
-1

我相信我有所有的組件來做一個簡單的綠色繪圖,顯然我錯了。也許有人可以闡明我缺少的東西?爲什麼opengl不能用glTexImage繪製綠色?

@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); 
} 

回答

1

glTexImage2D不繪製任何東西。它只是將圖像複製到紋理中。你仍然需要繪製一些幾何圖形(四邊形或四邊形),這些幾何圖形都是紋理圖案。

另外glTexImage需要綁定紋理對象來處理。這意味着您首先必須使用glGenTextures來獲取新的紋理ID,然後glBindTexture來綁定/創建它。

我還應該指出,如果圖像保持不變,則不應在每張圖紙上重新上傳圖像。

但最重要的是如果你只是想畫一些綠色的四邊形,爲什麼不畫一個綠色的四邊形呢?你不需要這個紋理。

相關問題