2
  • 現在、OpenGL のハードウェアによって Stencil Buffer はどの程度一般的にサポートされていますか?

  • シェーダーよりもサポートされていますか?

  • ハードウェアがサポートしていない場合、ソフトウェアでエミュレートされますか?

残念ながら、この件に関する確かなデータを見つけることができませんでした...ステンシルは古い技術であるため、どこでもサポートされていると思います. ただし、古いテクノロジであるため、フラグメント シェーダーを優先して、新しい GPU ハードウェアから段階的に廃止される可能性があります。

私のシナリオでは、8 ビットのステンシル バッファーを 24 ビットの深度バッファーと組み合わせて使用​​し、VBO と共に使用します (それが何かに影響する場合)。ステンシル バッファを使用すると、ステンシル サポートがない場合、作成中のゲームをプレイできなくなるのではないかと心配です。彼らが少なくともソフトウェアでステンシル効果をエミュレートできれば、理想的ではありませんが、私の恐怖を和らげるには十分でしょう.

4

2 に答える 2

2

ステンシル バッファーは、まだ OpenGL 4.4 仕様です。それらはセクション 9.1 で説明され、ステンシル テストはセクション 17.3.5 で説明されています。

ステンシル バッファーが保証されます。それらが GPU で行われるかソフトウェアで行われるかは、実装の詳細です。ターゲットにしている OpenGL のバージョンを実行できるマシンであれば、CPU でステンシル テストを簡単に処理できるはずです。

于 2014-01-12T10:13:15.887 に答える
1

現在、OpenGL のハードウェアによって Stencil Buffer はどの程度一般的にサポートされていますか?

ステンシル バッファーは、古くから GPU で一般的にサポートされてきました。

シェーダーよりもサポートされていますか?

「夜は外より寒い?」ええ、その質問はほぼ同じくらい理にかなっています。ステンシル バッファ サーバーは、シェーダーとはまったく異なる目的で使用されます。

ハードウェアがサポートしていない場合、ソフトウェアでエミュレートされますか?

はい、しかし望ましい方法ではありません: レンダリング パイプライン全体が純粋なソフトウェア レンダリングに戻ります。ステンシル テストは、ハードワイヤード機能によって実装されており、ステンシル テストのみを実装し、残りは別の方法で実装されている「ドロップイン」ソフトウェアではエミュレートできません。それは単にそのようには機能しません。

幸いなことに、実際に遭遇するすべての GPU はステンシル テストをサポートしています。したがって、これはまったく問題ありません。

于 2014-01-12T12:27:55.313 に答える