私はC#OpenTKを使用していますが、C++OpenGLのコードは問題ありません。理解しています。
マーカーのリストがあります。マーカーは、2座標、およびループ内の次のマーカーへのポインターとして定義されます。基本的に、これらのポインターのパスをたどると、最終的には最初に使用したマーカーに到達します。これは、形状が最初に定義される方法です。
それらの「ループ」の1つは、リスト内のすべてのマーカーではない場合があります。複数の「ループ」が含まれる場合があります。たとえば、文字「A」を取り上げます。
ここでのこの形状は、2つの「ループ」によって定義されます。1つはアウトライン(8マーカー)で、もう1つのループは(3マーカー)内の三角形になります。
(マーカー-ポインター)
- 1-2、2-3、3-4、4-5、5-6、6-7、7-8、8-1
- 9-10、10-11、11-9
このようなものを画面に描画できる方法が必要です。ここで説明する解決策は、ビットマップレベルで問題を正しく解決します(ピクセルごとにポリゴン内にあるかどうかを確認します)が、特にこれらのマーカーが実行時に継続的に移動されるという事実を考えると、非常に非効率的です。
これらの形状は、A(反転)の三角形などを含めることができ、できれば「ループ」の境界を重ねることができる必要がありますが、この2番目のことは必須ではありません。
とられる方向は、ある種の三角形への変換か、OpenGL機能が組み込まれた凝ったトリックのどちらかだと思います。