OpenGL函数解析-glGet

名称

glGet - 返回所选参数的值

C规范

void glGetBooleanv(    GLenum pname,
     GLboolean * params);

void glGetFloatv(    GLenum pname,
     GLfloat * params);

void glGetIntegerv(    GLenum pname,
     GLint * params);

参数

pname

指定要返回的参数值。接受下面列表中的符号常量。

params

返回指定参数的值。

描述

这些命令返回GL中简单状态变量的值。 pname是一个符号常量,表示要返回的状态变量,params是一个指向指定类型数组的指针,用于放置返回的数据。

如果params的类型与请求的状态变量值不同,则执行类型转换。如果调用glGetBooleanv,当且仅当它是0.0(或0)时,浮点(或整数)值才会转换为GL_FALSE。否则,它将转换为GL_TRUE。如果调用glGetIntegerv,则布尔值将返回GL_TRUEGL_FALSE,并且大多数浮点值将四舍五入为最接近的整数值。但是,浮点颜色和法线将返回一个线性映射,该映射将1.0映射到最正可表示的整数值,将-1.0映射到最负可表示的整数值。如果调用glGetFloatv,则布尔值将作为GL_TRUEGL_FALSE返回,并且整数值将转换为浮点值。pname接受以下符号常量:

GL_ACTIVE_TEXTURE

params返回一个表示活动多重纹理单元的值。初始值为GL_TEXTURE0。请参阅glActiveTexture

GL_ALIASED_LINE_WIDTH_RANGE

params返回两个值,即别名行的最小和最大支持宽度。范围必须包括宽度1。

GL_ALIASED_POINT_SIZE_RANGE

params返回两个值,即别名点支持的最小和最大尺寸。范围必须包括1号。

GL_ALPHA_BITS

params返回一个值,即当前绑定的帧缓冲区的颜色缓冲区中的alpha位平面的数量。

GL_ARRAY_BUFFER_BINDING

params返回单个值,即当前绑定到目标GL_ARRAY_BUFFER的缓冲区对象的名称。如果没有缓冲区对象绑定到此目标,则返回0。初始值为0.请参阅glBindBuffer

GL_BLEND

params返回一个布尔值,指示是否启用了混合。初始值为GL_FALSE。请参阅glBlendFunc

GL_BLEND_COLOR

params返回四个值,红色,绿色,蓝色和alpha值,它们是混合颜色的组成部分。请参阅glBlendColor

GL_BLEND_DST_ALPHA

params返回一个值,该符号常量标识alpha目标混合函数。初始值为GL_ZERO。请参阅glBlendFuncglBlendFuncSeparate

GL_BLEND_DST_RGB

params返回一个值,该符号常量标识RGB目标混合函数。初始值为GL_ZERO。请参阅glBlendFuncglBlendFuncSeparate

GL_BLEND_EQUATION_ALPHA

params返回一个值,一个符号常量,指示Alpha混合方程是GL_FUNC_ADDGL_FUNC_SUBTRACT还是GL_FUNC_REVERSE_SUBTRACT。请参阅glBlendEquationSeparate

GL_BLEND_EQUATION_RGB

params返回一个值,一个符号常量,指示RGB混合方程是GL_FUNC_ADDGL_FUNC_SUBTRACT还是GL_FUNC_REVERSE_SUBTRACT。请参阅glBlendEquationSeparate

GL_BLEND_SRC_ALPHA

params返回一个值,这是一个标识alpha源混合函数的符号常量。初始值为GL_ONE。请参阅glBlendFuncglBlendFuncSeparate

GL_BLEND_SRC_RGB

params返回一个值,这个符号常量标识RGB源混合函数。初始值为GL_ONE。请参阅glBlendFuncglBlendFuncSeparate

GL_BLUE_BITS

params返回一个值,即当前绑定的帧缓冲区的颜色缓冲区中的蓝色位平面的数量。

GL_COLOR_CLEAR_VALUE

params返回四个值:用于清除颜色缓冲区的红色,绿色,蓝色和alpha值。如果请求,整数值从内部浮点表示线性映射,使得1.0返回最正可表示的整数值,-1.0返回最负可表示的整数值。初始值为(0,0,0,0)。请参阅glClearColor

GL_COLOR_WRITEMASK

params返回四个布尔值:红色,绿色,蓝色和alpha写入启用颜色缓冲区。初始值为(GL_TRUEGL_TRUEGL_TRUEGL_TRUE)。请参阅glColorMask

GL_COMPRESSED_TEXTURE_FORMATS

params返回长度为GL_NUM_COMPRESSED_TEXTURE_FORMATS的符号常量列表,指示哪些压缩纹理格式可用。请参阅glCompressedTexImage2D

GL_CULL_FACE

