WebGLRenderingContext.getParameter()

WebGL APIWebGLRenderingContext.getParameter() 方法为传入的参数名称返回一个值。

语法

any gl.getParameter(pname);

参数

pname
一个指定要返回哪个参数值的 GLenum。请参阅下文的可能值。

返回值

取决于参数。

参数名称

WebGL 1

使用 WebGLRenderingContext 时,您可以查询以下 pname 参数。

常量 返回类型 描述
gl.ACTIVE_TEXTURE GLenum  
gl.ALIASED_LINE_WIDTH_RANGE Float32Array (with 2 elements)  
gl.ALIASED_POINT_SIZE_RANGE Float32Array (with 2 elements)  
gl.ALPHA_BITS GLint  
gl.ARRAY_BUFFER_BINDING WebGLBuffer  
gl.BLEND GLboolean  
gl.BLEND_COLOR Float32Array (with 4 values)  
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 (with 4 values)  
gl.COLOR_WRITEMASK sequence<GLboolean> (with 4 values)  
gl.COMPRESSED_TEXTURE_FORMATS Uint32Array 返回压缩的纹理格式。

当使用 WEBGL_compressed_texture_s3tc 扩展时:
  • ext.COMPRESSED_RGB_S3TC_DXT1_EXT
  • ext.COMPRESSED_RGBA_S3TC_DXT1_EXT
  • ext.COMPRESSED_RGBA_S3TC_DXT3_EXT
  • ext.COMPRESSED_RGBA_S3TC_DXT5_EXT

当使用 WEBGL_compressed_texture_s3tc_srgb 扩展时:

  • ext.COMPRESSED_SRGB_S3TC_DXT1_EXT
  • ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
  • ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
  • ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
当使用 WEBGL_compressed_texture_es3 扩展时:
  • ext.COMPRESSED_R11_EAC
  • ext.COMPRESSED_SIGNED_R11_EAC
  • ext.COMPRESSED_RG11_EAC
  • ext.COMPRESSED_SIGNED_RG11_EAC
  • ext.COMPRESSED_RGB8_ETC2
  • ext.COMPRESSED_RGBA8_ETC2_EAC
  • ext.COMPRESSED_SRGB8_ETC2
  • ext.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
  • ext.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
  • ext.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
当使用 WEBGL_compressed_texture_pvrtc 扩展时:
  • ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
  • ext.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
  • ext.COMPRESSED_RGB_PVRTC_2BPPV1_IMG
  • ext.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG
当使用 WEBGL_compressed_texture_etc1 扩展时:
  • ext.COMPRESSED_RGB_ETC1_WEBGL
当使用 WEBGL_compressed_texture_atc 扩展时:
  • ext.COMPRESSED_RGB_ATC_WEBGL
  • ext.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL
  • ext.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
当使用 WEBGL_compressed_texture_astc 扩展时:
  • ext.COMPRESSED_RGBA_ASTC_4x4_KHR
    ext.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR
  • ext.COMPRESSED_RGBA_ASTC_5x4_KHR
    ext.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR
  • ext.COMPRESSED_RGBA_ASTC_5x5_KHR
    ext.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR
  • ext.COMPRESSED_RGBA_ASTC_6x5_KHR
    ext.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR
  • ext.COMPRESSED_RGBA_ASTC_6x6_KHR
    ext.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR
  • ext.COMPRESSED_RGBA_ASTC_8x5_KHR
    ext.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR
  • ext.COMPRESSED_RGBA_ASTC_8x6_KHR
    ext.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR
  • ext.COMPRESSED_RGBA_ASTC_8x8_KHR
    ext.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR
  • ext.COMPRESSED_RGBA_ASTC_10x5_KHR
    ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR
  • ext.COMPRESSED_RGBA_ASTC_10x6_KHR
    ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR
  • ext.COMPRESSED_RGBA_ASTC_10x6_KHR
    ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR
  • ext.COMPRESSED_RGBA_ASTC_10x10_KHR
    ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR
  • ext.COMPRESSED_RGBA_ASTC_12x10_KHR
    ext.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR
  • ext.COMPRESSED_RGBA_ASTC_12x12_KHR
    ext.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR
gl.CULL_FACE GLboolean  
gl.CULL_FACE_MODE GLenum  
gl.CURRENT_PROGRAM WebGLProgram  
gl.DEPTH_BITS GLint  
gl.DEPTH_CLEAR_VALUE GLfloat  
gl.DEPTH_FUNC GLenum  
gl.DEPTH_RANGE Float32Array (with 2 elements)  
gl.DEPTH_TEST GLboolean  
gl.DEPTH_WRITEMASK GLboolean  
gl.DITHER GLboolean  
gl.ELEMENT_ARRAY_BUFFER_BINDING WebGLBuffer  
gl.FRAMEBUFFER_BINDING WebGLFramebuffer  
gl.FRONT_FACE GLenum  
gl.GENERATE_MIPMAP_HINT GLenum  
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 (with 2 elements)  
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  
gl.RENDERER DOMString  
gl.SAMPLE_BUFFERS GLint  
gl.SAMPLE_COVERAGE_INVERT GLboolean  
gl.SAMPLE_COVERAGE_VALUE GLfloat  
gl.SAMPLES GLint  
gl.SCISSOR_BOX Int32Array (with 4 elements)  
gl.SCISSOR_TEST GLboolean  
gl.SHADING_LANGUAGE_VERSION DOMString  
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  
gl.TEXTURE_BINDING_CUBE_MAP WebGLTexture  
gl.UNPACK_ALIGNMENT GLint  
gl.UNPACK_COLORSPACE_CONVERSION_WEBGL GLenum  
gl.UNPACK_FLIP_Y_WEBGL GLboolean  
gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL GLboolean  
gl.VENDOR DOMString  
gl.VERSION DOMString  
gl.VIEWPORT Int32Array (with 4 elements)  

