Class: VolumeTexture3D
Defined in: textures/VolumeTexture3D.ts:37
Wrapper for uploading volumetric data to GPU as a 3D texture.
WebGL2 only.
Constructors
Constructor
new VolumeTexture3D(
data,
nx,
ny,
nz,
options?
): VolumeTexture3D;Defined in: textures/VolumeTexture3D.ts:49
Parameters
data
Float32Array<ArrayBufferLike> | ArrayLike<number>
nx
number
ny
number
nz
number
options?
Returns
VolumeTexture3D
Properties
dims
readonly dims: Vector3;Defined in: textures/VolumeTexture3D.ts:38
texture
readonly texture: Data3DTexture;Defined in: textures/VolumeTexture3D.ts:39
Methods
getFilter()
getFilter(): VolumeTextureFilter;Defined in: textures/VolumeTexture3D.ts:90
The requested sampling between voxel centres.
Returns
getEffectiveFilter()
getEffectiveFilter(): VolumeTextureFilter;Defined in: textures/VolumeTexture3D.ts:98
The sampling the texture actually uses: the requested filter, or 'nearest' after prepareForRenderer found linear unsupported.
Returns
setFilter()
setFilter(filter): void;Defined in: textures/VolumeTexture3D.ts:105
Set sampling between voxel centres. Changing it re-uploads the texture.
Parameters
filter
Returns
void
prepareForRenderer()
prepareForRenderer(renderer): void;Defined in: textures/VolumeTexture3D.ts:120
Make the texture complete on renderer: a linearly filtered float 3D texture without OES_texture_float_linear samples as black, so linear is replaced by nearest there (and restored on a renderer that supports it). Cheap enough to call before every draw; GPU materials do so.
Parameters
renderer
WebGLRenderer
Returns
void
supportsLinearFiltering()
static supportsLinearFiltering(renderer, options?): boolean;Defined in: textures/VolumeTexture3D.ts:138
Whether renderer can linearly filter this kind of volume texture. WebGL2 filters half-float textures natively; float textures need OES_texture_float_linear.
Parameters
renderer
WebGLRenderer
options?
useHalfFloat?
boolean
Returns
boolean
updateData()
updateData(data): void;Defined in: textures/VolumeTexture3D.ts:171
Update the underlying GPU texture data (e.g., for a 4D timepoint change).
Parameters
data
Float32Array<ArrayBufferLike> | ArrayLike<number>
Returns
void
isSupported()
static isSupported(renderer, options?): boolean;Defined in: textures/VolumeTexture3D.ts:197
WebGL2 support check. If you require smooth sampling (LinearFilter) for float/half-float, also require the corresponding linear-filtering extension.
Parameters
renderer
WebGLRenderer
options?
requireLinearFiltering?
boolean
useHalfFloat?
boolean
Returns
boolean
dispose()
dispose(): void;Defined in: textures/VolumeTexture3D.ts:211
Returns
void