0

ポリゴンを使って太い円弧(アナログ文字盤の色付き部分のようなもの)を描きたいです。そのために、ポリゴンに頂点を追加し、外周ではうまく機能しますが、内周(凹面)の端を結合します。

これらの頂点を線に追加すると、同じロジックが正常に機能しますが、空の/塗りつぶされていない弧が作成されます。

頂点を追加する私のロジックは次のとおりです。

    for( float i = m_segmentVertex.size() - 1; i < vCount; i++ )
        {
            float x1 = (m_segmentVertex[ i ].x ) * cosA - m_segmentVertex[ i ].y * sinA;
            float y1 = (m_segmentVertex[ i ].x ) * sinA + m_segmentVertex[ i ].y * cosA;
            addVertex( vec3( x1, y1, 0.0f ) );
        }
4

3 に答える 3

1

GL_POLYGON凸多角形でのみ機能することに注意してください。

凹面ポリゴンを三角測量する必要があります。

于 2013-04-24T05:02:02.647 に答える
0

三角形のファンを使用して、ダイヤルの中心を最初のポイントにしてみてください。おそらく addVertex( vec3( 0.0f, 0.0f, 0.0f ) ); あなたのループの前に。

i を int または unsigned int にすることもお勧めします。ここで float は意味がありません。

于 2013-04-24T04:17:25.883 に答える