20,000 以上の 2D ポリゴンを、アウトラインと塗りつぶしを使用して OpenGL でレンダリングする必要があります。
一部のポリゴンは凹面です。
シェーダーを使用してこれを行うことは可能ですか?
これにはシェーダーは必要ありません。
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); //Fill
glDrawElements(...);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); //Outline
glDrawElements(...);
ポリゴンが凹んでいる場合は、手動で、または gl ユーティリティ ライブラリ glu を使用してテッセレートする必要があります。を見てくださいgluNewTess
。ポリゴンを自分でテッセレーションする場合は、テッセレーションの内側のエッジがレンダリングされないように、正しいエッジ フラグを設定する必要があります。「 」を参照してくださいglEdgeFlagPointer
。
編集:ステンシル バッファーを使用して凹面ポリゴンをレンダリングする方法について、次のリンクを見つけました。