尝试更新纹理时,我得到一个nullPointerException。我的代码是
t.updateImage(gl, new TextureData(Client.profile,
GL.GL_TEXTURE_2D,
camWidth,
camHeight,
0,
GL.GL_RGB,
GL.GL_UNSIGNED_INT,
false,
false,
false,
testBuf(),
null
));
testBuf()为:
public IntBuffer testBuf(){
int[] ints = new int[bufWidth*bufHeight];
for(int i = 0; i < bufWidth*bufHeight; i++){
ints[i] = 155;
}
IntBuffer intBuf = IntBuffer.wrap(ints);
return intBuf;
}
事先,eclipse没有显示任何错误,但是当我运行程序时,它会在t.updateImage(...)的行上抛出NullPointerException。 也许值得注意的是我从我的显示方法调用这个方法(即使它在init方法中也没有工作)。
我错过了什么?我创建缓冲区的方式有问题吗?