--- title: WebGL2RenderingContext.texImage3D() slug: Web/API/WebGL2RenderingContext/texImage3D translation_of: Web/API/WebGL2RenderingContext/texImage3D ---
{{APIRef("WebGL")}} {{SeeCompatTable}}

WebGL APIWebGLRenderingContext.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
 {{domxref("GLenum")}}指定绑定纹理图像类型。可能值:
level
{{domxref("GLint")}}指定细节等级。level0是基础图片等级, n是第n个mipmap纹理衰减等级。(译者注:原文中衰减应该指像素,并且注意,webgl的Mipmapping技术要求顶层图像的行和列的维数均为2的幂)
internalformat
{{domxref("GLint")}}指定贴图的颜色组成,可能值为:
width
 {{domxref("GLsizei")}}指定纹理的宽度
height
{{domxref("GLsizei")}} 指定纹理的高度
depth
{{domxref("GLsizei")}} 指定纹理的深度信息
border
{{domxref("GLint")}}指定边框宽度,必须为0
format
{{domxref("GLenum")}}制定纹素的版本。正确的 内部格式 组合被列举在 这个列表
type
A {{domxref("GLenum")}}指定纹素的数据类型,可能值:
source
其中一个对象可以用作纹理对象的源:
offset
一个针对于{{domxref("WebGLBuffer")}}所储存数据的{{domxref("GLintptr")}}字节的偏移量。用来重新加载已经用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.

浏览器兼容性

{{Compat("api.WebGL2RenderingContext.texImage3D")}}

另见