2

20,000 以上の 2D ポリゴンを、アウトラインと塗りつぶしを使用して OpenGL でレンダリングする必要があります。

一部のポリゴンは凹面です。

シェーダーを使用してこれを行うことは可能ですか?

4

1 に答える 1

2

これにはシェーダーは必要ありません。

glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); //Fill
glDrawElements(...);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); //Outline
glDrawElements(...);

ポリゴンが凹んでいる場合は、手動で、または gl ユーティリティ ライブラリ glu を使用してテッセレートする必要があります。を見てくださいgluNewTess。ポリゴンを自分でテッセレーションする場合は、テッセレーションの内側のエッジがレンダリングされないように、正しいエッジ フラグを設定する必要があります。「 」を参照してくださいglEdgeFlagPointer

編集:ステンシル バッファーを使用して凹面ポリゴンをレンダリングする方法について、次のリンクを見つけました。

于 2010-01-13T07:29:10.543 に答える