params返回一个布尔值,指示是否启用了多边形剔除。初始值为GL_FALSE。请参阅glCullFace

GL_CULL_FACE_MODE

params返回一个值,一个符号常量,指示要剔除哪些多边形面。初始值为GL_BACK。请参阅glCullFace

GL_CURRENT_PROGRAM

params返回一个值,即当前活动的程序对象的名称,如果没有程序对象处于活动状态,则返回0。请参阅glUseProgram

GL_DEPTH_BITS

params返回一个值,即当前绑定的帧缓冲区的深度缓冲区中的位平面数。

GL_DEPTH_CLEAR_VALUE

params返回一个值,该值用于清除深度缓冲区。如果请求,整数值从内部浮点表示线性映射,使得1.0返回最正可表示的整数值,-1.0返回最负可表示的整数值。初始值为1.请参阅glDepthRangef

GL_DEPTH_FUNC

params返回一个值,表示深度比较函数的符号常量。初始值为GL_LESS。请参阅glDepthFunc

GL_DEPTH_RANGE

params返回两个值:深度缓冲区的近和远映射限制。如果请求,整数值从内部浮点表示线性映射,使得1.0返回最正可表示的整数值,-1.0返回最负可表示的整数值。初始值为(0,1)。请参阅glDepthRangef

GL_DEPTH_TEST

params返回一个布尔值,指示是否启用了片段的深度测试。初始值为GL_FALSE。请参阅glDepthFuncglDepthRangef

GL_DEPTH_WRITEMASK

params返回一个布尔值,指示深度缓冲区是否已启用写入。初始值为GL_TRUE。请参阅glDepthMask

GL_DITHER

params返回一个布尔值,指示是否启用了片段颜色和索引的抖动。初始值为GL_TRUE

GL_ELEMENT_ARRAY_BUFFER_BINDING

params返回单个值,即当前绑定到目标GL_ELEMENT_ARRAY_BUFFER的缓冲区对象的名称。如果没有缓冲区对象绑定到此目标,则返回0。初始值为0.请参阅glBindBuffer

GL_FRAMEBUFFER_BINDING

params返回单个值,即当前绑定的帧缓冲区的名称。初始值为0,表示默认的帧缓冲区。请参阅glBindFramebuffer

GL_FRONT_FACE

params返回一个值,一个符号常数,表示顺时针或逆时针多边形绕组是否被视为正面。初始值为GL_CCW。请参阅glFrontFace

GL_GENERATE_MIPMAP_HINT

params返回一个值,一个符号常量,指示mipmap生成过滤提示的模式。初始值为GL_DONT_CARE。见glHint

GL_GREEN_BITS

params返回一个值,即当前绑定的帧缓冲区的颜色缓冲区中的绿色位平面的数量。

GL_IMPLEMENTATION_COLOR_READ_FORMAT

params返回一个值,即实现选择的格式,其中可以从当前绑定的帧缓冲区的颜色缓冲区中读取像素,并结合GL_IMPLEMENTATION_COLOR_READ_TYPE。除了这种依赖于实现的格式/类型对之外,每个实现始终允许格式GL_RGBA和类型GL_UNSIGNED_BYTE,而不管当前绑定的渲染表面如何。请参阅glReadPixels

GL_IMPLEMENTATION_COLOR_READ_TYPE

params返回一个值,该实现选择的类型可以从当前绑定的帧缓冲区的颜色缓冲区中读取像素,并结合GL_IMPLEMENTATION_COLOR_READ_FORMAT。除了这种依赖于实现的格式/类型对之外,每个实现始终允许格式GL_RGBA和类型GL_UNSIGNED_BYTE,而不管当前绑定的渲染表面如何。请参阅glReadPixels

GL_LINE_WIDTH

params返回一个值,即glLineWidth指定的行宽。初始值为1。

GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS

params返回一个值,最大支持的纹理图像单元数,可用于从顶点着色器和片段处理器组合访问纹理贴图。如果顶点着色器和片段处理阶段都访问相同的纹理图像单元,则计数为使用两个纹理图像单元来抵抗此限制。该值必须至少为8.请参阅glActiveTexture

GL_MAX_CUBE_MAP_TEXTURE_SIZE

params返回一个值。该值粗略估计了GL可以处理的最大立方体贴图纹理。该值必须至少为16.请参阅glTexImage2D

GL_MAX_FRAGMENT_UNIFORM_VECTORS

params返回一个值,可以保存在片段着色器的统一变量存储中的四元素浮点数,整数或布尔矢量的最大数量。该值必须至少为16.请参阅glUniform

GL_MAX_RENDERBUFFER_SIZE

params返回一个值。该值表示GL可以处理的最大渲染缓冲区宽度和高度。该值必须至少为1.请参阅glRenderbufferStorage

GL_MAX_TEXTURE_IMAGE_UNITS

