WebGLRenderingContext: getTexParameter() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

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

WebGLRenderingContext.getTexParameter() 方法是 WebGL API 的一部分,用于获取给定纹理的信息。

语法

js
getTexParameter(target, pname)

参数

目标

一个 GLenum,指定绑定点(目标)。可能的值

  • gl.TEXTURE_2D:一个二维纹理。
  • gl.TEXTURE_CUBE_MAP:立方体贴图纹理。

使用 WebGL 2 上下文时,还可以使用以下值:

  • gl.TEXTURE_3D:三维纹理。
  • gl.TEXTURE_2D_ARRAY:二维数组纹理。
pname

一个 GLenum,指定要查询的信息。可能的值

pname 返回类型 描述 可能的返回值
在 WebGL 1 上下文中可用
gl.TEXTURE_MAG_FILTER GLenum 纹理放大滤镜 gl.LINEAR (默认值), gl.NEAREST
gl.TEXTURE_MIN_FILTER GLenum 纹理缩小滤镜 gl.LINEAR, gl.NEAREST, gl.NEAREST_MIPMAP_NEAREST, gl.LINEAR_MIPMAP_NEAREST, gl.NEAREST_MIPMAP_LINEAR (默认值), gl.LINEAR_MIPMAP_LINEAR
gl.TEXTURE_WRAP_S GLenum 纹理坐标 s 的环绕函数 gl.REPEAT (默认值), gl.CLAMP_TO_EDGE, gl.MIRRORED_REPEAT
gl.TEXTURE_WRAP_T GLenum 纹理坐标 t 的环绕函数 gl.REPEAT (默认值), gl.CLAMP_TO_EDGE, gl.MIRRORED_REPEAT
使用 EXT_texture_filter_anisotropic 扩展时也可额外使用
ext.TEXTURE_MAX_ANISOTROPY_EXT GLfloat 纹理的最大各向异性 任何浮点值。
使用 WebGL 2 上下文时也可额外使用
gl.TEXTURE_BASE_LEVEL GLint 纹理 mipmap 级别 任何整数值。
gl.TEXTURE_COMPARE_FUNC GLenum 比较函数 gl.LEQUAL (默认值), gl.GEQUAL, gl.LESS, gl.GREATER, gl.EQUAL, gl.NOTEQUAL, gl.ALWAYS, gl.NEVER
gl.TEXTURE_COMPARE_MODE GLenum 纹理比较模式 gl.NONE (默认值), gl.COMPARE_REF_TO_TEXTURE
gl.TEXTURE_IMMUTABLE_FORMAT GLboolean 纹理格式和大小的不可变性 true 或 false。
gl.TEXTURE_IMMUTABLE_LEVELS GLuint ? 任何无符号整数值。
gl.TEXTURE_MAX_LEVEL GLint 最大纹理 mipmap 数组级别 任何整数值。
gl.TEXTURE_MAX_LOD GLfloat 纹理最大细节级别值 任何浮点值。
gl.TEXTURE_MIN_LOD GLfloat 纹理最小细节级别值 任何浮点值。
gl.TEXTURE_WRAP_R GLenum 纹理坐标 r 的环绕函数 gl.REPEAT (默认值), gl.CLAMP_TO_EDGE, gl.MIRRORED_REPEAT

返回值

返回请求的纹理信息(由 pname 指定)。如果发生错误,将返回 null

示例

js
gl.getTexParameter(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER);

规范

规范
WebGL 规范
# 5.14.8
WebGL 2.0 规范
# 3.7.6

浏览器兼容性

另见