WebGLRenderingContext: activeTexture() 方法
WebGLRenderingContext.activeTexture()
方法是 WebGL API 的一部分,用于指定要激活的纹理单元。
语法
js
activeTexture(texture)
参数
texture
-
要激活的纹理单元。该值为
gl.TEXTUREI
,其中 I 的范围为 0 到gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1
。
返回值
无 (undefined
).
异常
如果 texture 不是 gl.TEXTUREI
之一,其中 I 的范围为 0 到 gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1
,则会抛出 gl.INVALID_ENUM
错误。
示例
以下调用选择 gl.TEXTURE1
作为当前纹理。随后修改纹理状态的调用将影响此纹理。
js
gl.activeTexture(gl.TEXTURE1);
纹理单元的数量取决于实现,您可以使用 MAX_COMBINED_TEXTURE_IMAGE_UNITS
常量获取此数量。根据规范,它至少为 8。
js
gl.getParameter(gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS);
要获取活动纹理,请查询 ACTIVE_TEXTURE
常量。
js
gl.activeTexture(gl.TEXTURE0);
gl.getParameter(gl.ACTIVE_TEXTURE);
// returns "33984" (0x84C0, gl.TEXTURE0 enum value)
规范
规范 |
---|
WebGL 规范 # 5.14.3 |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。