WebGL 2

使用 WebGL2RenderingContext 时,您可以查询以下 pname 参数。

常量 返回类型 描述
gl.COPY_READ_BUFFER_BINDING WebGLBuffer  
gl.COPY_WRITE_BUFFER_BINDING WebGLBuffer  
gl.DRAW_BUFFERi GLenum  
gl.DRAW_FRAMEBUFFER_BINDING WebGLFramebuffer  
gl.FRAGMENT_SHADER_DERIVATIVE_HINT GLenum  
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  
gl.PACK_SKIP_PIXELS GLint  
gl.PACK_SKIP_ROWS GLint  
gl.PIXEL_PACK_BUFFER_BINDING WebGLBuffer  
gl.PIXEL_UNPACK_BUFFER_BINDING WebGLBuffer  
gl.RASTERIZER_DISCARD GLboolean  
gl.READ_BUFFER GLenum  
gl.READ_FRAMEBUFFER_BINDING WebGLFramebuffer  
gl.SAMPLE_ALPHA_TO_COVERAGE GLboolean  
gl.SAMPLE_COVERAGE GLboolean  
gl.SAMPLER_BINDING WebGLSampler  
gl.TEXTURE_BINDING_2D_ARRAY WebGLTexture  
gl.TEXTURE_BINDING_3D WebGLTexture  
gl.TRANSFORM_FEEDBACK_ACTIVE GLboolean  
gl.TRANSFORM_FEEDBACK_BINDING WebGLTransformFeedback  
gl.TRANSFORM_FEEDBACK_BUFFER_BINDING WebGLBuffer  
gl.TRANSFORM_FEEDBACK_PAUSED GLboolean  
gl.UNIFORM_BUFFER_BINDING WebGLBuffer  
gl.UNIFORM_BUFFER_OFFSET_ALIGNMENT GLint  
gl.UNPACK_IMAGE_HEIGHT GLint  
gl.UNPACK_ROW_LENGTH GLint  
gl.UNPACK_SKIP_IMAGES GLint  
gl.UNPACK_SKIP_PIXELS GLint  
gl.UNPACK_SKIP_ROWS GLint  
gl.VERTEX_ARRAY_BINDING WebGLVertexArrayObject  

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
ext.DRAW_BUFFER1_WEBGL
ext.DRAW_BUFFER2_WEBGL
ext.DRAW_BUFFER3_WEBGL
ext.DRAW_BUFFER4_WEBGL
ext.DRAW_BUFFER5_WEBGL
ext.DRAW_BUFFER6_WEBGL
ext.DRAW_BUFFER7_WEBGL
ext.DRAW_BUFFER8_WEBGL
ext.DRAW_BUFFER9_WEBGL
ext.DRAW_BUFFER10_WEBGL
ext.DRAW_BUFFER11_WEBGL
ext.DRAW_BUFFER12_WEBGL
ext.DRAW_BUFFER13_WEBGL
ext.DRAW_BUFFER14_WEBGL
ext.DRAW_BUFFER15_WEBGL
GLenum WEBGL_draw_buffers 绘图缓冲区。
ext.VERTEX_ARRAY_BINDING_OES WebGLVertexArrayObjectOES OES_vertex_array_object 绑定的顶点数组对象(VAO)。
ext.TIMESTAMP_EXT GLuint64EXT

EXT_disjoint_timer_query

当前时间。
ext.GPU_DISJOINT_EXT GLboolean EXT_disjoint_timer_query

返回 GPU 是否执行了任何不相交的操作。

示例

gl.getParameter(gl.DITHER);
gl.getParameter(gl.VERSION);
gl.getParameter(gl.VIEWPORT);

规范

规范 状态 注释
WebGL 1.0
getParameter
Recommendation 初始定义。
WebGL 2.0
getParameter
Editor's Draft 添加额外的参数名称。
OpenGL ES 2.0
glGet
Standard (类似的)OpenGL API的手册页。

浏览器兼容性

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support 9Edge Full support 12Firefox Full support 4IE Full support 11Opera Full support 12Safari Full support 5.1WebView Android Full support YesChrome Android Full support 25Edge Mobile Full support YesFirefox Android Full support YesOpera Android Full support 12Safari iOS Full support 8.1Samsung Internet Android Full support Yes

Legend

Full support  
Full support

另请参阅

文档标签和贡献者

标签: 
此页面的贡献者: dondevi
最后编辑者: dondevi,