在我使用 Visual Studio 在 Windows 7 上开发的这个 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();
}