WebGLRenderingContext: getParameter() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

注意:此功能在 Web Workers 中可用。

WebGL API 的 WebGLRenderingContext.getParameter() 方法返回所傳引數名稱的值。

語法

js
getParameter(pname)

引數

pname

一個 GLenum,指定要返回的引數值。可能的值請參見下文。

返回值

取決於引數。

引數名稱

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 擴充套件時
  • 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_etc 擴充套件時
  • 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_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.FRONTgl.BACKgl.FRONT_AND_BACK。另請參見 cullFace
gl.CURRENT_PROGRAM WebGLProgramnull 請參見 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 WebGLFramebuffernull null 對應於繫結到預設幀緩衝區。另請參見 bindFramebuffer
gl.FRONT_FACE GLenum gl.CWgl.CCW。另請參見 frontFace
gl.GENERATE_MIPMAP_HINT GLenum gl.FASTESTgl.NICESTgl.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 WebGLRenderbuffernull 請參見 bindRenderbuffer
gl.RENDERER string
gl.SAMPLE_BUFFERS GLint
gl.SAMPLE_COVERAGE_INVERT GLboolean
gl.SAMPLE_COVERAGE_VALUE GLfloat
gl.SAMPLES GLint
gl.SCISSOR_BOX Int32Array(包含 4 個元素)
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 WebGLTexturenull
gl.TEXTURE_BINDING_CUBE_MAP WebGLTexturenull
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 Int32Array(包含 4 個元素)

WebGL 2

在使用 WebGL2RenderingContext 時,可以查詢以下 pname 引數。

常量 返回型別 描述
gl.COPY_READ_BUFFER_BINDING WebGLBuffernull 請參見 bindBuffer
gl.COPY_WRITE_BUFFER_BINDING WebGLBuffernull 請參見 bindBuffer
gl.DRAW_BUFFERi GLenum gl.BACKgl.NONEgl.COLOR_ATTACHMENT{0-15}。另請參見 drawBuffers
gl.DRAW_FRAMEBUFFER_BINDING WebGLFramebuffernull null 對應於繫結到預設幀緩衝區。另請參見 bindFramebuffer
gl.FRAGMENT_SHADER_DERIVATIVE_HINT GLenum gl.FASTESTgl.NICESTgl.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 WebGLBuffernull 請參見 bindBuffer
gl.PIXEL_UNPACK_BUFFER_BINDING WebGLBuffernull 請參見 bindBuffer
gl.RASTERIZER_DISCARD GLboolean
gl.READ_BUFFER GLenum
gl.READ_FRAMEBUFFER_BINDING WebGLFramebuffernull null 對應於繫結到預設幀緩衝區。另請參見 bindFramebuffer
gl.SAMPLE_ALPHA_TO_COVERAGE GLboolean
gl.SAMPLE_COVERAGE GLboolean
gl.SAMPLER_BINDING WebGLSamplernull 請參見 bindSampler
gl.TEXTURE_BINDING_2D_ARRAY WebGLTexturenull 請參見 bindTexture
gl.TEXTURE_BINDING_3D WebGLTexturenull 請參見 bindTexture
gl.TRANSFORM_FEEDBACK_ACTIVE GLboolean
gl.TRANSFORM_FEEDBACK_BINDING WebGLTransformFeedbacknull 請參見 bindTransformFeedback
gl.TRANSFORM_FEEDBACK_BUFFER_BINDING WebGLBuffernull 請參見 bindBuffer
gl.TRANSFORM_FEEDBACK_PAUSED GLboolean
gl.UNIFORM_BUFFER_BINDING WebGLBuffernull 請參見 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 WebGLVertexArrayObjectnull 請參見 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 內建函式 dFdxdFdyfwidth 的導數計算精度。
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 是否執行了任何不連續操作。

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

瀏覽器相容性

另見