Opengl - Как рисовать квадратный пиксель с GL_POINTS

Я пытаюсь использовать следующий код для рисования квадратного пикселя с opengl

glPointSize(5.0f);
glBegin(GL_POINTS);
glVertex3f(1.0f, 1.0f, 1.0f);
glEnd();

Однако конечным результатом является круглый пиксель.

Пожалуйста, посмотрите ссылку http://risknfun.com/compform/w1.html См. "Проблема 4. Сетка". Справа изображение дисплея имеет квадратный пиксель.

Ответ 1

Отчасти это зависит от реализации OpenGL (т.е. может отличаться от вашего графического драйвера), но с небольшой удачей вы можете включить или выключить это с помощью glEnable(GL_POINT_SMOOTH); или glDisable(GL_POINT_SMOOTH); С включением сглаживания точек, вы, как правило, обходите очки, но при выключении вы получите квадратные точки.

Ответ 2

Вы также можете попытаться сказать OpenGL не тратить время на создание GL_POINTS nice и round, вызывая:

glHint(GL_POINT_SMOOTH_HINT, GL_FASTEST);

Но имейте в виду, что это просто намек. В последнем случае драйвер OpenGL - это последнее слово.