1

SWT を最新の JOGL (2.0) で動作させようとしています。

SWT スニペット 209を試しましたが、うまくいきません。この問題は、次の行によって発生します。

final GLContext context = GLDrawableFactory.getFactory().createExternalGLContext();

...しかし、(新しい API と互換性を持たせるために)に変更getFactory()すると、. このメッセージが理解できません: 新しいコンテキストを作成しようとしていますが、現在のコンテキストが null であると不平を言っています。なんで?getFactory(GLProfile.getDefault())createExternalGLContext()javax.media.opengl.GLException: Error: current context null

を作成する他の方法があるかもしれませGLContextん。

GLEventListenerまたは、SWTで使用することは可能でしょGLCanvasうか?

PS。スニペットの修正版をここに配置しました。


編集:エラーメッセージを理解しました。ドキュメントには次のように記載されています。

基礎となる OpenGL コンテキストは、このメソッドが呼び出された時点で現在のスレッドで最新である必要があります。

最初の作成方法はGLContext?

4

2 に答える 2

2

簡単な方法: レンダリング クラスを実装し、作成コードをコールバックにGLEventListener移動します (投稿した例の正しい場所のようです)。次に、そのリスナーを、表示ウィジェットとして使用しているものなどに追加します。GLContext.init(...)GLCanvas

彼らは最近 JOGL をかなりクリーンアップしたので、ほとんどの例はかなりのマッサージなしではコンパイルさえできません。初めて使用する場合は、コード例の互換性が高い古いバージョンにロールバックして、スピンアップすることをお勧めします。

于 2010-09-02T15:51:17.357 に答える
0

The tutorial at http://wadeawalker.wordpress.com/2010/10/09/tutorial-a-cross-platform-workbench-program-using-java-opengl-and-eclipse/ shows how to do exactly this. I modified the SWT snippet 209 starting from the JOGL2 version at http://github.com/sgothel/jogl-demos/blob/master/src/demos/swt/Snippet209.java.

My tutorial shows how to do it as an Eclipse RCP app (using only SWT, no AWT bridge). To do it as a standalone SWT app, there's a tutorial at https://sites.google.com/site/justinscsstuff/jogl-tutorials.

于 2010-10-25T14:33:41.623 に答える