创建一个三维的纹理贴图。
[page:Object data] -- 纹理的数据。
[page:Number width] -- 纹理的宽度。
[page:Number height] -- 纹理的高度。
[page:Number depth] -- 纹理的深度。
这将创建一个具有重复数据(0 到 255)的 [name]。
// create a buffer with some data
const sizeX = 64;
const sizeY = 64;
const sizeZ = 64;
const data = new Uint8Array( sizeX * sizeY * sizeZ );
let i = 0;
for ( let z = 0; z < sizeZ; z ++ ) {
for ( let y = 0; y < sizeY; y ++ ) {
for ( let x = 0; x < sizeX; x ++ ) {
data[ i ] = i % 256;
i ++;
}
}
}
// use the buffer to create the texture
const texture = new THREE.Data3DTexture( data, sizeX, sizeY, sizeZ );
texture.needsUpdate = true;
[example:webgl_texture3d WebGL / texture3d]
[example:webgl_texture3d_partialupdate WebGL / texture3d / partialupdate]
[example:webgl_volume_cloud WebGL / volume / cloud]
[example:webgl_volume_perlin WebGL / volume / perlin]
共有属性请参见其基类[page:Texture Texture]。
如果设置为 *true*,纹理在上传到 GPU 时会被垂直翻转。默认值为 *false*。
是否为纹理生成 mipmap(如果可能)。默认为 `false`。
用包含宽度、高度和深度的对象覆盖。
只读属性,用于检查给定对象是否为 [name] 类型。
当一个纹素覆盖多个像素时,纹理的采样方式。默认值为 [page:Textures THREE.NearestFilter],即使用最接近的纹素的值。
有关详细信息,请参阅 [page:Textures texture constants]。
当纹素覆盖不到一个像素时,纹理的采样方式。默认值为 [page:Textures THREE.NearestFilter],即使用最接近的纹素的值。
有关详细信息,请参阅 [page:Textures texture constants]。
默认值为 `1`。 指定内存中每个像素行起始处的对齐要求。 允许的值为 1(字节对齐)、2(行与偶数字节对齐)、4(字对齐)和 8(行从双字边界开始)。 有关详细信息,请参阅 [link:https://registry.khronos.org/OpenGL-Refpages/es3.0/html/glPixelStorei.xhtml glPixelStorei]。
这定义了纹理在深度方向上的包裹方式。
默认值为 [page:Textures THREE.ClampToEdgeWrapping],其中边缘被紧贴到外边缘纹素上。
另外两个选择是 [page:Textures THREE.RepeatWrapping] 和 [page:Textures THREE.MirroredRepeatWrapping]。
有关详细信息,请参阅 [page:Textures texture constants] 页面。
共有方法请参见其基类[page:Texture Texture]。
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]