params返回一个值,这是支持的最大纹理图像单元,可用于从片段着色器访问纹理贴图。该值必须至少为8.请参阅glActiveTexture

GL_MAX_TEXTURE_SIZE

params返回一个值。该值粗略估计了GL可以处理的最大纹理。该值必须至少为64.请参阅glTexImage2D

GL_MAX_VARYING_VECTORS

params返回一个值,最大数量的四元素浮点向量可用于插入顶点和片段着色器使用的变量变量。声明为矩阵或数组的变量变量将使用多个插值器。该值必须至少为8。

GL_MAX_VERTEX_ATTRIBS

params返回一个值,即顶点着色器可访问的4分量通用顶点属性的最大数量。该值必须至少为8.请参阅glVertexAttrib

GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS

params返回一个值,最大支持的纹理图像单元,可用于从顶点着色器访问纹理贴图。值可能为0.请参阅glActiveTexture

GL_MAX_VERTEX_UNIFORM_VECTORS

params返回一个值,可以保存在顶点着色器的统一变量存储中的四元素浮点数,整数或布尔矢量的最大数量。该值必须至少为128.请参阅glUniform

GL_MAX_VIEWPORT_DIMS

params返回两个值:视口的最大支持宽度和高度。这些必须至少与要渲染的显示器的可见尺寸一样大。请参阅glViewport

GL_NUM_COMPRESSED_TEXTURE_FORMATS

params返回一个整数值,表示可用的压缩纹理格式的数量。最小值为0.请参阅glCompressedTexImage2D

GL_NUM_SHADER_BINARY_FORMATS

params返回一个整数值,表示可用着色器二进制格式的数量。最小值为0.请参阅glShaderBinary

GL_PACK_ALIGNMENT

params返回一个值,用于将像素数据写入内存的字节对齐。初始值为4.请参阅glReadPixels

GL_POLYGON_OFFSET_FACTOR

params返回一个值,缩放因子用于确定添加到多边形光栅化时生成的每个片段的深度值的变量偏移量。初始值为0.请参阅glPolygonOffset

GL_POLYGON_OFFSET_FILL

params返回一个布尔值,指示在填充模式下是否为多边形启用了多边形偏移。初始值为GL_FALSE。请参阅glPolygonOffset

GL_POLYGON_OFFSET_UNITS

params返回一个值。此值乘以特定于实现的值,然后添加到栅格化多边形时生成的每个片段的深度值。初始值为0.请参阅glPolygonOffset

GL_RED_BITS

params返回一个值,即当前绑定的帧缓冲区的颜色缓冲区中的红色位平面的数量。

GL_RENDERBUFFER_BINDING

params返回单个值,即当前绑定的renderbuffer的名称。初始值为0,表示没有绑定渲染缓冲区。请参阅glBindRenderbuffer

GL_SAMPLE_ALPHA_TO_COVERAGE

params返回一个布尔值,指示片段覆盖值是否应与基于片段的alpha值的临时覆盖值进行AND运算。初始值为GL_FALSE。请参阅glSampleCoverage

GL_SAMPLE_BUFFERS

params返回一个整数值,表示与当前绑定的帧缓冲区关联的样本缓冲区的数量。请参阅glSampleCoverage

GL_SAMPLE_COVERAGE

params返回一个布尔值,指示片段覆盖值是否应与基于当前样本覆盖值的临时覆盖值进行AND运算。初始值为GL_FALSE。请参阅glSampleCoverage

GL_SAMPLE_COVERAGE_INVERT

params返回一个布尔值,指示是否应该反转临时覆盖值。请参阅glSampleCoverage

GL_SAMPLE_COVERAGE_VALUE

params返回单个正浮点值,表示当前样本覆盖值。请参阅glSampleCoverage

GL_SAMPLES

params返回一个整数值,表示当前绑定的帧缓冲区的coverage掩码大小。请参阅glSampleCoverage

GL_SCISSOR_BOX

params返回四个值:裁剪框的x和y窗口坐标,后跟宽度和高度。最初,x和y窗口坐标均为0,宽度和高度设置为窗口大小。见glScissor

GL_SCISSOR_TEST

params返回一个布尔值,指示是否启用裁剪。初始值为GL_FALSE。见glScissor

GL_SHADER_BINARY_FORMATS

params返回长度为GL_NUM_SHADER_BINARY_FORMATS的符号常量列表,指示哪些着色器二进制格式可用。请参阅glShaderBinary

GL_SHADER_COMPILER

params返回一个布尔值,指示是否支持着色器编译器。 GL_FALSE表示对glShaderSourceglCompileShaderglReleaseShaderCompiler的任何调用都将导致生成GL_INVALID_OPERATION错误。

GL_STENCIL_BACK_FAIL

