[LWJGL] OpenGLException: Invalid enum (1280)
Bonjour tout le monde!
Je cherche depuis quelques heures sur internet comment résoudre l'erreur suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Exception in thread "main" org.eclipse.swt.SWTException: Failed to execute runnable (org.lwjgl.opengl.OpenGLException: Invalid enum (1280))
at org.eclipse.swt.SWT.error(SWT.java:3884)
at org.eclipse.swt.SWT.error(SWT.java:3799)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:137)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3468)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3115)
at tests.TestWindow.main(TestWindow.java:55)
Caused by: org.lwjgl.opengl.OpenGLException: Invalid enum (1280)
at org.lwjgl.opengl.Util.checkGLError(Util.java:56)
at org.lwjgl.opengl.GL11.glEnable(GL11.java:1047)
at visu.window.Window.vertexBufferObjectMode(Window.java:696)
at visu.window.Window.display(Window.java:394)
at tests.TestWindow$1.run(TestWindow.java:47)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134) |
Toutes les solutions présentes sur le net ne fonctionnent pas pour moi.
Mon erreur vient de cette méthode mais je ne vois pas de spécialement de problème à ce niveau:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
private void vertexBufferObjectMode() {
if (loader != null) {
if (!isBufferFill) {
isBufferFill = true;
if (!GLContext.getCapabilities().GL_ARB_vertex_buffer_object) {
System.out.println("VertexBufferObject not supported");
return;
}
fillBufferObject();
boundingBoxDisplayList = boundingBoxDisplayList();
}
GL11.glEnable(GL11.GL_COLOR_ARRAY);
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, colorVBO.getVBOId());
GL11.glColorPointer(4, GL11.GL_DOUBLE, 0, 0);
GL11.glEnable(GL11.GL_VERTEX_ARRAY);
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vertexVBO.getVBOId());
GL11.glVertexPointer(3, GL11.GL_DOUBLE, 0, 0);
GL11.glEnable(GL15.GL_ELEMENT_ARRAY_BUFFER); // L'erreur vient de cette ligne.
GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER,
indexVBO.getVBOId());
GL11.glVertexPointer(3, GL11.GL_UNSIGNED_INT, 0, 0);
GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL);
GL11.glDrawElements(GL11.GL_TRIANGLES, indexVBO.getSizeBuffer(),
GL11.GL_UNSIGNED_INT, 0);
GL11.glDisableClientState(GL11.GL_COLOR_ARRAY);
GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY);
GL11.glDisableClientState(GL15.GL_ELEMENT_ARRAY_BUFFER);
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0);
}
} |
Je ne vois pas comment faire pour résoudre ce type d'erreur.
Pour info, voici ma config:
-> ubuntu 10.04 32bits,
-> java sun 1.6
-> lwjgl 2.5
-> swt 3.5.2
-> eclipse 3.5.2
Si quelqu'un à une idée, je suis preneur ;).
Merci
Edit:
J'ai réussi à "corriger" le problème: j'utilisais le jar lwjgl-debug en plus du lwjgl normal. J'ai donc enlevé lwjgl-debug de mes Referenced Libraries et ma fenêtre réapparait...