Tut*_*men 6 android opengl-es-2.0
初始化代码创建一个具有128x128像素的RGB单色纹理:
GLES20.glGenTextures ( 1, textureId, 0 );
GLES20.glBindTexture ( GLES20.GL_TEXTURE_2D, textureId[0] );
GLES20.glTexImage2D ( GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGB, bitmap.getWidth(), bitmap.getHeight(), 0,GLES20.GL_RGB, GLES20.GL_UNSIGNED_BYTE, byteBuffer );|
GLES20.glBindTexture ( GLES20.GL_TEXTURE_2D, 0 );
Run Code Online (Sandbox Code Playgroud)
初始化后我有适当的纹理,一切正常.在某些方面,我必须对纹理进行一些更改,甚至将其与其他图像完全替换:
GLES20.glBindTexture ( GLES20.GL_TEXTURE_2D, textureId[0] );
GLES20.glTexImage2D ( GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGB, bitmap.getWidth(), bitmap.getHeight(), 0,GLES20.GL_RGB, GLES20.GL_UNSIGNED_BYTE, byteBuffer );|
GLES20.glBindTexture ( GLES20.GL_TEXTURE_2D, 0 );
Run Code Online (Sandbox Code Playgroud)
但glTexImage2D不会对纹理进行任何更改并且不会返回错误.但是这个代码在我的iOS项目中正常工作,但是在android的情况下却没有.看起来我不能使用glTexImage2D(..)两次使用相同的纹理,换句话说,修改纹理的唯一方法是创建新纹理并删除旧纹理,但为什么它在iOS中正常工作?我的代码出了什么问题?
归档时间: |
|
查看次数: |
8838 次 |
最近记录: |