Hey, ich hab folgendes Problem
Ich brauch als Prameter einen ByteBuffer aber hab nur einen Byte Array
Also dacht ich einfach wrapen.
Zeile 10 schmeißt den Error, letzer Parameter
Hat wer ne Idee worans liegt/was ich machen kann?
Grüße
Ich brauch als Prameter einen ByteBuffer aber hab nur einen Byte Array
Also dacht ich einfach wrapen.
Java:
ByteBuffer dataByteBuffer = ByteBuffer.wrap(t1.getTextureData());
/* Mein Ansatz den ich per google gefunden habe, gleiche Fehlermeldung weiterhin :/
System.out.println(dataByteBuffer.isDirect());
dataByteBuffer.allocate(t1.getTextureData().length);
System.out.println(dataByteBuffer.isDirect()); // trotzdem false
*/
glBindTexture(GL_TEXTURE_2D, t1.getTextureID());
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, 3, (int)t1.getWidth(), (int)t1.getHeight(), 0, GL_RGB, GL_UNSIGNED_BYTE, dataByteBuffer);
Zeile 10 schmeißt den Error, letzer Parameter
Java:
Exception in thread "main" java.lang.IllegalArgumentException: ByteBuffer is not direct
at org.lwjgl.BufferChecks.checkDirect(BufferChecks.java:115)
at org.lwjgl.BufferChecks.checkBuffer(BufferChecks.java:231)
at org.lwjgl.opengl.GL11.glTexImage2D(GL11.java:2811)
at nehe.Lektion2.load(Lektion2.java:186)
at nehe.Lektion2.<init>(Lektion2.java:47)
at nehe.Lektion2.main(Lektion2.java:203)
Hat wer ne Idee worans liegt/was ich machen kann?
Grüße