glPointSize 函数

glPointSize 函数指定光栅化点的直径。

语法

void WINAPI glPointSize(
   GLfloat size
);

parameters

大小

光栅化点的直径。 默认值为 1.0。

返回值

此函数不返回值。

错误代码

glGetError 函数可以检索以下错误代码。

名称 含义
GL_INVALID_VALUE
size 小于或等于零。
GL_INVALID_OPERATION
在对 glBegin 的调用和对 glEnd 的相应调用之间调用了函数。

备注

glPointSize 函数指定别名点和抗锯齿点的光栅化直径。 使用非 1.0 的点大小具有不同的效果,具体取决于是否启用了点抗锯齿。 使用参数GL_POINT_SMOOTH调用 glEnableglDisable 来控制点抗锯齿。

如果禁用了点抗锯齿,则通过将提供的大小舍入为最接近的整数来确定实际大小。 (如果舍入结果值为 0,则表示点大小为 1.) 如果舍入大小为奇数,则表示该点的像素片段的中心点 (xy) 计算为

(xw + .5, yw + .5)

其中 w 下标指示窗口坐标。 位于 (xy) 的圆角大小的方形网格内的所有像素都构成片段。 如果大小为偶数,则中心点为

(xw + .5, yw + .5)

光栅化片段的中心是圆角大小的正方形中的半整数窗口坐标,中心位于 (xy) 。 光栅化非对象点时生成的所有像素片段都分配相同的关联数据;与点对应的顶点的 。

如果启用了抗锯齿,则点光栅化会为每个像素方生成一个片段,该片段与圆内的区域相交,其直径等于当前点大小,并居中 (xwyw ) 。 每个片段的覆盖值是圆形区域与相应像素方块相交点的窗口坐标区域。 此值将保存并在最终光栅化步骤中使用。 与每个片段关联的数据是与要光栅化的点关联的数据。

启用点抗锯齿时,并非所有大小都受支持。 如果请求了不受支持的大小,则使用最接近支持的大小。 仅保证支持大小 1.0;其他依赖于实现。 可以通过调用带参数的 glGet 和 GL_POINT_SIZE_RANGE GL_POINT_SIZE_GRANULARITY 来查询受支持的大小范围和受支持大小之间的大小差异。

查询GL_POINT_SIZE时,始终返回 glPointSize 指定的点大小。 别名点和抗锯齿点的固定和舍入对指定值没有影响。

非抗锯齿点大小可以固定到与实现相关的最大值。 虽然无法查询此最大值,但它必须不小于抗锯齿点的最大值,舍入到最接近的整数值。

以下函数检索与 glPointSize 相关的信息:

带参数GL_POINT_SIZE的 glGet

带参数GL_POINT_SIZE_RANGE的 glGet

带参数GL_POINT_SIZE_GRANULARITY的 glGet

glIsEnabled with argument GL_POINT_SMOOTH

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Gl.h

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glBegin

glEnable

glEnd

glIsEnabled