...低レベルのAGALでコーディングしている間に、Textureごとに新しいProgram3Dを作成する必要がありますか?
私はそれに複数のテクスチャを必要とするアプリケーションを開発しています(基本的にユニークなスプライト、)、私はcontext3D.createProgram();
を呼び出し、VertexShaderAssembler
で新しいProgram3D
(を組み立てるために必要なんとした場合a FragmentShaderAssembler
)を、アプリケーションで使用したい個々のテクスチャごとに作成します。通常、エンジン内Program3D
作業を行いどのよう
?い全体を実行するか、またはそれは1つのプログラムを使用しないテクスチャ、モデル、はをマップごとに 1つのプログラム?
そして、私はあなたが右のみ、初期化時間(Event.ADDED_TO_STAGE
)の間、およびない各フレーム(Event.ENTER_FRAME
)中に一度Program3D
を作成する必要があることを前提とするために修正していますか?
ああ、私がContext3D.setProgram(...)と呼ぶ順序は、おそらく、望ましいZ-Depth結果を得るために重要なのでしょうか? – bigp
これはまた、私が想像するProgram3Dの間で交互に切り替えるときにContext3Dをクリアする必要はないことを意味します。特に、1つのレンダーパスが別の以前のパスをオーバレイするだけの場合はどうですか? – bigp
デプステストが機能するには、正しい順序で物を描く必要があります。これにより、setProgram()を呼び出す順序も決まります。 present()呼び出しごとに1回だけクリアする必要があります。 –