glGetLightfv 函数

glGetLightfvglGetLightiv 函数返回光源参数值。

语法

void WINAPI glGetLightfv(
   GLenum  light,
   GLenum  pname,
   GLfloat *params
);

参数

light

光源。 可能的灯的数量取决于实现,但至少支持八个灯。 它们由形式 GL_LIGHT i 的符号名称标识,其中 0 = i< GL_MAX_LIGHTS。

pname

的光源参数。 接受以下符号名称。

含义
GL_AMBIENT
参数返回四个整数或浮点值,表示光源的环境强度。 整数值在请求时从内部浮点表示形式线性映射,使 1.0 映射到最正的可表示整数值,而 -1.0 映射到最负的可表示整数值。 如果内部值在 [-1,1] 范围之外,则相应的整数返回值未定义。
GL_DIFFUSE
参数返回表示光源漫射强度的四个整数或浮点值。 整数值在请求时从内部浮点表示形式线性映射,使 1.0 映射到最正的可表示整数值,而 -1.0 映射到最负的可表示整数值。 如果内部值在 [-1,1] 范围之外,则相应的整数返回值未定义。
GL_SPECULAR
参数返回四个整数或浮点值,表示光源的反射强度。 整数值在请求时从内部浮点表示形式线性映射,使 1.0 映射到最正的可表示整数值,而 -1.0 映射到最负的可表示整数值。 如果内部值在 [-1,1] 范围之外,则相应的整数返回值未定义。
GL_POSITION
params 参数返回四个整数或浮点值,表示光源的位置。 整数值在请求时通过将内部浮点值舍入为最接近的整数值来计算。 返回的值是眼睛坐标中维护的值。 它们不等于使用 glLight 指定的值,除非在调用 glLight 时标识了模型视图矩阵。
GL_SPOT_DIRECTION
参数返回表示光源方向的三个整数或浮点值。 整数值在请求时通过将内部浮点值舍入为最接近的整数值来计算。 返回的值是眼睛坐标中维护的值。 它们不等于使用 glLight 指定的值,除非在调用 glLight 时标识了模型视图矩阵。 尽管在照明公式中使用之前已规范化了点方向,但返回的值是规范化之前指定值的转换版本。
GL_SPOT_EXPONENT
参数返回表示光点指数的单个整数或浮点值。 当请求时,整数值是通过将内部浮点表示形式舍入为最接近的整数来计算的。
GL_SPOT_CUTOFF
params 参数返回一个整数或浮点值,该值表示光线的点截止角度。 当请求时,整数值是通过将内部浮点表示形式舍入为最接近的整数来计算的。
GL_CONSTANT_ATTENUATION
params 参数返回一个整数或浮点值,该值表示常量 (与距离无关) 光的衰减。 当请求时,整数值是通过将内部浮点表示形式舍入为最接近的整数来计算的。
GL_LINEAR_ATTENUATION
params 参数返回表示光线线性衰减的单个整数或浮点值。 当请求时,整数值是通过将内部浮点表示形式舍入为最接近的整数来计算的。
GL_QUADRATIC_ATTENUATION
params 参数返回表示光的二次衰减的单个整数或浮点值。 当请求时,整数值是通过将内部浮点表示形式舍入为最接近的整数来计算的。

params

返回请求的数据。

返回值

此函数不返回值。

注解

glGetLight 函数以参数形式返回光源参数的值。 light 参数将光命名为光,并且是 0 =i GL_MAX_LIGHTS GL_LIGHT i< 形式的符号名称,其中 GL_MAX_LIGHTS 是大于或等于 8 的依赖于实现的常量。 pname 参数再次按符号名称指定十个光源参数之一。

GL_LIGHTi = GL_LIGHT0 + i 始终如此。

如果生成错误,则不会对 参数的内容进行更改。

要求

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

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glBegin

glEnd

glLight