私は、OpenGL ES 2.0 を使用した Android 用の独自のグラフィック エンジンを「楽しみのために」書いています。
複数のオブジェクト メッシュでシーン全体を管理した後、シャドウ ボリュームを実装しようとしています。
ロジックは (単純化されています) : まず、バイナリ ファイルからオブジェクト (頂点、面、エッジ、およびすべてのデータを含む) を作成します。その後、Vertex Buffer を作成して要素を描画します。
今までは、モデル マトリックス (glRotate など) で OpenGL 関数を使用して変換 (スケール、平行移動、回転) を使用していました。
しかし、Shadow Volume を使用するには、オブジェクトまたはライトが変換されるたびに、どの面がライトとシルエットの前にあるかを計算する必要があります。そのため、頂点配列でループを使用します。
私の質問は次のとおりです。どこで変換を行うのですか? 変更のたびに頂点配列を変換して Vertex Buffer に再ロードする必要がありますか?
これによると、それは悪いことです: Android openglはドローコール後に頂点配列を変更します
それで、ベストプラクティスは何ですか?
下手な英語で申し訳ありませんが、よろしくお願いします;)