В этом приложении OpenGL, которое я разрабатываю для Windows 7 с помощью Visual Studio, я попытался включить сглаживание на панели управления 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();
}