VisualStudioを使用してWindows7で開発しているこのOpenGLアプリケーションで、NVIDIAコントロールパネルでアンチエイリアシングを有効にしようとしました(アプリケーション.exeの場合のみ)。
これを有効にすると、正投影で描画された線/クワッドに少し歪みが生じます。
アンチエイリアシングは左側でオフになり、右側でオンになります。
アンチエイリアシングをオンにしたまま、これをどのように修正できますか?
関連する場合は、正投影の設定方法と黒の境界線の描画方法を次に示します。
void drawHeadsUpDisplay(void) {
static int winWidth, winHeight;
winWidth = glutGet(GLUT_WINDOW_WIDTH);
winHeight = glutGet(GLUT_WINDOW_HEIGHT);
glPushAttrib(GL_ENABLE_BIT);
glDisable(GL_DEPTH_TEST);
glDisable(GL_LIGHTING);
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0.0f, winWidth, winHeight, 0.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glBegin(GL_LINE_LOOP);
glColor3f(0.0f, 0.0f, 0.0f);
glVertex2f(winWidth - 41, 48);
glVertex2f(winWidth - 41, winHeight - 48);
glVertex2f(winWidth - 18, winHeight - 48);
glVertex2f(winWidth - 18, 48);
glEnd();
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glPopAttrib();
}