gpt4 book ai didi

c++ - OpenGL:如何平滑地绘制三角形或多边形

转载 作者:太空宇宙 更新时间:2023-11-04 04:03:39 27 4
gpt4 key购买 nike

我正在使用多边形模式绘制一个三角形,如下所示:

drawScene(void)
{
glPopMatrix();
glEnable(GL_POLYGON_SMOOTH);
glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glShadeModel(GL_POLYGON_SMOOTH);

glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);

glBegin(GL_POLYGON);
glVertex3f(x,y,z);
glVertex3f(x1,y1,z1);
glVertex3f(x2,y2,z2);
glEnd();
glPopMatrix();
}

顶点 (x, y, z, x1, y1, z1, x2, y2, z2) 正在使用 sin() 和 cos() 进行计算,并传入 drawScene() 方法。三角形根据 sin() 和 cos() 值旋转。我的问题是,绘制三角形时不平滑。也就是说,三角形的外部没有平滑的线。在上面的代码中,如果我使用 GL_LINE 而不是 GL_FILL,三角形看起来很平滑。但是,我需要一个实心三角形。

最佳答案

根据显卡的不同,抗锯齿功能可能不可用、可能被禁用或可能由应用程序控制。

例如,从显卡上看这个配置页面:

NVidia CP

因此,在这种情况下,任何 3D 应用程序都将出现别名,因为用户选择这样做,而您不能/不应该绕过该选择。检查您的显卡控制面板/设置,看看它是否有这样的选项(它可能不支持抗锯齿,具体取决于它的年龄)。

此外,请花点时间为您的问题写一个描述性的、准确的标题,否则这里没有人会特别注意您。

关于c++ - OpenGL:如何平滑地绘制三角形或多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8847293/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com