WebGLRenderingContext: getParameter() 方法
WebGLRenderingContext.getParameter()
方法是 WebGL API 的一部分,它返回传递的参数名称的值。
语法
js
getParameter(pname)
参数
返回值
取决于参数。
参数名称
WebGL 1
在使用 WebGLRenderingContext
时,可以查询以下 pname
参数。
常量 | 返回类型 | 描述 |
---|---|---|
gl.ACTIVE_TEXTURE |
GLenum |
|
gl.ALIASED_LINE_WIDTH_RANGE |
Float32Array (包含 2 个元素) |
|
gl.ALIASED_POINT_SIZE_RANGE |
Float32Array (包含 2 个元素) |
|
gl.ALPHA_BITS |
GLint |
|
gl.ARRAY_BUFFER_BINDING |
WebGLBuffer |
|
gl.BLEND |
GLboolean |
|
gl.BLEND_COLOR |
Float32Array (包含 4 个值) |
|
gl.BLEND_DST_ALPHA |
GLenum |
|
gl.BLEND_DST_RGB |
GLenum |
|
gl.BLEND_EQUATION |
GLenum |
|
gl.BLEND_EQUATION_ALPHA |
GLenum |
|
gl.BLEND_EQUATION_RGB |
GLenum |
|
gl.BLEND_SRC_ALPHA |
GLenum |
|
gl.BLEND_SRC_RGB |
GLenum |
|
gl.BLUE_BITS |
GLint |
|
gl.COLOR_CLEAR_VALUE |
Float32Array (包含 4 个值) |
|
gl.COLOR_WRITEMASK |
sequence<GLboolean >(包含 4 个值) |
|
gl.COMPRESSED_TEXTURE_FORMATS |
Uint32Array |
返回压缩纹理格式。 当使用 WEBGL_compressed_texture_s3tc 扩展时
当使用
WEBGL_compressed_texture_etc 扩展时
WEBGL_compressed_texture_pvrtc 扩展时
WEBGL_compressed_texture_etc1 扩展时
WEBGL_compressed_texture_astc 扩展时
|
gl.CULL_FACE |
GLboolean |
|
gl.CULL_FACE_MODE |
GLenum |
gl.FRONT 、gl.BACK 或 gl.FRONT_AND_BACK 。另请参阅 cullFace 。 |
gl.CURRENT_PROGRAM |
WebGLProgram 或 null |
请参阅 useProgram 。 |
gl.DEPTH_BITS |
GLint |
|
gl.DEPTH_CLEAR_VALUE |
GLfloat |
|
gl.DEPTH_FUNC |
GLenum |
|
gl.DEPTH_RANGE |
Float32Array (包含 2 个元素) |
|
gl.DEPTH_TEST |
GLboolean |
|
gl.DEPTH_WRITEMASK |
GLboolean |
|
gl.DITHER |
GLboolean |
|
gl.ELEMENT_ARRAY_BUFFER_BINDING |
WebGLBuffer |
|
gl.FRAMEBUFFER_BINDING |
WebGLFramebuffer 或 null |
null 对应于绑定到默认帧缓冲区。另请参阅 bindFramebuffer 。 |
gl.FRONT_FACE |
GLenum |
gl.CW 或 gl.CCW 。另请参阅 frontFace 。 |
gl.GENERATE_MIPMAP_HINT |
GLenum |
gl.FASTEST 、gl.NICEST 或 gl.DONT_CARE 。另请参阅 hint 。 |
gl.GREEN_BITS |
GLint |
|
gl.IMPLEMENTATION_COLOR_READ_FORMAT |
GLenum |
|
gl.IMPLEMENTATION_COLOR_READ_TYPE |
GLenum |
|
gl.LINE_WIDTH |
GLfloat |
|
gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS |
GLint |
|
gl.MAX_CUBE_MAP_TEXTURE_SIZE |
GLint |
|
gl.MAX_FRAGMENT_UNIFORM_VECTORS |
GLint |
|
gl.MAX_RENDERBUFFER_SIZE |
GLint |
|
gl.MAX_TEXTURE_IMAGE_UNITS |
GLint |
|
gl.MAX_TEXTURE_SIZE |
GLint |
|
gl.MAX_VARYING_VECTORS |
GLint |
|
gl.MAX_VERTEX_ATTRIBS |
GLint |
|
gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS |
GLint |
|
gl.MAX_VERTEX_UNIFORM_VECTORS |
GLint |
|
gl.MAX_VIEWPORT_DIMS |
Int32Array (包含 2 个元素) |
|
gl.PACK_ALIGNMENT |
GLint |
|
gl.POLYGON_OFFSET_FACTOR |
GLfloat |
|
gl.POLYGON_OFFSET_FILL |
GLboolean |
|
gl.POLYGON_OFFSET_UNITS |
GLfloat |
|
gl.RED_BITS |
GLint |
|
gl.RENDERBUFFER_BINDING |
WebGLRenderbuffer 或 null |
请参阅 bindRenderbuffer 。 |
gl.RENDERER |
string | |
gl.SAMPLE_BUFFERS |
GLint |
|
gl.SAMPLE_COVERAGE_INVERT |
GLboolean |
|
gl.SAMPLE_COVERAGE_VALUE |
GLfloat |
|
gl.SAMPLES |
GLint |
|
gl.SCISSOR_BOX |
4 个元素的 Int32Array |
|
gl.SCISSOR_TEST |
GLboolean |
|
gl.SHADING_LANGUAGE_VERSION |
string | |
gl.STENCIL_BACK_FAIL |
GLenum |
|
gl.STENCIL_BACK_FUNC |
GLenum |
|
gl.STENCIL_BACK_PASS_DEPTH_FAIL |
GLenum |
|
gl.STENCIL_BACK_PASS_DEPTH_PASS |
GLenum |
|
gl.STENCIL_BACK_REF |
GLint |
|
gl.STENCIL_BACK_VALUE_MASK |
GLuint |
|
gl.STENCIL_BACK_WRITEMASK |
GLuint |
|
gl.STENCIL_BITS |
GLint |
|
gl.STENCIL_CLEAR_VALUE |
GLint |
|
gl.STENCIL_FAIL |
GLenum |
|
gl.STENCIL_FUNC |
GLenum |
|
gl.STENCIL_PASS_DEPTH_FAIL |
GLenum |
|
gl.STENCIL_PASS_DEPTH_PASS |
GLenum |
|
gl.STENCIL_REF |
GLint |
|
gl.STENCIL_TEST |
GLboolean |
|
gl.STENCIL_VALUE_MASK |
GLuint |
|
gl.STENCIL_WRITEMASK |
GLuint |
|
gl.SUBPIXEL_BITS |
GLint |
|
gl.TEXTURE_BINDING_2D |
WebGLTexture 或 null |
|
gl.TEXTURE_BINDING_CUBE_MAP |
WebGLTexture 或 null |
|
gl.UNPACK_ALIGNMENT |
GLint |
|
gl.UNPACK_COLORSPACE_CONVERSION_WEBGL |
GLenum |
|
gl.UNPACK_FLIP_Y_WEBGL |
GLboolean |
|
gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL |
GLboolean |
|
gl.VENDOR |
string | |
gl.VERSION |
string | |
gl.VIEWPORT |
4 个元素的 Int32Array |
WebGL 2
使用 WebGL2RenderingContext
时,可以查询以下 pname
参数。
常量 | 返回类型 | 描述 |
---|---|---|
gl.COPY_READ_BUFFER_BINDING |
WebGLBuffer 或 null |
参见 bindBuffer 。 |
gl.COPY_WRITE_BUFFER_BINDING |
WebGLBuffer 或 null |
参见 bindBuffer 。 |
gl.DRAW_BUFFERi |
GLenum |
gl.BACK 、gl.NONE 或 gl.COLOR_ATTACHMENT{0-15} 。另请参见 drawBuffers 。 |
gl.DRAW_FRAMEBUFFER_BINDING |
WebGLFramebuffer 或 null |
null 对应于绑定到默认帧缓冲区。另请参阅 bindFramebuffer 。 |
gl.FRAGMENT_SHADER_DERIVATIVE_HINT |
GLenum |
gl.FASTEST 、gl.NICEST 或 gl.DONT_CARE 。另请参阅 hint 。 |
gl.MAX_3D_TEXTURE_SIZE |
GLint |
|
gl.MAX_ARRAY_TEXTURE_LAYERS |
GLint |
|
gl.MAX_CLIENT_WAIT_TIMEOUT_WEBGL |
GLint64 |
|
gl.MAX_COLOR_ATTACHMENTS |
GLint |
|
gl.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS |
GLint64 |
|
gl.MAX_COMBINED_UNIFORM_BLOCKS |
GLint |
|
gl.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS |
GLint64 |
|
gl.MAX_DRAW_BUFFERS |
GLint |
|
gl.MAX_ELEMENT_INDEX |
GLint64 |
|
gl.MAX_ELEMENTS_INDICES |
GLint |
|
gl.MAX_ELEMENTS_VERTICES |
GLint |
|
gl.MAX_FRAGMENT_INPUT_COMPONENTS |
GLint |
|
gl.MAX_FRAGMENT_UNIFORM_BLOCKS |
GLint |
|
gl.MAX_FRAGMENT_UNIFORM_COMPONENTS |
GLint |
|
gl.MAX_PROGRAM_TEXEL_OFFSET |
GLint |
|
gl.MAX_SAMPLES |
GLint |
|
gl.MAX_SERVER_WAIT_TIMEOUT |
GLint64 |
|
gl.MAX_TEXTURE_LOD_BIAS |
GLfloat |
|
gl.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS |
GLint |
|
gl.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS |
GLint |
|
gl.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS |
GLint |
|
gl.MAX_UNIFORM_BLOCK_SIZE |
GLint64 |
|
gl.MAX_UNIFORM_BUFFER_BINDINGS |
GLint |
|
gl.MAX_VARYING_COMPONENTS |
GLint |
|
gl.MAX_VERTEX_OUTPUT_COMPONENTS |
GLint |
|
gl.MAX_VERTEX_UNIFORM_BLOCKS |
GLint |
|
gl.MAX_VERTEX_UNIFORM_COMPONENTS |
GLint |
|
gl.MIN_PROGRAM_TEXEL_OFFSET |
GLint |
|
gl.PACK_ROW_LENGTH |
GLint |
参见 pixelStorei 。 |
gl.PACK_SKIP_PIXELS |
GLint |
参见 pixelStorei 。 |
gl.PACK_SKIP_ROWS |
GLint |
参见 pixelStorei 。 |
gl.PIXEL_PACK_BUFFER_BINDING |
WebGLBuffer 或 null |
参见 bindBuffer 。 |
gl.PIXEL_UNPACK_BUFFER_BINDING |
WebGLBuffer 或 null |
参见 bindBuffer 。 |
gl.RASTERIZER_DISCARD |
GLboolean |
|
gl.READ_BUFFER |
GLenum |
|
gl.READ_FRAMEBUFFER_BINDING |
WebGLFramebuffer 或 null |
null 对应于绑定到默认帧缓冲区。另请参阅 bindFramebuffer 。 |
gl.SAMPLE_ALPHA_TO_COVERAGE |
GLboolean |
|
gl.SAMPLE_COVERAGE |
GLboolean |
|
gl.SAMPLER_BINDING |
WebGLSampler 或 null |
参见 bindSampler 。 |
gl.TEXTURE_BINDING_2D_ARRAY |
WebGLTexture 或 null |
参见 bindTexture 。 |
gl.TEXTURE_BINDING_3D |
WebGLTexture 或 null |
参见 bindTexture 。 |
gl.TRANSFORM_FEEDBACK_ACTIVE |
GLboolean |
|
gl.TRANSFORM_FEEDBACK_BINDING |
WebGLTransformFeedback 或 null |
参见 bindTransformFeedback 。 |
gl.TRANSFORM_FEEDBACK_BUFFER_BINDING |
WebGLBuffer 或 null |
参见 bindBuffer 。 |
gl.TRANSFORM_FEEDBACK_PAUSED |
GLboolean |
|
gl.UNIFORM_BUFFER_BINDING |
WebGLBuffer 或 null |
参见 bindBuffer 。 |
gl.UNIFORM_BUFFER_OFFSET_ALIGNMENT |
GLint |
参见 pixelStorei 。 |
gl.UNPACK_IMAGE_HEIGHT |
GLint |
参见 pixelStorei 。 |
gl.UNPACK_ROW_LENGTH |
GLint |
参见 pixelStorei 。 |
gl.UNPACK_SKIP_IMAGES |
GLint |
参见 pixelStorei 。 |
gl.UNPACK_SKIP_PIXELS |
GLint |
参见 pixelStorei 。 |
gl.UNPACK_SKIP_ROWS |
GLint |
参见 pixelStorei 。 |
gl.VERTEX_ARRAY_BINDING |
WebGLVertexArrayObject 或 null |
参见 bindVertexArray 。 |
WebGL 扩展
使用 WebGL 扩展 时,可以查询以下 pname
参数
常量 | 返回类型 | 扩展 | 描述 |
---|---|---|---|
ext.MAX_TEXTURE_MAX_ANISOTROPY_EXT |
GLfloat |
EXT_texture_filter_anisotropic |
最大可用各向异性。 |
ext.FRAGMENT_SHADER_DERIVATIVE_HINT_OES |
GLenum |
OES_standard_derivatives |
GLSL 内置函数(dFdx 、dFdy 和 fwidth )的导数计算精度。 |
ext.MAX_COLOR_ATTACHMENTS_WEBGL |
GLint |
WEBGL_draw_buffers |
帧缓冲区颜色附件点的最大数量。 |
ext.MAX_DRAW_BUFFERS_WEBGL |
GLint |
WEBGL_draw_buffers |
绘图缓冲区的最大数量。 |
ext.DRAW_BUFFER0_WEBGL |
GLenum |
WEBGL_draw_buffers |
绘图缓冲区。 |
ext.VERTEX_ARRAY_BINDING_OES |
WebGLVertexArrayObjectOES |
OES_vertex_array_object |
绑定的顶点数组对象 (VAO)。 |
ext.TIMESTAMP_EXT |
GLuint64EXT |
当前时间。 | |
ext.GPU_DISJOINT_EXT |
GLboolean |
EXT_disjoint_timer_query |
返回 GPU 是否执行了任何分离操作。 |
ext.MAX_VIEWS_OVR |
GLint |
OVR_multiview2 |
视图的最大数量。 |
示例
js
gl.getParameter(gl.DITHER);
gl.getParameter(gl.VERSION);
gl.getParameter(gl.VIEWPORT);
规范
规范 |
---|
WebGL 规范 # 5.14.3 |
WebGL 2.0 规范 # 3.7.2 |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。