Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions types/three/examples/jsm/loaders/LUT3dlLoader.d.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { Loader, LoadingManager, DataTexture, DataTexture3D } from '../../../src/Three';
import { Loader, LoadingManager, DataTexture, Data3DTexture } from '../../../src/Three';

export interface LUT3dlResult {
size: number;
texture: DataTexture;
texture3D: DataTexture3D;
texture3D: Data3DTexture;
}

export class LUT3dlLoader extends Loader {
Expand Down
4 changes: 2 additions & 2 deletions types/three/examples/jsm/loaders/LUTCubeLoader.d.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { Loader, LoadingManager, Vector3, DataTexture, DataTexture3D } from '../../../src/Three';
import { Loader, LoadingManager, Vector3, DataTexture, Data3DTexture } from '../../../src/Three';

export interface LUTCubeResult {
title: string;
size: number;
domainMin: Vector3;
domainMax: Vector3;
texture: DataTexture;
texture3D: DataTexture3D;
texture3D: Data3DTexture;
}

export class LUTCubeLoader extends Loader {
Expand Down
4 changes: 2 additions & 2 deletions types/three/examples/jsm/loaders/VOXLoader.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { DataTexture3D, Mesh, Loader, LoadingManager } from '../../../src/Three';
import { Data3DTexture, Mesh, Loader, LoadingManager } from '../../../src/Three';

export interface Chunk {
palette: number[];
Expand All @@ -23,6 +23,6 @@ export class VOXMesh extends Mesh {
constructor(chunk: Chunk);
}

export class VOXDataTexture3D extends DataTexture3D {
export class VOXData3DTexture extends Data3DTexture {
constructor(chunk: Chunk);
}
6 changes: 3 additions & 3 deletions types/three/examples/jsm/postprocessing/LUTPass.d.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { DataTexture, DataTexture3D } from '../../../src/Three';
import { DataTexture, Data3DTexture } from '../../../src/Three';
import { ShaderPass } from './ShaderPass';

export interface LUTPassParameters {
lut?: DataTexture | DataTexture3D;
lut?: DataTexture | Data3DTexture;
intensity?: number;
}

export class LUTPass extends ShaderPass {
lut?: DataTexture | DataTexture3D;
lut?: DataTexture | Data3DTexture;
intensity?: number;
constructor(params: LUTPassParameters);
}
4 changes: 4 additions & 0 deletions types/three/src/Three.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,8 @@ export * from './renderers/WebGLMultipleRenderTargets';
export * from './renderers/WebGLRenderTarget';
export * from './renderers/WebGLRenderer';
export * from './renderers/WebGL1Renderer';
export * from './renderers/WebGL3DRenderTarget';
export * from './renderers/WebGLArrayRenderTarget';
export * from './renderers/shaders/ShaderLib';
export * from './renderers/shaders/UniformsLib';
export * from './renderers/shaders/UniformsUtils';
Expand Down Expand Up @@ -222,6 +224,8 @@ export * from './textures/DataTexture2DArray';
export * from './textures/DataTexture3D';
export * from './textures/CompressedTexture';
export * from './textures/CubeTexture';
export * from './textures/Data3DTexture';
export * from './textures/DataArrayTexture';
export * from './textures/CanvasTexture';
export * from './textures/DepthTexture';
export * from './textures/FramebufferTexture';
Expand Down
28 changes: 28 additions & 0 deletions types/three/src/renderers/WebGL3DRenderTarget.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { Data3DTexture } from '../textures/Data3DTexture';
import { WebGLRenderTarget } from './WebGLRenderTarget';

/**
* Represents a three-dimensional render target.
*/
export class WebGL3DRenderTarget extends WebGLRenderTarget {
/**
* Creates a new WebGL3DRenderTarget.
*
* @param width the width of the render target, in pixels.
* @param height the height of the render target, in pixels.
* @param depth the depth of the render target.
*/
constructor(width: number, height: number, depth: number);

/**
* The depth of the render target.
*/
depth: number;

/**
* The texture property is overwritten with an instance of {@link Data3DTexture}.
*/
texture: Data3DTexture;

readonly isWebGL3DRenderTarget: true;
}
28 changes: 28 additions & 0 deletions types/three/src/renderers/WebGLArrayRenderTarget.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { DataArrayTexture } from '../textures/DataArrayTexture';
import { WebGLRenderTarget } from './WebGLRenderTarget';

/**
* This type of render target represents an array of textures.
*/
export class WebGLArrayRenderTarget extends WebGLRenderTarget {
/**
* Creates a new WebGLArrayRenderTarget.
*
* @param width the width of the render target, in pixels.
* @param height the height of the render target, in pixels.
* @param depth the depth/layer count of the render target.
*/
constructor(width: number, height: number, depth: number);

/**
* The depth of the render target.
*/
depth: number;

/**
* The texture property is overwritten with an instance of {@link DataArrayTexture}.
*/
texture: DataArrayTexture;

readonly isWebGLArrayRenderTarget: true;
}
1 change: 0 additions & 1 deletion types/three/src/renderers/WebGLRenderTarget.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ export class WebGLRenderTarget extends EventDispatcher {
*/
generateMipmaps: any;

setTexture(texture: Texture): void;
setSize(width: number, height: number, depth?: number): void;
clone(): this;
copy(source: WebGLRenderTarget): this;
Expand Down
7 changes: 3 additions & 4 deletions types/three/src/renderers/WebGLRenderer.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { WebGLInfo } from './webgl/WebGLInfo';
import { WebGLShadowMap } from './webgl/WebGLShadowMap';
import { WebGLCapabilities } from './webgl/WebGLCapabilities';
import { WebGLProperties } from './webgl/WebGLProperties';
import { WebGLProgram } from './webgl/WebGLProgram';
import { WebGLRenderLists } from './webgl/WebGLRenderLists';
import { WebGLState } from './webgl/WebGLState';
import { Vector2 } from './../math/Vector2';
Expand All @@ -19,11 +18,11 @@ import { ToneMapping, ShadowMapType, CullFace, TextureEncoding } from '../consta
import { WebXRManager } from '../renderers/webxr/WebXRManager';
import { BufferGeometry } from './../core/BufferGeometry';
import { Texture } from '../textures/Texture';
import { DataTexture3D } from '../textures/DataTexture3D';
import { Data3DTexture } from '../textures/Data3DTexture';
import { XRAnimationLoopCallback } from './webxr/WebXR';
import { Vector3 } from '../math/Vector3';
import { Box3 } from '../math/Box3';
import { DataTexture2DArray } from '../textures/DataTexture2DArray';
import { DataArrayTexture } from '../textures/DataArrayTexture';
import { ColorRepresentation } from '../utils';

export interface Renderer {
Expand Down Expand Up @@ -437,7 +436,7 @@ export class WebGLRenderer implements Renderer {
sourceBox: Box3,
position: Vector3,
srcTexture: Texture,
dstTexture: DataTexture3D | DataTexture2DArray,
dstTexture: Data3DTexture | DataArrayTexture,
level?: number,
): void;

Expand Down
33 changes: 33 additions & 0 deletions types/three/src/textures/Data3DTexture.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { Texture } from './Texture';
import { TextureFilter } from '../constants';

export class Data3DTexture extends Texture {
constructor(data: BufferSource, width: number, height: number, depth: number);

/**
* @default THREE.NearestFilter
*/
magFilter: TextureFilter;

/**
* @default THREE.NearestFilter
*/
minFilter: TextureFilter;

/**
* @default THREE.ClampToEdgeWrapping
*/
wrapR: boolean;

/**
* @default false
*/
flipY: boolean;

/**
* @default false
*/
generateMipmaps: boolean;

readonly isData3DTexture: true;
}
33 changes: 33 additions & 0 deletions types/three/src/textures/DataArrayTexture.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { Texture } from './Texture';
import { TextureFilter } from '../constants';

export class DataArrayTexture extends Texture {
constructor(data?: BufferSource, width?: number, height?: number, depth?: number);

/**
* @default THREE.NearestFilter
*/
magFilter: TextureFilter;

/**
* @default THREE.NearestFilter
*/
minFilter: TextureFilter;

/**
* @default THREE.ClampToEdgeWrapping
*/
wrapR: boolean;

/**
* @default false
*/
flipY: boolean;

/**
* @default false
*/
generateMipmaps: boolean;

readonly isDataArrayTexture: true;
}
37 changes: 5 additions & 32 deletions types/three/src/textures/DataTexture2DArray.d.ts
Original file line number Diff line number Diff line change
@@ -1,33 +1,6 @@
import { Texture } from './Texture';
import { TextureFilter } from '../constants';
import { DataArrayTexture } from './DataArrayTexture';

export class DataTexture2DArray extends Texture {
constructor(data?: BufferSource, width?: number, height?: number, depth?: number);

/**
* @default THREE.NearestFilter
*/
magFilter: TextureFilter;

/**
* @default THREE.NearestFilter
*/
minFilter: TextureFilter;

/**
* @default THREE.ClampToEdgeWrapping
*/
wrapR: boolean;

/**
* @default false
*/
flipY: boolean;

/**
* @default false
*/
generateMipmaps: boolean;

readonly isDataTexture2DArray: true;
}
/**
* @deprecated THREE.DataTexture2DArray has been renamed to DataArrayTexture.
*/
export class DataTexture2DArray extends DataArrayTexture {}
37 changes: 5 additions & 32 deletions types/three/src/textures/DataTexture3D.d.ts
Original file line number Diff line number Diff line change
@@ -1,33 +1,6 @@
import { Texture } from './Texture';
import { TextureFilter } from '../constants';
import { Data3DTexture } from './Data3DTexture';

export class DataTexture3D extends Texture {
constructor(data: BufferSource, width: number, height: number, depth: number);

/**
* @default THREE.NearestFilter
*/
magFilter: TextureFilter;

/**
* @default THREE.NearestFilter
*/
minFilter: TextureFilter;

/**
* @default THREE.ClampToEdgeWrapping
*/
wrapR: boolean;

/**
* @default false
*/
flipY: boolean;

/**
* @default false
*/
generateMipmaps: boolean;

readonly isDataTexture3D: true;
}
/**
* @deprecated THREE.DataTexture3D has been renamed to Data3DTexture.
*/
export class DataTexture3D extends Data3DTexture {}
4 changes: 2 additions & 2 deletions types/three/test/loaders/loaders-voxloader.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as THREE from 'three';
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
import { VOXLoader, VOXDataTexture3D } from 'three/examples/jsm/loaders/VOXLoader';
import { VOXLoader, VOXData3DTexture } from 'three/examples/jsm/loaders/VOXLoader';

import { WEBGL } from 'three/examples/jsm/WebGL';

Expand Down Expand Up @@ -150,7 +150,7 @@ function init() {
const material = new THREE.RawShaderMaterial({
glslVersion: THREE.GLSL3,
uniforms: {
map: { value: new VOXDataTexture3D(chunk) },
map: { value: new VOXData3DTexture(chunk) },
cameraPos: { value: new THREE.Vector3() },
},
vertexShader,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ let scene: THREE.Scene;
let camera: THREE.PerspectiveCamera;
let mesh: THREE.Mesh;
let prevTime = performance.now();
let cloudTexture: THREE.DataTexture3D | null = null;
let cloudTexture: THREE.Data3DTexture | null = null;

init();
animate();
Expand Down Expand Up @@ -44,7 +44,7 @@ function generateCloudTexture(size: number, scaleFactor = 1.0) {
}
}

return new THREE.DataTexture3D(data, size, size, size);
return new THREE.Data3DTexture(data, size, size, size);
}

function init() {
Expand Down Expand Up @@ -82,7 +82,7 @@ function init() {

// Texture

const texture = new THREE.DataTexture3D(
const texture = new THREE.Data3DTexture(
new Uint8Array(INITIAL_CLOUD_SIZE * INITIAL_CLOUD_SIZE * INITIAL_CLOUD_SIZE).fill(0),
INITIAL_CLOUD_SIZE,
INITIAL_CLOUD_SIZE,
Expand Down Expand Up @@ -290,7 +290,7 @@ function animate() {
const scaleFactor = (Math.random() + 0.5) * 0.5;
const source = generateCloudTexture(perElementPaddedSize, scaleFactor);

renderer.copyTextureToTexture3D(box, position, source, cloudTexture as THREE.DataTexture3D);
renderer.copyTextureToTexture3D(box, position, source, cloudTexture as THREE.Data3DTexture);

prevTime = time;

Expand Down
Loading