バンプマッピングのように、メッシュに複数のテクスチャを適用するときは、通常、テクスチャを最初のいくつかの固定テクスチャユニットにバインドします。異なるテクスチャの異なるメッシュ。しかし、なぜglActiveTexture
これほど多くのテクスチャユニットをサポートするのかと常に疑問に思っていました(前のリンクでは、少なくとも80と表示されています)。
そのため、テクスチャを管理する1つの可能な方法は、使用可能な各ユニットに個別のテクスチャをバインドし、それらを有効のままにして、均一なサンプラーインデックスを更新することです。これにより、テクスチャスイッチの数が減り、レンダリングのパフォーマンスが向上します。テクスチャが最大テクスチャユニットよりも少ない場合は、テクスチャをバインド解除する必要はありません。
これはリアルタイムOpenGLアプリケーションの標準的な方法ですか(これはD3Dにも当てはまると思います)?そして、このアプローチを取ることによる明らかでないパフォーマンスへの影響はありますか?おそらくメモリオーバーヘッド?