我想使用多边形绘制一个粗圆弧(类似于模拟转盘的彩色部分)。为此,我在多边形中添加了顶点,并且在外部圆周上工作良好,但在内部圆周(凹面)的两端连接了顶点。

如果在“直线”中添加这些顶点,则相同的逻辑也可以正常工作,但是会创建一个空/未填充的弧。

我添加顶点的逻辑是:

    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 ) );
        }

最佳答案

请注意,GL_POLYGON仅适用于凸多边形。

您必须对凹面多边形进行三角剖分。

关于c++ - 在OpenGL中使用多边形绘制2D粗圆弧,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16183156/

10-16 07:29