--- title: WebGL2RenderingContext.texImage3D() slug: Web/API/WebGL2RenderingContext/texImage3D translation_of: Web/API/WebGL2RenderingContext/texImage3D ---
WebGL API 的 WebGLRenderingContext.texImage3D()
方法指定一个3d(three-dimensional)纹理贴图。
void gl.texImage3D(target, level, internalformat, width, height, depth, border, format, type, GLintptr offset); void gl.texImage3D(target, level, internalformat, width, height, depth, border, format, type, HTMLCanvasElement source); void gl.texImage3D(target, level, internalformat, width, height, depth, border, format, type, HTMLImageElement source); void gl.texImage3D(target, level, internalformat, width, height, depth, border, format, type, HTMLVideoElement source); void gl.texImage3D(target, level, internalformat, width, height, depth, border, format, type, ImageBitmap source); void gl.texImage3D(target, level, internalformat, width, height, depth, border, format, type, ImageData source); void gl.texImage3D(target, level, internalformat, width, height, depth, border, format, type, ArrayBufferView? srcData); void gl.texImage3D(target, level, internalformat, width, height, depth, border, format, type, ArrayBufferView srcData, srcOffset);
target
gl.TEXTURE_3D
: 一个3D贴图gl.TEXTURE_2D_ARRAY
: 一个2D数组贴图level
internalformat
gl.ALPHA
: 忽略红色,绿色,蓝色分量值只读取alpha信息。gl.RGB
: 忽略alpha信息,读取红绿蓝分量gl.RGBA
: 从颜色缓冲(colorBuffer)读取红色,绿色,蓝色和alpha分量gl.LUMINANCE
:每个颜色组件都是亮度组件,alpha值为1.0.gl.LUMINANCE_ALPHA
:每个组件都是亮度/alpha 组件(component) .gl.R8
gl.R16F
gl.
R32Fgl.R8UI
gl.RG8
gl.RG16F
gl.RG32F
gl.RGUI
gl.RGB8
gl.SRGB8
gl.RGB565
gl.R11F_G11F_B10F
gl.RGB9_E5
gl.RGB16F
gl.RGB32F
gl.RGB8UI
gl.RGBA8
gl.SRGB_APLHA8
gl.RGB5_A1
gl.RGBA4444
gl.RGBA16F
gl.RGBA32F
gl.RGBA8UI
width
height
depth
border
format
内部格式
组合被列举在 这个列表。type
gl.UNSIGNED_BYTE
: 每个gl.RGBA
对应8个字节gl.UNSIGNED_SHORT_5_6_5
: 红色占五个字节,绿色占六个字节,蓝色占五个字节gl.UNSIGNED_SHORT_4_4_4_4
: 红色占四个字节,绿色占 四 个字节,蓝色占 四 个字节gl.UNSIGNED_SHORT_5_5_5_1
:红色占五个字节,绿色占五个字节,蓝色占五个字节,alpha占一个字节gl.BYTE
(这些属性的信息原文中均未提到,但是在webgl1中出现过,可以适当参考webgl1文献)gl.UNSIGNED_SHORT
gl.SHORT
gl.UNSIGNED_INT
gl.INT
gl.HALF_FLOAT
gl.FLOAT
gl.UNSIGNED_INT_2_10_10_10_REV
gl.UNSIGNED_INT_10F_11F_11F_REV
gl.UNSIGNED_INT_5_9_9_9_REV
gl.UNSIGNED_INT_24_8
gl.FLOAT_32_UNSIGNED_INT_24_8_REV
(pixels must be {{jsxref("null")}})source
WebGLBuffer
绑定到PIXEL_UNPACK_BUFFER
的{{domxref("WebGLTexture")}} 。没有
gl.texImage3D(gl.TEXTURE_3D, 0, // level gl.RGBA, // internalFormat 1, // width 1, // height 1, // depth 0, // border gl.RGBA, // format gl.UNSIGNED_BYTE, // type new Uint8Array([0xff, 0x00, 0x00, 0x00])); // data
说明(Specification ) | 状态(Status) | 意见(Comment) |
---|---|---|
{{SpecName('WebGL2', "#3.7.6", "texImage3D")}} | {{Spec2('WebGL2')}} | Updated definition for WebGL. |
{{SpecName('OpenGL ES 3.0', "glTexImage3D.xhtml", "glTexImage3D")}} | {{Spec2('OpenGL ES 3.0')}} | Man page of the (similar) OpenGL ES 3.0 API. |
此页面上的兼容性表格已经由构造数据生成,如果想为数据做出贡献,请点击https://github.com/mdn/browser-compat-data并且给我们一个回复
{{Compat("api.WebGL2RenderingContext.texImage3D")}}