[英]OpenGL: How to draw a triangle or polygon smoothly
我正在使用多邊形模式繪制一個三角形,如下所示:
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,則三角形看起來很平滑。 但是,我需要一個實心三角形。
根據圖形卡的不同,抗鋸齒功能可能不可用,可能被禁用或受應用程序控制。
例如,從圖形卡查看此配置頁:
因此,在這種情況下,由於用戶選擇了,所以任何3D應用程序都將被別名,並且您不能/不應該選擇該選項。 檢查您的圖形卡控制面板/設置,以查看其是否具有此選項(根據其使用時間,它可能不支持抗鋸齒)。
此外,請花一些時間為您的問題寫一個描述性, 准確的標題,否則這里沒人會引起您的注意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.