Bonjour tout le monde!
Je cherche depuis quelques heures sur internet comment résoudre l'erreur suivante:
Toutes les solutions présentes sur le net ne fonctionnent pas pour moi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Mon erreur vient de cette méthode mais je ne vois pas de spécialement de problème à ce niveau:
Je ne vois pas comment faire pour résoudre ce type d'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }
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...
Partager