WebGL2RenderingContext: texStorage2D() 方法
WebGL2RenderingContext.texStorage2D()
方法是 WebGL API 的一部分,用于指定二维纹理存储的所有级别。
语法
js
texStorage2D(target, levels, internalformat, width, height)
参数
target
-
一个
GLenum
,指定活动纹理的绑定点(目标)。可能的值gl.TEXTURE_2D
:二维纹理。gl.TEXTURE_CUBE_MAP
:立方体贴图纹理。
levels
-
一个
GLint
,指定纹理级别的数量。 internalformat
-
一个
GLenum
,指定纹理存储格式。可能的值gl.R8
gl.R16F
gl.R32F
gl.R8UI
gl.RG8
gl.RG16F
gl.RG32F
gl.RG8UI
gl.RGB8
gl.SRGB8
gl.RGB565
gl.R11F_G11F_B10F
gl.RGB9_E5
gl.RGB16F
gl.RGB32F
gl.RGB8UI
gl.RGBA8
gl.SRGB8_ALPHA8
gl.RGB5_A1
gl.RGBA4
gl.RGBA16F
gl.RGBA32F
gl.RGBA8UI
与 OpenGL 3.0 不同,WebGL 2 **不支持**以下 ETC2 和 EAC 压缩纹理格式(请参阅 WebGL 2 规范中的 第 5.37 节)。不过,您可能能够通过
WEBGL_compressed_texture_etc
扩展来启用它们。gl.COMPRESSED_R11_EAC
gl.COMPRESSED_SIGNED_R11_EAC
gl.COMPRESSED_RG11_EAC
gl.COMPRESSED_SIGNED_RG11_EAC
gl.COMPRESSED_RGB8_ETC2
gl.COMPRESSED_RGBA8_ETC2_EAC
gl.COMPRESSED_SRGB8_ETC2
gl.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
gl.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
gl.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
width
-
一个
GLsizei
,指定纹理的宽度。 height
-
一个
GLsizei
,指定纹理的高度。
返回值
无 (undefined
).
示例
js
gl.texStorage2D(gl.TEXTURE_2D, 1, gl.RGB8, 256, 256);
规范
规范 |
---|
WebGL 2.0 规范 # 3.7.6 |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。