2011-06-27 22 views
1

ネイティブC++側でOpenGLを活用する2Dグラフィックスライブラリを持つJavaアプリケーションがあります。 JNIの呼び出しをDLLにします。今ではOpenGLをアプリケーションのSWT側で動作させるように求められていますが、JOGLやLWJGLや他のサードパーティのGLバインディングの使用はお勧めしません。これはできますか?OpenGLでSWTを使用するが、JOGL/LWJGLなどでは使用しない

答えて

1

OpenGLはOpenGL32.dll(またはUNIXの場合も同様)で実装されているC APIなので、どちらか一方を使用する必要があります。

IIRCでは、Javaから呼び出すために、DLLの関数は "Java_Classname_Functionname"と呼ばれなければなりません。これは明らかにOpenGL関数の場合ではありません。

あなたは本当に、本当にLWJOGLを避けたい場合は、別の署名(代わりにglClearColorのJava_MYJOGL_glClearColorのようなもの)で、すべてのOpenGLの機能を再宣言し、これは単にglClearColorを呼び出し、独自のC DLLを作成する必要があります...

LWJGLは既に何をしていますか(また、プラットフォーム固有のコンテキスト作成&他のものも扱っています)。

あなたの会社が懸念している場合は、わかりやすい大きな未知のライブラリを避けることをお奨めしますが、JOGLよりも小さいLWJGLを使用することをお勧めします。

関連する問題