如何在OpenGL中绘制未舍入的像素?

qmb5sa22  于 2022-09-26  发布在  其他
关注(0)|答案(1)|浏览(179)

我试图使用GL_POINTS绘制正方形像素,但像素是四舍五入的。我试过使用glDisable(GL_POINT_SLANLE),但它似乎没有改变任何事情。

以下是我的代码:

glDisable(GL_POINT_SMOOTH);
glPointSize(8); 
glBegin(GL_POINTS); 
glVertex2i(500, 400); 
glEnd();
lrpiutwd

lrpiutwd1#

GlPointSize参考页面(https://registry.khronos.org/OpenGL-Refpages/gl4/html/glPointSize.xhtml)指出,如果您(或您正在使用的任何库)已调用glEnable(GL_PROGRAM_POINT_SIZE),则顶点着色器将控制点的大小(而不是控制中的glPointSize())。

此外,一些平台可能对最大磅大小有相当严格的限制:最大大小可能是1(!)这意味着(实际上)你根本没有能力做正方形像素。要检查平台的功能,请执行以下操作:

GLint sizeRange[2];
glGetIntegerv(GL_POINT_SIZE_RANGE,sizeRange);
//sizeRange[0] is the minimum; sizeRange[1] is the maximum

[参考:https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGet.xhtml]

相关问题