为什么这不向我显示图形?我得到的只是一个白色方块。图片为 512x512。
public void loadGLTexture(GL10 gl) {
imageData = ByteBuffer.allocate(mPicture512.length).order(ByteOrder.nativeOrder());
imageData.put(mPicture512);
imageData.position(0);
// generate one texture pointer
gl.glGenTextures(1, textures, 0);
// ...and bind it to our array
//Bitmap bitmap = getBitmap(mContext);
//bitmap.getPixels(pixels, offset, stride, x, y, width, height)
// create nearest filtered texture
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR);
gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);
gl.glTexImage2D(GL10.GL_TEXTURE_2D, 0, GL10.GL_RGBA, 512, 512, 0,GL10.GL_RGBA, GL10.GL_BYTE, imageData);
附言。我知道我可以这样做并且它可以工作,但由于这是一个性能关键的应用程序,我不希望首先创建位图的开销。
GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bitmap, 0);