我想讓SWT與最新的JOGL(2.0)一起工作。如何使JOGL 2.0與SWT協同工作?
我試過SWT snippet 209,但它不起作用。問題是由以下行造成的:
final GLContext context = GLDrawableFactory.getFactory().createExternalGLContext();
...但是當我改變getFactory()
到getFactory(GLProfile.getDefault())
(使之與新的API兼容),它崩潰上createExternalGLContext()
與javax.media.opengl.GLException: Error: current context null
。我不明白這個消息:我試圖創建一個新的上下文,它抱怨當前爲空。爲什麼?
也許有其他方法可以創建GLContext
?
或者也許有可能使用GLEventListener
與SWT GLCanvas
?
PS。我把我的修改版本的片段here。
編輯:現在我明白了錯誤信息。 Documentation說:
調用此方法時,底層OpenGL上下文在當前線程上必須是當前線程。
如何創建第一個GLContext
?
在整個SWT中搜索,我沒有發現任何提及'GLEventListener'。如何「附加」到畫布('org.eclipse.swt.opengl.GLCanvas')? – mik01aj 2010-09-03 07:26:24
@ m01:啊。出於某種原因,SWT庫從JOGL中刪除了很多東西。 'GLCanvas'通常實現'GLAutoDrawable',它接受'GLEventListener'。是否有任何限制阻止您使用vanilla JOGL庫? – 2010-09-03 23:50:35
完全沒有限制;我只是不知道該怎麼做。 (我需要將它放在SWT GUI中) – mik01aj 2010-09-06 06:42:53