1

でモデルを描きたいのですが、各メソッドを呼び出すと呼び出しが発生し、時間がかかることLWJGLを知っています。ファイルにモデルがあるので、1回の呼び出し(ライブラリにネイティブメソッドを追加)を使用し、ネイティブ側で、ファイルからモデルの頂点を取得し(c言語を使用)、すべてを描画します(回避する頂点ごとの呼び出し)。そこで、ライブラリのソースを変更して、これを行う関数を追加したいと思います。私の質問は、この機能は、、またはの可能なJavaバインディングで利用できますか?glVertexJNIJNILWJGLJNILWJGLLWJGLJOGLopenGL

4

2 に答える 2

3

頂点バッファオブジェクトを使用して頂点データを格納し、 glDrawArraysglDrawElementsなどを1回呼び出すだけで、できるだけ多くの頂点/三角形を描画するための呼び出しを行うことができます。

このページでは、LWJGLでそれらを使用する方法について説明します。

OpenGLドキュメントのLWJGLバージョンはかなり不足していることに注意してください。機能を非常によく説明しているCバージョンについては、 OpenGL公式サイトを確認してください。

于 2012-05-01T10:27:12.713 に答える
1

LWJGLではglVertexPointer(リンク)でラップされているOpenGLglVertexPointer関数を使用できます。

しかし!

単なるJNI呼び出しの速度が心配な場合は、代わりにc / c ++でこれを行うことを再検討してみませんか?

後で編集:glVertexPointerのドキュメント

于 2012-05-01T10:21:20.560 に答える