@types/three 0.148.1 → 0.150.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- three/README.md +2 -2
- three/build/three.d.cts +2 -0
- three/build/three.d.ts +2 -0
- three/build/three.module.d.ts +2 -0
- three/examples/jsm/controls/OrbitControls.d.ts +8 -3
- three/examples/jsm/controls/TrackballControls.d.ts +2 -2
- three/examples/jsm/controls/TransformControls.d.ts +4 -4
- three/examples/jsm/helpers/OctreeHelper.d.ts +1 -1
- three/examples/jsm/helpers/ViewHelper.d.ts +16 -0
- three/examples/jsm/libs/fflate.module.d.ts +1 -0
- three/examples/jsm/libs/lil-gui.module.min.d.ts +1 -0
- three/examples/jsm/libs/stats.module.d.ts +2 -23
- three/examples/jsm/loaders/HDRCubeTextureLoader.d.ts +1 -1
- three/examples/jsm/loaders/IFCLoader.d.ts +1 -0
- three/examples/jsm/loaders/USDZLoader.d.ts +1 -0
- three/examples/jsm/loaders/VOXLoader.d.ts +1 -1
- three/examples/jsm/nodes/loaders/NodeLoader.d.ts +1 -0
- three/examples/jsm/nodes/shadernode/ShaderNode.d.ts +3 -4
- three/examples/jsm/objects/MarchingCubes.d.ts +1 -0
- three/examples/jsm/shaders/VelocityShader.d.ts +2 -2
- three/index.d.ts +1 -1
- three/package.json +19 -4
- three/src/Three.d.ts +1 -5
- three/src/constants.d.ts +395 -253
- three/src/core/BufferAttribute.d.ts +456 -85
- three/src/core/BufferGeometry.d.ts +241 -70
- three/src/core/Clock.d.ts +28 -20
- three/src/core/EventDispatcher.d.ts +20 -4
- three/src/core/GLBufferAttribute.d.ts +105 -7
- three/src/core/InstancedBufferAttribute.d.ts +13 -24
- three/src/core/InstancedBufferGeometry.d.ts +22 -4
- three/src/core/InstancedInterleavedBuffer.d.ts +10 -2
- three/src/core/InterleavedBuffer.d.ts +98 -14
- three/src/core/InterleavedBufferAttribute.d.ts +146 -7
- three/src/core/Layers.d.ts +61 -6
- three/src/core/Object3D.d.ts +252 -119
- three/src/core/Raycaster.d.ts +103 -27
- three/src/core/Uniform.d.ts +30 -13
- three/src/core/UniformsGroup.d.ts +10 -4
- three/src/extras/Earcut.d.ts +3 -4
- three/src/helpers/CameraHelper.d.ts +43 -0
- three/src/lights/DirectionalLight.d.ts +3 -1
- three/src/lights/HemisphereLight.d.ts +3 -1
- three/src/lights/SpotLight.d.ts +3 -1
- three/src/loaders/CubeTextureLoader.d.ts +1 -1
- three/src/loaders/Loader.d.ts +1 -2
- three/src/materials/Material.d.ts +9 -2
- three/src/materials/MeshPhysicalMaterial.d.ts +13 -1
- three/src/math/Color.d.ts +157 -3
- three/src/math/ColorManagement.d.ts +13 -7
- three/src/math/Euler.d.ts +2 -3
- three/src/objects/Mesh.d.ts +2 -2
- three/src/renderers/WebGLRenderer.d.ts +2 -2
- three/src/renderers/webgl/WebGLAttributes.d.ts +4 -3
- three/src/renderers/webgl/WebGLClipping.d.ts +3 -1
- three/src/renderers/webxr/WebXRManager.d.ts +2 -2
- three/src/textures/Data3DTexture.d.ts +2 -2
- three/src/utils.d.ts +5 -2
- three/examples/jsm/libs/fflate.module.min.d.ts +0 -1185
- three/src/renderers/WebGLMultisampleRenderTarget.d.ts +0 -6
- three/src/textures/DataTexture2DArray.d.ts +0 -6
- three/src/textures/DataTexture3D.d.ts +0 -6
three/src/core/Raycaster.d.ts
CHANGED
|
@@ -14,15 +14,21 @@ export interface Face {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export interface Intersection<TIntersected extends Object3D = Object3D> {
|
|
17
|
+
/** Distance between the origin of the ray and the intersection */
|
|
17
18
|
distance: number;
|
|
18
19
|
distanceToRay?: number | undefined;
|
|
20
|
+
/** Point of intersection, in world coordinates */
|
|
19
21
|
point: Vector3;
|
|
20
22
|
index?: number | undefined;
|
|
23
|
+
/** Intersected face */
|
|
21
24
|
face?: Face | null | undefined;
|
|
25
|
+
/** Index of the intersected face */
|
|
22
26
|
faceIndex?: number | undefined;
|
|
27
|
+
/** The intersected object */
|
|
23
28
|
object: TIntersected;
|
|
24
29
|
uv?: Vector2 | undefined;
|
|
25
30
|
uv2?: Vector2 | undefined;
|
|
31
|
+
/** The index number of the instance where the ray intersects the {@link THREE.InstancedMesh | InstancedMesh } */
|
|
26
32
|
instanceId?: number | undefined;
|
|
27
33
|
}
|
|
28
34
|
|
|
@@ -34,52 +40,105 @@ export interface RaycasterParameters {
|
|
|
34
40
|
Sprite?: any;
|
|
35
41
|
}
|
|
36
42
|
|
|
43
|
+
/**
|
|
44
|
+
* This class is designed to assist with {@link https://en.wikipedia.org/wiki/Ray_casting | raycasting}
|
|
45
|
+
* @remarks
|
|
46
|
+
* Raycasting is used for mouse picking (working out what objects in the 3d space the mouse is over) amongst other things.
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const raycaster = new THREE.Raycaster();
|
|
50
|
+
* const pointer = new THREE.Vector2();
|
|
51
|
+
*
|
|
52
|
+
* function onPointerMove(event) {
|
|
53
|
+
* // calculate pointer position in normalized device coordinates (-1 to +1) for both components
|
|
54
|
+
* pointer.x = (event.clientX / window.innerWidth) * 2 - 1;
|
|
55
|
+
* pointer.y = -(event.clientY / window.innerHeight) * 2 + 1;
|
|
56
|
+
* }
|
|
57
|
+
*
|
|
58
|
+
* function render() {
|
|
59
|
+
* // update the picking ray with the camera and pointer position
|
|
60
|
+
* raycaster.setFromCamera(pointer, camera);
|
|
61
|
+
* // calculate objects intersecting the picking ray
|
|
62
|
+
* const intersects = raycaster.intersectObjects(scene.children);
|
|
63
|
+
* for (let i = 0; i & lt; intersects.length; i++) {
|
|
64
|
+
* intersects[i].object.material.color.set(0xff0000);
|
|
65
|
+
* }
|
|
66
|
+
* renderer.render(scene, camera);
|
|
67
|
+
* }
|
|
68
|
+
* window.addEventListener('pointermove', onPointerMove);
|
|
69
|
+
* window.requestAnimationFrame(render);
|
|
70
|
+
* ```
|
|
71
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_interactive_cubes | Raycasting to a Mesh}
|
|
72
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_interactive_cubes_ortho | Raycasting to a Mesh in using an OrthographicCamera}
|
|
73
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_interactive_buffergeometry | Raycasting to a Mesh with BufferGeometry}
|
|
74
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_instancing_raycast | Raycasting to a InstancedMesh}
|
|
75
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_interactive_lines | Raycasting to a Line}
|
|
76
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_interactive_raycasting_points | Raycasting to Points}
|
|
77
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_geometry_terrain_raycast | Terrain raycasting}
|
|
78
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_interactive_voxelpainter | Raycasting to paint voxels}
|
|
79
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_raycaster_texture | Raycast to a Texture}
|
|
80
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/core/Raycaster | Official Documentation}
|
|
81
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/core/Raycaster.js | Source}
|
|
82
|
+
*/
|
|
37
83
|
export class Raycaster {
|
|
38
84
|
/**
|
|
39
|
-
* This creates a new
|
|
40
|
-
* @param origin The origin vector where the ray casts from.
|
|
41
|
-
* @param direction The direction vector that gives direction to the ray. Should be normalized.
|
|
42
|
-
* @param near All results returned are further away than near. Near can't be negative.
|
|
43
|
-
* @param far All results returned are closer
|
|
85
|
+
* This creates a new {@link Raycaster} object.
|
|
86
|
+
* @param origin The origin vector where the ray casts from. Default `new Vector3()`
|
|
87
|
+
* @param direction The direction vector that gives direction to the ray. Should be normalized. Default `new Vector3(0, 0, -1)`
|
|
88
|
+
* @param near All results returned are further away than near. Near can't be negative. Expects a `Float`. Default `0`
|
|
89
|
+
* @param far All results returned are closer than far. Far can't be lower than near. Expects a `Float`. Default `Infinity`
|
|
44
90
|
*/
|
|
45
91
|
constructor(origin?: Vector3, direction?: Vector3, near?: number, far?: number);
|
|
46
92
|
|
|
47
|
-
/**
|
|
93
|
+
/**
|
|
94
|
+
* The {@link THREE.RaycasterRay | Ray} used for the raycasting.
|
|
95
|
+
*/
|
|
48
96
|
ray: Ray;
|
|
49
97
|
|
|
50
98
|
/**
|
|
51
|
-
* The near factor of the raycaster. This value indicates which objects can be discarded based on the
|
|
52
|
-
*
|
|
53
|
-
* @
|
|
99
|
+
* The near factor of the raycaster. This value indicates which objects can be discarded based on the distance.
|
|
100
|
+
* This value shouldn't be negative and should be smaller than the far property.
|
|
101
|
+
* @remarks Expects a `Float`
|
|
102
|
+
* @defaultValue `0`
|
|
54
103
|
*/
|
|
55
104
|
near: number;
|
|
56
105
|
|
|
57
106
|
/**
|
|
58
|
-
* The far factor of the raycaster. This value indicates which objects can be discarded based on the
|
|
59
|
-
*
|
|
60
|
-
* @
|
|
107
|
+
* The far factor of the raycaster. This value indicates which objects can be discarded based on the distance.
|
|
108
|
+
* This value shouldn't be negative and should be larger than the near property.
|
|
109
|
+
* @remarks Expects a `Float`
|
|
110
|
+
* @defaultValue `Infinity`
|
|
61
111
|
*/
|
|
62
112
|
far: number;
|
|
63
113
|
|
|
64
114
|
/**
|
|
65
|
-
* The camera to use when raycasting against view-dependent objects such as billboarded objects like Sprites
|
|
66
|
-
* can be set manually or is set when calling
|
|
115
|
+
* The camera to use when raycasting against view-dependent objects such as billboarded objects like {@link THREE.Sprites | Sprites}.
|
|
116
|
+
* This field can be set manually or is set when calling {@link setFromCamera}.
|
|
117
|
+
* @defaultValue `null`
|
|
67
118
|
*/
|
|
68
119
|
camera: Camera;
|
|
69
120
|
|
|
70
121
|
/**
|
|
71
|
-
* Used by Raycaster to selectively ignore 3D objects when performing intersection tests.
|
|
72
|
-
*
|
|
122
|
+
* Used by {@link Raycaster} to selectively ignore 3D objects when performing intersection tests.
|
|
123
|
+
* The following code example ensures that only 3D objects on layer `1` will be honored by the instance of Raycaster.
|
|
124
|
+
* ```
|
|
125
|
+
* raycaster.layers.set( 1 );
|
|
126
|
+
* object.layers.enable( 1 );
|
|
127
|
+
* ```
|
|
128
|
+
* @defaultValue `new THREE.Layers()` - See {@link THREE.Layers | Layers}.
|
|
73
129
|
*/
|
|
74
130
|
layers: Layers;
|
|
75
131
|
|
|
76
132
|
/**
|
|
77
|
-
*
|
|
133
|
+
* An data object where threshold is the precision of the {@link Raycaster} when intersecting objects, in world units.
|
|
134
|
+
* @defaultValue `{ Mesh: {}, Line: { threshold: 1 }, LOD: {}, Points: { threshold: 1 }, Sprite: {} }`
|
|
78
135
|
*/
|
|
79
136
|
params: RaycasterParameters;
|
|
80
137
|
|
|
81
138
|
/**
|
|
82
|
-
* Updates the ray with a new origin and direction
|
|
139
|
+
* Updates the ray with a new origin and direction
|
|
140
|
+
* @remarks
|
|
141
|
+
* Please note that this method only copies the values from the arguments.
|
|
83
142
|
* @param origin The origin vector where the ray casts from.
|
|
84
143
|
* @param direction The normalized direction vector that gives direction to the ray.
|
|
85
144
|
*/
|
|
@@ -90,13 +149,22 @@ export class Raycaster {
|
|
|
90
149
|
* @param coords 2D coordinates of the mouse, in normalized device coordinates (NDC)---X and Y components should be between -1 and 1.
|
|
91
150
|
* @param camera camera from which the ray should originate
|
|
92
151
|
*/
|
|
93
|
-
setFromCamera(coords:
|
|
152
|
+
setFromCamera(coords: Vector2, camera: Camera): void;
|
|
94
153
|
|
|
95
154
|
/**
|
|
96
|
-
* Checks all intersection between the ray and the object with or without the descendants
|
|
155
|
+
* Checks all intersection between the ray and the object with or without the descendants
|
|
156
|
+
* @remarks Intersections are returned sorted by distance, closest first
|
|
157
|
+
* @remarks {@link Raycaster} delegates to the {@link Object3D.raycast | raycast} method of the passed object, when evaluating whether the ray intersects the object or not
|
|
158
|
+
* This allows {@link THREE.Mesh | meshes} to respond differently to ray casting than {@link THREE.Line | lines} and {@link THREE.Points | pointclouds}.
|
|
159
|
+
* **Note** that for meshes, faces must be pointed towards the origin of the {@link Raycaster.ray | ray} in order to be detected;
|
|
160
|
+
* intersections of the ray passing through the back of a face will not be detected
|
|
161
|
+
* To raycast against both faces of an object, you'll want to set the {@link Mesh.material | material}'s {@link Material.side | side} property to `THREE.DoubleSide`.
|
|
162
|
+
* @see {@link intersectObjects | .intersectObjects()}.
|
|
97
163
|
* @param object The object to check for intersection with the ray.
|
|
98
|
-
* @param recursive If true, it also checks all descendants. Otherwise it only checks
|
|
99
|
-
* @param optionalTarget
|
|
164
|
+
* @param recursive If true, it also checks all descendants. Otherwise it only checks intersection with the object. Default `true`
|
|
165
|
+
* @param optionalTarget Target to set the result. Otherwise a new {@link Array | Array} is instantiated.
|
|
166
|
+
* If set, you must clear this array prior to each call (i.e., array.length = 0;). Default `[]`
|
|
167
|
+
* @returns An array of intersections is returned.
|
|
100
168
|
*/
|
|
101
169
|
intersectObject<TIntersected extends Object3D>(
|
|
102
170
|
object: Object3D,
|
|
@@ -105,12 +173,20 @@ export class Raycaster {
|
|
|
105
173
|
): Array<Intersection<TIntersected>>;
|
|
106
174
|
|
|
107
175
|
/**
|
|
108
|
-
* Checks all intersection between the ray and the objects with or without the descendants
|
|
109
|
-
* Intersections are returned sorted by distance, closest first
|
|
110
|
-
* Intersections are of the same form as those returned by .intersectObject.
|
|
176
|
+
* Checks all intersection between the ray and the objects with or without the descendants
|
|
177
|
+
* @remarks Intersections are returned sorted by distance, closest first
|
|
178
|
+
* @remarks Intersections are of the same form as those returned by {@link intersectObject | .intersectObject()}.
|
|
179
|
+
* @remarks {@link Raycaster} delegates to the {@link Object3D.raycast | raycast} method of the passed object, when evaluating whether the ray intersects the object or not
|
|
180
|
+
* This allows {@link THREE.Mesh | meshes} to respond differently to ray casting than {@link THREE.Line | lines} and {@link THREE.Points | pointclouds}.
|
|
181
|
+
* **Note** that for meshes, faces must be pointed towards the origin of the {@link Raycaster.ray | ray} in order to be detected;
|
|
182
|
+
* intersections of the ray passing through the back of a face will not be detected
|
|
183
|
+
* To raycast against both faces of an object, you'll want to set the {@link Mesh.material | material}'s {@link Material.side | side} property to `THREE.DoubleSide`.
|
|
184
|
+
* @see {@link intersectObject | .intersectObject()}.
|
|
111
185
|
* @param objects The objects to check for intersection with the ray.
|
|
112
|
-
* @param recursive If true, it also checks all descendants of the objects. Otherwise it only checks
|
|
113
|
-
* @param optionalTarget
|
|
186
|
+
* @param recursive If true, it also checks all descendants of the objects. Otherwise it only checks intersection with the objects. Default `true`
|
|
187
|
+
* @param optionalTarget Target to set the result. Otherwise a new {@link Array | Array} is instantiated.
|
|
188
|
+
* If set, you must clear this array prior to each call (i.e., array.length = 0;). Default `[]`
|
|
189
|
+
* @returns An array of intersections is returned.
|
|
114
190
|
*/
|
|
115
191
|
intersectObjects<TIntersected extends Object3D>(
|
|
116
192
|
objects: Object3D[],
|
three/src/core/Uniform.d.ts
CHANGED
|
@@ -1,21 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Uniforms are global GLSL variables.
|
|
3
|
+
* They are passed to shader programs.
|
|
4
|
+
* @example
|
|
5
|
+
* When declaring a uniform of a {@link THREE.ShaderMaterial | ShaderMaterial}, it is declared by value or by object.
|
|
6
|
+
* ```typescript
|
|
7
|
+
* uniforms: {
|
|
8
|
+
* time: {
|
|
9
|
+
* value: 1.0
|
|
10
|
+
* },
|
|
11
|
+
* resolution: new Uniform(new Vector2())
|
|
12
|
+
* };
|
|
13
|
+
* ```
|
|
14
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_nodes_materials_instance_uniform | WebGL2 / nodes / materials / instance / uniform}
|
|
15
|
+
* @see Example: {@link https://threejs.org/examples/#webgpu_instance_uniform| WebGPU / instance / uniform}
|
|
16
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/core/Uniform | Official Documentation}
|
|
17
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/core/Uniform.js | Source}
|
|
18
|
+
*/
|
|
19
|
+
export class Uniform<T = any> {
|
|
3
20
|
/**
|
|
4
|
-
* @
|
|
21
|
+
* Create a new instance of {@link THREE.Uniform | Uniform}
|
|
22
|
+
* @param value An object containing the value to set up the uniform. It's type must be one of the Uniform Types described above.
|
|
5
23
|
*/
|
|
6
|
-
constructor(
|
|
7
|
-
|
|
8
|
-
* @deprecated
|
|
9
|
-
*/
|
|
10
|
-
type: string;
|
|
11
|
-
value: any;
|
|
24
|
+
constructor(value: T);
|
|
25
|
+
|
|
12
26
|
/**
|
|
13
|
-
*
|
|
27
|
+
* Current value of the uniform.
|
|
14
28
|
*/
|
|
15
|
-
|
|
29
|
+
value: T;
|
|
16
30
|
|
|
17
31
|
/**
|
|
18
|
-
*
|
|
32
|
+
* Returns a clone of this uniform.
|
|
33
|
+
* @remarks
|
|
34
|
+
* If the uniform's {@link value} property is an {@link Object | Object} with a `clone()` method, this is used,
|
|
35
|
+
* otherwise the value is copied by assignment Array values are **shared** between cloned {@link THREE.UniformUniform | Uniform}s.
|
|
19
36
|
*/
|
|
20
|
-
|
|
37
|
+
clone(): Uniform<T>;
|
|
21
38
|
}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { EventDispatcher } from './EventDispatcher';
|
|
2
2
|
import { Uniform } from './Uniform';
|
|
3
|
-
|
|
4
3
|
import { Usage } from '../constants';
|
|
5
4
|
|
|
5
|
+
/**
|
|
6
|
+
* @see Example: {@link https://threejs.org/examples/#webgl2_ubo | WebGL2 / UBO}
|
|
7
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/core/UniformsGroup.js | Source}
|
|
8
|
+
*/
|
|
6
9
|
export class UniformsGroup extends EventDispatcher {
|
|
7
|
-
|
|
10
|
+
constructor();
|
|
11
|
+
|
|
12
|
+
readonly isUniformsGroup: true;
|
|
13
|
+
|
|
8
14
|
id: number;
|
|
15
|
+
|
|
9
16
|
usage: Usage;
|
|
10
|
-
uniforms: Uniform[];
|
|
11
17
|
|
|
12
|
-
|
|
18
|
+
uniforms: Uniform[];
|
|
13
19
|
|
|
14
20
|
add(uniform: Uniform): this;
|
|
15
21
|
|
three/src/extras/Earcut.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
export const Earcut: {
|
|
2
|
+
triangulate(data: number[], holeIndices?: number[], dim?: number): number[];
|
|
3
|
+
};
|
|
@@ -1,18 +1,61 @@
|
|
|
1
|
+
import { Color } from '../math/Color';
|
|
2
|
+
import { Matrix4 } from '../math/Matrix4';
|
|
1
3
|
import { Camera } from './../cameras/Camera';
|
|
2
4
|
import { LineSegments } from './../objects/LineSegments';
|
|
3
5
|
|
|
6
|
+
/**
|
|
7
|
+
* This helps with visualizing what a camera contains in its frustum.
|
|
8
|
+
* It visualizes the frustum of a camera using a {@link LineSegments}.
|
|
9
|
+
*
|
|
10
|
+
* CameraHelper must be a child of the scene.
|
|
11
|
+
*/
|
|
4
12
|
export class CameraHelper extends LineSegments {
|
|
13
|
+
/**
|
|
14
|
+
* This create a new CameraHelper for the specified camera.
|
|
15
|
+
*
|
|
16
|
+
* @param camera - The camera to visualize.
|
|
17
|
+
*/
|
|
5
18
|
constructor(camera: Camera);
|
|
6
19
|
|
|
20
|
+
/**
|
|
21
|
+
* The camera being visualized.
|
|
22
|
+
*/
|
|
7
23
|
camera: Camera;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* This contains the points used to visualize the camera.
|
|
27
|
+
*/
|
|
8
28
|
pointMap: { [id: string]: number[] };
|
|
9
29
|
|
|
30
|
+
/**
|
|
31
|
+
* Reference to the {@link Camera.matrixWorld}.
|
|
32
|
+
*/
|
|
33
|
+
matrix: Matrix4;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* See {@link Object3D.matrixAutoUpdate}.
|
|
37
|
+
* Set to `false` here as the helper is using the camera's {@link Camera.matrixWorld}.
|
|
38
|
+
*/
|
|
39
|
+
matrixAutoUpdate: boolean;
|
|
40
|
+
|
|
10
41
|
/**
|
|
11
42
|
* @default 'CameraHelper'
|
|
12
43
|
*/
|
|
13
44
|
type: string;
|
|
14
45
|
|
|
46
|
+
/**
|
|
47
|
+
* Updates the helper based on the projectionMatrix of the camera.
|
|
48
|
+
*/
|
|
15
49
|
update(): void;
|
|
16
50
|
|
|
51
|
+
/**
|
|
52
|
+
* Frees the GPU-related resources allocated by this instance.
|
|
53
|
+
* Call this method whenever this instance is no longer used in your app.
|
|
54
|
+
*/
|
|
17
55
|
dispose(): void;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Defines the colors of the helper.
|
|
59
|
+
*/
|
|
60
|
+
setColors(frustum: Color, cone: Color, up: Color, target: Color, cross: Color): this;
|
|
18
61
|
}
|
|
@@ -22,7 +22,9 @@ export class DirectionalLight extends Light {
|
|
|
22
22
|
type: string;
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
|
-
* @
|
|
25
|
+
* This is set equal to {@link Object3D.DEFAULT_UP} (0, 1, 0), so that the light shines from the top down.
|
|
26
|
+
*
|
|
27
|
+
* @default {@link Object3D.DEFAULT_UP}
|
|
26
28
|
*/
|
|
27
29
|
readonly position: Vector3;
|
|
28
30
|
|
|
@@ -17,7 +17,9 @@ export class HemisphereLight extends Light {
|
|
|
17
17
|
type: string;
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
* @
|
|
20
|
+
* This is set equal to {@link Object3D.DEFAULT_UP} (0, 1, 0), so that the light shines from the top down.
|
|
21
|
+
*
|
|
22
|
+
* @default {@link Object3D.DEFAULT_UP}
|
|
21
23
|
*/
|
|
22
24
|
position: Vector3;
|
|
23
25
|
|
three/src/lights/SpotLight.d.ts
CHANGED
|
@@ -25,7 +25,9 @@ export class SpotLight extends Light {
|
|
|
25
25
|
type: string;
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
|
-
* @
|
|
28
|
+
* This is set equal to {@link Object3D.DEFAULT_UP} (0, 1, 0), so that the light shines from the top down.
|
|
29
|
+
*
|
|
30
|
+
* @default {@link Object3D.DEFAULT_UP}
|
|
29
31
|
*/
|
|
30
32
|
position: Vector3;
|
|
31
33
|
|
|
@@ -12,5 +12,5 @@ export class CubeTextureLoader extends Loader {
|
|
|
12
12
|
onError?: (event: ErrorEvent) => void,
|
|
13
13
|
): CubeTexture;
|
|
14
14
|
|
|
15
|
-
loadAsync(
|
|
15
|
+
loadAsync(urls: string[], onProgress?: (event: ProgressEvent) => void): Promise<CubeTexture>;
|
|
16
16
|
}
|
three/src/loaders/Loader.d.ts
CHANGED
|
@@ -34,11 +34,10 @@ export class Loader {
|
|
|
34
34
|
|
|
35
35
|
/*
|
|
36
36
|
load(): void;
|
|
37
|
+
loadAsync(): Promise<unknown>;
|
|
37
38
|
parse(): void;
|
|
38
39
|
*/
|
|
39
40
|
|
|
40
|
-
loadAsync(url: string, onProgress?: (event: ProgressEvent) => void): Promise<any>;
|
|
41
|
-
|
|
42
41
|
setCrossOrigin(crossOrigin: string): this;
|
|
43
42
|
setWithCredentials(value: boolean): this;
|
|
44
43
|
setPath(path: string): this;
|
|
@@ -39,6 +39,7 @@ export interface MaterialParameters {
|
|
|
39
39
|
polygonOffsetUnits?: number | undefined;
|
|
40
40
|
precision?: 'highp' | 'mediump' | 'lowp' | null | undefined;
|
|
41
41
|
premultipliedAlpha?: boolean | undefined;
|
|
42
|
+
forceSinglePass?: boolean | undefined;
|
|
42
43
|
dithering?: boolean | undefined;
|
|
43
44
|
side?: Side | undefined;
|
|
44
45
|
shadowSide?: Side | undefined;
|
|
@@ -283,6 +284,11 @@ export class Material extends EventDispatcher {
|
|
|
283
284
|
*/
|
|
284
285
|
premultipliedAlpha: boolean;
|
|
285
286
|
|
|
287
|
+
/**
|
|
288
|
+
* @default false
|
|
289
|
+
*/
|
|
290
|
+
forceSinglePass: boolean;
|
|
291
|
+
|
|
286
292
|
/**
|
|
287
293
|
* Whether to apply dithering to the color to remove the appearance of banding. Default is false.
|
|
288
294
|
* @default false
|
|
@@ -291,8 +297,9 @@ export class Material extends EventDispatcher {
|
|
|
291
297
|
|
|
292
298
|
/**
|
|
293
299
|
* Defines which of the face sides will be rendered - front, back or both.
|
|
294
|
-
* Default is THREE.FrontSide. Other options are THREE.BackSide and THREE.DoubleSide.
|
|
295
|
-
*
|
|
300
|
+
* Default is {@link THREE.FrontSide}. Other options are {@link THREE.BackSide} and {@link THREE.DoubleSide}.
|
|
301
|
+
*
|
|
302
|
+
* @default {@link THREE.FrontSide}
|
|
296
303
|
*/
|
|
297
304
|
side: Side;
|
|
298
305
|
|
|
@@ -16,10 +16,16 @@ export interface MeshPhysicalMaterialParameters extends MeshStandardMaterialPara
|
|
|
16
16
|
|
|
17
17
|
sheen?: number | undefined;
|
|
18
18
|
sheenColor?: Color | undefined;
|
|
19
|
+
sheenColorMap?: Texture | null | undefined;
|
|
19
20
|
sheenRoughness?: number | undefined;
|
|
21
|
+
sheenRoughnessMap?: Texture | null | undefined;
|
|
20
22
|
|
|
21
23
|
transmission?: number | undefined;
|
|
22
24
|
transmissionMap?: Texture | null | undefined;
|
|
25
|
+
|
|
26
|
+
thickness?: number | undefined;
|
|
27
|
+
thicknessMap?: Texture | null | undefined;
|
|
28
|
+
|
|
23
29
|
attenuationDistance?: number | undefined;
|
|
24
30
|
attenuationColor?: Color | undefined;
|
|
25
31
|
|
|
@@ -27,6 +33,12 @@ export interface MeshPhysicalMaterialParameters extends MeshStandardMaterialPara
|
|
|
27
33
|
specularColor?: Color | undefined;
|
|
28
34
|
specularIntensityMap?: Texture | null | undefined;
|
|
29
35
|
specularColorMap?: Texture | null | undefined;
|
|
36
|
+
|
|
37
|
+
iridescenceMap?: Texture | null | undefined;
|
|
38
|
+
iridescenceIOR?: number | undefined;
|
|
39
|
+
iridescence?: number | undefined;
|
|
40
|
+
iridescenceThicknessRange?: [number, number] | undefined;
|
|
41
|
+
iridescenceThicknessMap?: Texture | null | undefined;
|
|
30
42
|
}
|
|
31
43
|
|
|
32
44
|
export class MeshPhysicalMaterial extends MeshStandardMaterial {
|
|
@@ -175,7 +187,7 @@ export class MeshPhysicalMaterial extends MeshStandardMaterial {
|
|
|
175
187
|
/**
|
|
176
188
|
* @default [100, 400]
|
|
177
189
|
*/
|
|
178
|
-
iridescenceThicknessRange: number
|
|
190
|
+
iridescenceThicknessRange: [number, number];
|
|
179
191
|
|
|
180
192
|
/**
|
|
181
193
|
* @default null
|
three/src/math/Color.d.ts
CHANGED
|
@@ -2,9 +2,163 @@ import { ColorSpace } from '../constants';
|
|
|
2
2
|
import { ColorRepresentation } from '../utils';
|
|
3
3
|
|
|
4
4
|
import { BufferAttribute } from './../core/BufferAttribute';
|
|
5
|
+
import { InterleavedBufferAttribute } from './../core/InterleavedBufferAttribute';
|
|
5
6
|
|
|
6
7
|
export { SRGBToLinear } from './ColorManagement';
|
|
7
8
|
|
|
9
|
+
declare const _colorKeywords: {
|
|
10
|
+
aliceblue: 0xf0f8ff;
|
|
11
|
+
antiquewhite: 0xfaebd7;
|
|
12
|
+
aqua: 0x00ffff;
|
|
13
|
+
aquamarine: 0x7fffd4;
|
|
14
|
+
azure: 0xf0ffff;
|
|
15
|
+
beige: 0xf5f5dc;
|
|
16
|
+
bisque: 0xffe4c4;
|
|
17
|
+
black: 0x000000;
|
|
18
|
+
blanchedalmond: 0xffebcd;
|
|
19
|
+
blue: 0x0000ff;
|
|
20
|
+
blueviolet: 0x8a2be2;
|
|
21
|
+
brown: 0xa52a2a;
|
|
22
|
+
burlywood: 0xdeb887;
|
|
23
|
+
cadetblue: 0x5f9ea0;
|
|
24
|
+
chartreuse: 0x7fff00;
|
|
25
|
+
chocolate: 0xd2691e;
|
|
26
|
+
coral: 0xff7f50;
|
|
27
|
+
cornflowerblue: 0x6495ed;
|
|
28
|
+
cornsilk: 0xfff8dc;
|
|
29
|
+
crimson: 0xdc143c;
|
|
30
|
+
cyan: 0x00ffff;
|
|
31
|
+
darkblue: 0x00008b;
|
|
32
|
+
darkcyan: 0x008b8b;
|
|
33
|
+
darkgoldenrod: 0xb8860b;
|
|
34
|
+
darkgray: 0xa9a9a9;
|
|
35
|
+
darkgreen: 0x006400;
|
|
36
|
+
darkgrey: 0xa9a9a9;
|
|
37
|
+
darkkhaki: 0xbdb76b;
|
|
38
|
+
darkmagenta: 0x8b008b;
|
|
39
|
+
darkolivegreen: 0x556b2f;
|
|
40
|
+
darkorange: 0xff8c00;
|
|
41
|
+
darkorchid: 0x9932cc;
|
|
42
|
+
darkred: 0x8b0000;
|
|
43
|
+
darksalmon: 0xe9967a;
|
|
44
|
+
darkseagreen: 0x8fbc8f;
|
|
45
|
+
darkslateblue: 0x483d8b;
|
|
46
|
+
darkslategray: 0x2f4f4f;
|
|
47
|
+
darkslategrey: 0x2f4f4f;
|
|
48
|
+
darkturquoise: 0x00ced1;
|
|
49
|
+
darkviolet: 0x9400d3;
|
|
50
|
+
deeppink: 0xff1493;
|
|
51
|
+
deepskyblue: 0x00bfff;
|
|
52
|
+
dimgray: 0x696969;
|
|
53
|
+
dimgrey: 0x696969;
|
|
54
|
+
dodgerblue: 0x1e90ff;
|
|
55
|
+
firebrick: 0xb22222;
|
|
56
|
+
floralwhite: 0xfffaf0;
|
|
57
|
+
forestgreen: 0x228b22;
|
|
58
|
+
fuchsia: 0xff00ff;
|
|
59
|
+
gainsboro: 0xdcdcdc;
|
|
60
|
+
ghostwhite: 0xf8f8ff;
|
|
61
|
+
gold: 0xffd700;
|
|
62
|
+
goldenrod: 0xdaa520;
|
|
63
|
+
gray: 0x808080;
|
|
64
|
+
green: 0x008000;
|
|
65
|
+
greenyellow: 0xadff2f;
|
|
66
|
+
grey: 0x808080;
|
|
67
|
+
honeydew: 0xf0fff0;
|
|
68
|
+
hotpink: 0xff69b4;
|
|
69
|
+
indianred: 0xcd5c5c;
|
|
70
|
+
indigo: 0x4b0082;
|
|
71
|
+
ivory: 0xfffff0;
|
|
72
|
+
khaki: 0xf0e68c;
|
|
73
|
+
lavender: 0xe6e6fa;
|
|
74
|
+
lavenderblush: 0xfff0f5;
|
|
75
|
+
lawngreen: 0x7cfc00;
|
|
76
|
+
lemonchiffon: 0xfffacd;
|
|
77
|
+
lightblue: 0xadd8e6;
|
|
78
|
+
lightcoral: 0xf08080;
|
|
79
|
+
lightcyan: 0xe0ffff;
|
|
80
|
+
lightgoldenrodyellow: 0xfafad2;
|
|
81
|
+
lightgray: 0xd3d3d3;
|
|
82
|
+
lightgreen: 0x90ee90;
|
|
83
|
+
lightgrey: 0xd3d3d3;
|
|
84
|
+
lightpink: 0xffb6c1;
|
|
85
|
+
lightsalmon: 0xffa07a;
|
|
86
|
+
lightseagreen: 0x20b2aa;
|
|
87
|
+
lightskyblue: 0x87cefa;
|
|
88
|
+
lightslategray: 0x778899;
|
|
89
|
+
lightslategrey: 0x778899;
|
|
90
|
+
lightsteelblue: 0xb0c4de;
|
|
91
|
+
lightyellow: 0xffffe0;
|
|
92
|
+
lime: 0x00ff00;
|
|
93
|
+
limegreen: 0x32cd32;
|
|
94
|
+
linen: 0xfaf0e6;
|
|
95
|
+
magenta: 0xff00ff;
|
|
96
|
+
maroon: 0x800000;
|
|
97
|
+
mediumaquamarine: 0x66cdaa;
|
|
98
|
+
mediumblue: 0x0000cd;
|
|
99
|
+
mediumorchid: 0xba55d3;
|
|
100
|
+
mediumpurple: 0x9370db;
|
|
101
|
+
mediumseagreen: 0x3cb371;
|
|
102
|
+
mediumslateblue: 0x7b68ee;
|
|
103
|
+
mediumspringgreen: 0x00fa9a;
|
|
104
|
+
mediumturquoise: 0x48d1cc;
|
|
105
|
+
mediumvioletred: 0xc71585;
|
|
106
|
+
midnightblue: 0x191970;
|
|
107
|
+
mintcream: 0xf5fffa;
|
|
108
|
+
mistyrose: 0xffe4e1;
|
|
109
|
+
moccasin: 0xffe4b5;
|
|
110
|
+
navajowhite: 0xffdead;
|
|
111
|
+
navy: 0x000080;
|
|
112
|
+
oldlace: 0xfdf5e6;
|
|
113
|
+
olive: 0x808000;
|
|
114
|
+
olivedrab: 0x6b8e23;
|
|
115
|
+
orange: 0xffa500;
|
|
116
|
+
orangered: 0xff4500;
|
|
117
|
+
orchid: 0xda70d6;
|
|
118
|
+
palegoldenrod: 0xeee8aa;
|
|
119
|
+
palegreen: 0x98fb98;
|
|
120
|
+
paleturquoise: 0xafeeee;
|
|
121
|
+
palevioletred: 0xdb7093;
|
|
122
|
+
papayawhip: 0xffefd5;
|
|
123
|
+
peachpuff: 0xffdab9;
|
|
124
|
+
peru: 0xcd853f;
|
|
125
|
+
pink: 0xffc0cb;
|
|
126
|
+
plum: 0xdda0dd;
|
|
127
|
+
powderblue: 0xb0e0e6;
|
|
128
|
+
purple: 0x800080;
|
|
129
|
+
rebeccapurple: 0x663399;
|
|
130
|
+
red: 0xff0000;
|
|
131
|
+
rosybrown: 0xbc8f8f;
|
|
132
|
+
royalblue: 0x4169e1;
|
|
133
|
+
saddlebrown: 0x8b4513;
|
|
134
|
+
salmon: 0xfa8072;
|
|
135
|
+
sandybrown: 0xf4a460;
|
|
136
|
+
seagreen: 0x2e8b57;
|
|
137
|
+
seashell: 0xfff5ee;
|
|
138
|
+
sienna: 0xa0522d;
|
|
139
|
+
silver: 0xc0c0c0;
|
|
140
|
+
skyblue: 0x87ceeb;
|
|
141
|
+
slateblue: 0x6a5acd;
|
|
142
|
+
slategray: 0x708090;
|
|
143
|
+
slategrey: 0x708090;
|
|
144
|
+
snow: 0xfffafa;
|
|
145
|
+
springgreen: 0x00ff7f;
|
|
146
|
+
steelblue: 0x4682b4;
|
|
147
|
+
tan: 0xd2b48c;
|
|
148
|
+
teal: 0x008080;
|
|
149
|
+
thistle: 0xd8bfd8;
|
|
150
|
+
tomato: 0xff6347;
|
|
151
|
+
turquoise: 0x40e0d0;
|
|
152
|
+
violet: 0xee82ee;
|
|
153
|
+
wheat: 0xf5deb3;
|
|
154
|
+
white: 0xffffff;
|
|
155
|
+
whitesmoke: 0xf5f5f5;
|
|
156
|
+
yellow: 0xffff00;
|
|
157
|
+
yellowgreen: 0x9acd32;
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
export type ColorKeyword = keyof typeof _colorKeywords;
|
|
161
|
+
|
|
8
162
|
export interface HSL {
|
|
9
163
|
h: number;
|
|
10
164
|
s: number;
|
|
@@ -82,7 +236,7 @@ export class Color {
|
|
|
82
236
|
* Faster than {@link Color#setStyle .setStyle()} method if you don't need the other CSS-style formats.
|
|
83
237
|
* @param style Color name in X11 format.
|
|
84
238
|
*/
|
|
85
|
-
setColorName(style:
|
|
239
|
+
setColorName(style: ColorKeyword, colorSpace?: ColorSpace): Color;
|
|
86
240
|
|
|
87
241
|
/**
|
|
88
242
|
* Clones this color.
|
|
@@ -173,12 +327,12 @@ export class Color {
|
|
|
173
327
|
*/
|
|
174
328
|
toArray(xyz: ArrayLike<number>, offset?: number): ArrayLike<number>;
|
|
175
329
|
|
|
176
|
-
fromBufferAttribute(attribute: BufferAttribute, index: number): this;
|
|
330
|
+
fromBufferAttribute(attribute: BufferAttribute | InterleavedBufferAttribute, index: number): this;
|
|
177
331
|
|
|
178
332
|
[Symbol.iterator](): Generator<number, void>;
|
|
179
333
|
|
|
180
334
|
/**
|
|
181
335
|
* List of X11 color names.
|
|
182
336
|
*/
|
|
183
|
-
static NAMES:
|
|
337
|
+
static NAMES: typeof _colorKeywords;
|
|
184
338
|
}
|