1
OpenGL ES 2.0中的函數的GLSurfaceRenderer
中可以生成紋理嗎?例如,我使用的代碼如下所示。在OpenGL ES 2.0的顯示函數中生成紋理
GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, MyTexture);
int[] mNewTexture = new int[weight * height * 4];
for(int ii = 0; ii < weight * height; ii = ii + 4){
mNewTexture[ii] = 127;
mNewTexture[ii+1] = 127;
mNewTexture[ii+2] = 127;
mNewTexture[ii+3] = 127;
}
IntBuffer texBuffer = IntBuffer.wrap(mNewTexture);
GLES20.glTexImage2D(GL10.GL_TEXTURE_2D, 0, GL10.GL_RGBA, weight, height, 0, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, texBuffer);
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, 0);
GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0);
pmF.drawSelf(MyTexture);
而在代碼的類pmF
用於使用紋理渲染在屏幕上。我注意到這段代碼被執行了。但是沒有結果顯示在屏幕上。
謝謝。但我想知道這個方法是否可以用來覆蓋紋理?例如,如果代碼中的變量bReloadWood再次設置爲true,那麼原始內存是否會被丟棄? – Timothy
是的,'bReloadWood'可以改變很多次,內存將被丟棄。我的方法沒有遇到任何問題。首先刪除紋理,然後加載另一個紋理而不是它。 – keaukraine
非常感謝。我會嘗試使用這種方法。 – Timothy