小编Jan*_*anx的帖子

C++:在OpenGL中绘制2D磁盘

我已经尝试用OpenGL编写一个适当的功能,用于在屏幕上绘制2D磁盘几天了,我似乎无法正确使用它:(

这是我目前的代码:

void Disk( Float x, Float y, Float r, const Color& vColor )
{
    glBegin( GL_TRIANGLE_FAN );
        glVertex2f( x, y );
        for( Float i = 0; i <= 2 * PI + 0.1; i += 0.1 )
        {
            glVertex2f( x + sin( i ) * r, y + cos( i ) * r );
        }
    glEnd();
}
Run Code Online (Sandbox Code Playgroud)

放大时,生成的磁盘显示尖峰,而不是边缘,但指示出尖峰.

此函数也不会仅绘制一个磁盘,但总是多于一个 - 这意味着如果启用了alpha,则结果看起来不对.

  • 我需要更改我的功能,以便正确绘制磁盘?

c++ opengl

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×1

opengl ×1