params返回一个值,一个符号常量,指示当模板测试失败时对后向多边形采取的操作。初始值为GL_KEEP。请参阅glStencilOpSeparate

GL_STENCIL_BACK_FUNC

params返回一个值,一个符号常量,指示用于后向多边形的函数,以将模板参考值与模板缓冲区值进行比较。初始值为GL_ALWAYS。请参阅glStencilFuncSeparate

GL_STENCIL_BACK_PASS_DEPTH_FAIL

params返回一个值,一个符号常量,表示当模板测试通过时对背面多边形采取的操作,但深度测试失败。初始值为GL_KEEP。请参阅glStencilOpSeparate

GL_STENCIL_BACK_PASS_DEPTH_PASS

params返回一个值,一个符号常量,表示当模板测试通过并且深度测试通过时,对于背面多边形采取的操作。初始值为GL_KEEP。请参阅glStencilOpSeparate

GL_STENCIL_BACK_REF

params返回一个值,该值与背面多边形的模板缓冲区内容进行比较。初始值为0.请参阅glStencilFuncSeparate

GL_STENCIL_BACK_VALUE_MASK

params返回一个值,用于背面多边形的掩码在比较之前屏蔽模板参考值和模板缓冲区值。初始值全是1。请参阅glStencilFuncSeparate

GL_STENCIL_BACK_WRITEMASK

params返回一个值,该值控制用于背面多边形的模板位平面的写入。初始值全是1。请参阅glStencilMask

GL_STENCIL_BITS

params返回一个值,即当前绑定的帧缓冲区的模板缓冲区中的位平面数。

GL_STENCIL_CLEAR_VALUE

params返回一个值,即模板位平面被清除的索引。初始值为0.请参阅glClearStencil

GL_STENCIL_FAIL

params返回一个值,一个符号常量,表示当前面的多边形和非多边形的模板测试失败时采取的操作。初始值为GL_KEEP。请参阅glStencilOpglStencilOpSeparate

GL_STENCIL_FUNC

params返回一个值,一个符号常量,指示用于将模板参考值与前面多边形和非多边形的模板缓冲区值进行比较的函数。初始值为GL_ALWAYS。请参阅glStencilFuncglStencilFuncSeparate

GL_STENCIL_PASS_DEPTH_FAIL

params返回一个值,一个符号常量,表示模板测试通过时采取的操作,但前向多边形和非多边形的深度测试失败。初始值为GL_KEEP。请参阅glStencilOpglStencilOpSeparate

GL_STENCIL_PASS_DEPTH_PASS

params返回一个值,一个符号常量,表示模板测试通过时采取的操作,深度测试通过前面的多边形和非多边形。初始值为GL_KEEP。请参阅glStencilOpglStencilOpSeparate

GL_STENCIL_REF

params返回一个值,该值与前面的多边形和非多边形的模板缓冲区的内容进行比较。初始值为0.请参阅glStencilFuncglStencilFuncSeparate

GL_STENCIL_TEST

params返回一个布尔值,指示是否启用了片段的模板测试。初始值为GL_FALSE。请参阅glStencilFuncglStencilOp

GL_STENCIL_VALUE_MASK

params返回一个值,该掩码用于在比较前面的多边形和非多边形之前屏蔽模板参考值和模板缓冲区值。初始值全是1。请参阅glStencilFuncglStencilFuncSeparate

GL_STENCIL_WRITEMASK

params返回一个值,该控件用于控制前面的多边形和非多边形的模板位平面的写入。初始值全是1。请参阅glStencilMaskglStencilMaskSeparate

GL_SUBPIXEL_BITS

params返回一个值,即用于在窗口坐标中定位栅格化几何的子像素分辨率的位数估计值。该值必须至少为4。

GL_TEXTURE_BINDING_2D

params返回单个值,即当前绑定到活动多纹理单元的目标GL_TEXTURE_2D的纹理的名称。初始值为0.请参阅glBindTexture

GL_TEXTURE_BINDING_CUBE_MAP

params返回单个值,当前绑定到活动多纹理单元的目标GL_TEXTURE_CUBE_MAP的纹理的名称。初始值为0.请参阅glBindTexture

GL_UNPACK_ALIGNMENT

params返回一个值,用于从内存中读取像素数据的字节对齐。初始值为4.请参阅glPixelStorei

GL_VIEWPORT

params返回四个值:视口的x和y窗口坐标,后跟其宽度和高度。最初,x和y窗口坐标都设置为0,宽度和高度设置为GL将进行渲染的窗口的宽度和高度。请参阅glViewport

使用glIsEnabled也可以更轻松地查询许多布尔参数。

错误

GL_INVALID_ENUMpname不是前面列出的值之一

发布了46 篇原创文章 · 获赞 74 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/u010977122/article/details/102501191