WebGLRenderingContext: texParameter[fi]() 方法

WebGLRenderingContext.texParameter[fi]()WebGL API 的方法,用于设置纹理参数。

语法

js
texParameterf(target, pname, param)
texParameteri(target, pname, param)

参数

target

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

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

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

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

param 参数是一个 GLfloatGLint,指定要设置的指定参数的值。

pname

pname 参数是一个 GLenum,指定要设置的纹理参数。

pname 描述 param
在 WebGL 1 中可用
gl.TEXTURE_MAG_FILTER 纹理放大过滤器 gl.LINEAR(默认值),gl.NEAREST
gl.TEXTURE_MIN_FILTER 纹理缩小过滤器 gl.LINEAR, gl.NEAREST, gl.NEAREST_MIPMAP_NEAREST, gl.LINEAR_MIPMAP_NEAREST, gl.NEAREST_MIPMAP_LINEAR(默认值),gl.LINEAR_MIPMAP_LINEAR
gl.TEXTURE_WRAP_S 纹理坐标 s 的包装函数 gl.REPEAT(默认值),gl.CLAMP_TO_EDGEgl.MIRRORED_REPEAT
gl.TEXTURE_WRAP_T 纹理坐标 t 的包装函数 gl.REPEAT(默认值),gl.CLAMP_TO_EDGEgl.MIRRORED_REPEAT
在使用 EXT_texture_filter_anisotropic 扩展时,还可以使用以下值
ext.TEXTURE_MAX_ANISOTROPY_EXT 纹理的最大各向异性 一个 GLfloat 值。
在使用 WebGL 2 上下文时,还可以使用以下值
gl.TEXTURE_BASE_LEVEL 纹理mipmap 层级 任何整数。
gl.TEXTURE_COMPARE_FUNC 纹理比较函数 gl.LEQUAL(默认值),gl.GEQUALgl.LESSgl.GREATERgl.EQUALgl.NOTEQUALgl.ALWAYSgl.NEVER
gl.TEXTURE_COMPARE_MODE 纹理比较模式 gl.NONE(默认值),gl.COMPARE_REF_TO_TEXTURE
gl.TEXTURE_MAX_LEVEL 最大纹理 mipmap 数组层级 任何整数。
gl.TEXTURE_MAX_LOD 纹理最大细节等级值 任何浮点值。
gl.TEXTURE_MIN_LOD 纹理最小细节等级值 任何浮点值。
gl.TEXTURE_WRAP_R 纹理坐标 r 的包装函数 gl.REPEAT(默认值),gl.CLAMP_TO_EDGEgl.MIRRORED_REPEAT

返回值

无 (undefined).

示例

js
gl.texParameterf(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
gl.texParameteri(
  gl.TEXTURE_2D,
  gl.TEXTURE_MIN_FILTER,
  gl.LINEAR_MIPMAP_NEAREST,
);

规范

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

浏览器兼容性

api.WebGLRenderingContext.texParameterf

BCD 表仅在浏览器中加载

api.WebGLRenderingContext.texParameteri

BCD 表仅在浏览器中加载

另请参阅