名称
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_TRUE或GL_FALSE,并且大多数浮点值将四舍五入为最接近的整数值。但是,浮点颜色和法线将返回一个线性映射,该映射将1.0映射到最正可表示的整数值,将-1.0映射到最负可表示的整数值。如果调用glGetFloatv,则布尔值将作为GL_TRUE或GL_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。请参阅glBlendFunc和glBlendFuncSeparate。
GL_BLEND_DST_RGB
params返回一个值,该符号常量标识RGB目标混合函数。初始值为GL_ZERO。请参阅glBlendFunc和glBlendFuncSeparate。
GL_BLEND_EQUATION_ALPHA
params返回一个值,一个符号常量,指示Alpha混合方程是GL_FUNC_ADD,GL_FUNC_SUBTRACT还是GL_FUNC_REVERSE_SUBTRACT。请参阅glBlendEquationSeparate。
GL_BLEND_EQUATION_RGB
params返回一个值,一个符号常量,指示RGB混合方程是GL_FUNC_ADD,GL_FUNC_SUBTRACT还是GL_FUNC_REVERSE_SUBTRACT。请参阅glBlendEquationSeparate。
GL_BLEND_SRC_ALPHA
params返回一个值,这是一个标识alpha源混合函数的符号常量。初始值为GL_ONE。请参阅glBlendFunc和glBlendFuncSeparate。
GL_BLEND_SRC_RGB
params返回一个值,这个符号常量标识RGB源混合函数。初始值为GL_ONE。请参阅glBlendFunc和glBlendFuncSeparate。
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_TRUE,GL_TRUE,GL_TRUE,GL_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。请参阅glDepthFunc和glDepthRangef。
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表示对glShaderSource,glCompileShader或glReleaseShaderCompiler的任何调用都将导致生成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。请参阅glStencilOp和glStencilOpSeparate。
GL_STENCIL_FUNC
params返回一个值,一个符号常量,指示用于将模板参考值与前面多边形和非多边形的模板缓冲区值进行比较的函数。初始值为GL_ALWAYS。请参阅glStencilFunc和glStencilFuncSeparate。
GL_STENCIL_PASS_DEPTH_FAIL
params返回一个值,一个符号常量,表示模板测试通过时采取的操作,但前向多边形和非多边形的深度测试失败。初始值为GL_KEEP。请参阅glStencilOp和glStencilOpSeparate。
GL_STENCIL_PASS_DEPTH_PASS
params返回一个值,一个符号常量,表示模板测试通过时采取的操作,深度测试通过前面的多边形和非多边形。初始值为GL_KEEP。请参阅glStencilOp和glStencilOpSeparate。
GL_STENCIL_REF
params返回一个值,该值与前面的多边形和非多边形的模板缓冲区的内容进行比较。初始值为0.请参阅glStencilFunc和glStencilFuncSeparate。
GL_STENCIL_TEST
params返回一个布尔值,指示是否启用了片段的模板测试。初始值为GL_FALSE。请参阅glStencilFunc和glStencilOp。
GL_STENCIL_VALUE_MASK
params返回一个值,该掩码用于在比较前面的多边形和非多边形之前屏蔽模板参考值和模板缓冲区值。初始值全是1。请参阅glStencilFunc和glStencilFuncSeparate。
GL_STENCIL_WRITEMASK
params返回一个值,该控件用于控制前面的多边形和非多边形的模板位平面的写入。初始值全是1。请参阅glStencilMask和glStencilMaskSeparate。
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_ENUM:pname不是前面列出的值之一
另见
glGetActiveAttrib,glGetActiveUniform,glGetAttachedShaders,glGetAttribLocation,glGetBufferParameteriv,glGetError,glGetFramebufferAttachmentParameteriv,glGetProgramiv,glGetProgramInfoLog,glGetRenderbufferParameteriv,glGetShaderiv,glGetShaderInfoLog,glGetShaderInfoLog,glGetString,glGetTexParameter,glGetUniform,glGetUniformLocation,glGetVertexAttrib,glGetVertexAttribPointerv,glIsEnabled
版权
https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGet.xml
https://blog.csdn.net/flycatdeng
Copyright © 1991-2006 Silicon Graphics, Inc.本文档的许可是根据SGI Free Software B License.详见http://oss.sgi.com/projects/FreeB/.