遅延レンダリング パイプラインを使用した科学的な視覚化用の小さな OpenGL アプリがあります。2 つのパスがあります。位置、法線、アルベド、セグメンテーションなどでテクスチャをレンダリングするジオメトリック パスです。ライティング パスでは、そのデータの一部をクワッドにマップして画面にレンダリングするか、ハード ドライブに画像を保存するだけです。つまり、古典的な遅延レンダリングです。
ここで、ワイヤフレーム レンダリングを追加のテクスチャに追加する必要があります。ジオメトリ シェーダーでやろうと思ったのですが、ちょっと複雑そうでパフォーマンスも問題なかったので、3 番目のパスを設定glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
してテクスチャにレンダリングし、それをライティング パスに渡します。他のもの。
問題なく動作しますが、何らかの方法で深度バッファを使用し、モデルの背後にあるワイヤフレームをレンダリングしないようにすることは可能でしょうか? つまり、確かに背面ポリゴンをカリングできますが、正面ポリゴンの背後にもまだいくつかの線があり、これも前面です。私が望むのは、ポリゴンが塗りつぶされているかのようにカリングすることですが、ワイヤーフレームのみをレンダリングすることです。
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
モデルをレンダリングしてからワイヤーフレームをレンダリングすることもできますが、モデルをジオメトリ パスのテクスチャにレンダリングし、別のパスのワイヤーフレームにモデルをレンダリングするため、これを行うことglPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
はできません。デフォルトの深度バッファ。
それで、皆さん、何か考えはありますか?