我使用如下polygonmode绘制三角形:OpenGL的:如何绘制三角形或多边形平滑
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()进行计算,并将im传递给drawScene()方法。基于sin()和cos()值旋转三角形。我的问题是,三角形绘制时不光滑。也就是说,三角形的外围部分没有光滑的线条。在上面的代码中,如果我使用GL_LINE三角形看起来很平滑,而不是GL_FILL。但是,我需要一个实心的三角形。
它看起来像一个别名问题。您能否上传问题的截图,以便我们更好地理解? – 2012-01-13 07:37:07
请更改问题的标题,以表明您指的是绘制一个平滑的三角形而不是三角形的运动。或澄清,如果我误解了 – dirk 2012-01-13 07:45:21
@dirk使用sin()和Cos()im的计算值传递循环中的顶点值并旋转三角形。基于此,我绘制了三角形。绘制之后,三角形没有合适的边框。对不起,如果问题仍然令人困惑。非常感谢 – 2012-01-13 08:48:24