关于opengl:opengl-如何使用GL_POINTS绘制正方形像素

opengl - How to draw square pixel with GL_POINTS

我尝试使用以下代码通过opengl绘制正方形像素

1
2
3
4
glPointSize(5.0f);
glBegin(GL_POINTS);
glVertex3f(1.0f, 1.0f, 1.0f);
glEnd();

但是,最终结果是一个圆形像素。

请看一下参考http://risknfun.com/compform/w1.html
请参阅"问题4.网格"。 在右侧,显示图像具有正方形像素。


这部分取决于OpenGL的实现(即,它可能随图形驱动程序而变化),但是幸运的是,您可以使用glEnable(GL_POINT_SMOOTH);glDisable(GL_POINT_SMOOTH);启用或禁用此功能,并启用点平滑功能。 通常会获得圆角点,但是关闭它会得到方形点数。


您还可以尝试通过调用以下命令告诉OpenGL不要花时间使GL_POINTS变得更好而更圆滑:

1
glHint(GL_POINT_SMOOTH_HINT, GL_FASTEST);

但是请记住,这只是一个提示。 OpenGL驱动程序最终是硬道理。