0

そのため、ここ数日、OpenGL3Dプログラミングの経験を積むことから始めました。私はJava用のLWJGLを使用しています。fps-movementを使用して3Dカメラクラスを作成しました。また、VBOを使用してキューブを作成しました。これは問題なくレンダリングできます。

では、この同じVBOを別の位置に描画するにはどうすればよいですか?これで、キューブは(0、0、0)になり、(5、5、5)に移動します。この同じ立方体を(10、10、10)から(15、15、15)に描画したい場合はどうなりますか?

ありがとう!

4

1 に答える 1

0

立方体の位置ベクトルをuniform vec3変数として頂点シェーダーに渡します。そこで、各頂点の位置に追加します。

それらを何百も描画したい場合は、インスタンス化を使用してパフォーマンスをいくらか節約できます。頂点位置に1つの頂点ごとの属性を設定しglVertexAttribDivisor、各インスタンスの変換に1つのインスタンスごとの属性(via = 1)を設定します。詳細については、このwikiエントリを参照してください。

于 2012-11-09T23:36:15.573 に答える