@types/three 0.146.0 → 0.147.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 +1 -1
- three/examples/jsm/animation/CCDIKSolver.d.ts +7 -3
- three/examples/jsm/controls/OrbitControls.d.ts +198 -2
- three/examples/jsm/interactive/SelectionHelper.d.ts +1 -0
- three/examples/jsm/loaders/PLYLoader.d.ts +2 -0
- three/examples/jsm/nodes/Nodes.d.ts +2 -0
- three/examples/jsm/nodes/core/NodeBuilder.d.ts +4 -0
- three/examples/jsm/nodes/display/ViewportNode.d.ts +23 -0
- three/examples/jsm/nodes/shadernode/ShaderNodeElements.d.ts +8 -0
- three/examples/jsm/objects/ShadowMesh.d.ts +6 -3
- three/examples/jsm/postprocessing/AdaptiveToneMappingPass.d.ts +2 -2
- three/examples/jsm/postprocessing/AfterimagePass.d.ts +3 -3
- three/examples/jsm/postprocessing/BloomPass.d.ts +2 -2
- three/examples/jsm/postprocessing/BokehPass.d.ts +2 -2
- three/examples/jsm/postprocessing/ClearPass.d.ts +1 -1
- three/examples/jsm/postprocessing/CubeTexturePass.d.ts +1 -1
- three/examples/jsm/postprocessing/DotScreenPass.d.ts +2 -2
- three/examples/jsm/postprocessing/EffectComposer.d.ts +1 -1
- three/examples/jsm/postprocessing/FilmPass.d.ts +2 -2
- three/examples/jsm/postprocessing/GlitchPass.d.ts +2 -2
- three/examples/jsm/postprocessing/HalftonePass.d.ts +2 -2
- three/examples/jsm/postprocessing/MaskPass.d.ts +1 -1
- three/examples/jsm/postprocessing/OutlinePass.d.ts +2 -2
- three/examples/jsm/postprocessing/RenderPass.d.ts +1 -1
- three/examples/jsm/postprocessing/RenderPixelatedPass.d.ts +28 -0
- three/examples/jsm/postprocessing/SAOPass.d.ts +2 -2
- three/examples/jsm/postprocessing/SMAAPass.d.ts +2 -2
- three/examples/jsm/postprocessing/SSAARenderPass.d.ts +2 -2
- three/examples/jsm/postprocessing/SSAOPass.d.ts +2 -2
- three/examples/jsm/postprocessing/SavePass.d.ts +2 -2
- three/examples/jsm/postprocessing/ShaderPass.d.ts +2 -2
- three/examples/jsm/postprocessing/TexturePass.d.ts +2 -2
- three/examples/jsm/postprocessing/UnrealBloomPass.d.ts +2 -2
- three/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.d.ts +3 -2
- three/examples/jsm/utils/BufferGeometryUtils.d.ts +10 -0
- three/examples/jsm/webxr/OculusHandPointerModel.d.ts +2 -2
- three/index.d.ts +1 -1
- three/package.json +3 -3
- three/src/lights/PointLight.d.ts +1 -1
- three/src/lights/SpotLight.d.ts +7 -1
- three/src/math/Matrix3.d.ts +46 -0
- three/src/objects/LOD.d.ts +22 -2
- three/src/renderers/webxr/WebXRController.d.ts +6 -1
- three/src/renderers/webxr/WebXRManager.d.ts +8 -0
- three/src/scenes/Scene.d.ts +14 -0
- three/src/textures/Texture.d.ts +5 -1
- three/examples/jsm/shaders/PixelShader.d.ts +0 -11
three/README.md
CHANGED
|
@@ -8,7 +8,7 @@ This package contains type definitions for three (https://threejs.org/).
|
|
|
8
8
|
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/three.
|
|
9
9
|
|
|
10
10
|
### Additional Details
|
|
11
|
-
* Last updated:
|
|
11
|
+
* Last updated: Thu, 29 Dec 2022 19:32:53 GMT
|
|
12
12
|
* Dependencies: [@types/webxr](https://npmjs.com/package/@types/webxr)
|
|
13
13
|
* Global values: `THREE`
|
|
14
14
|
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import { Object3D, SkinnedMesh } from '../../../src/Three';
|
|
1
|
+
import { Object3D, SkinnedMesh, Vector3 } from '../../../src/Three';
|
|
2
2
|
|
|
3
3
|
// tslint:disable-next-line:interface-name
|
|
4
4
|
export interface IKS {
|
|
5
5
|
effector: number;
|
|
6
6
|
iteration: number;
|
|
7
|
-
links: {
|
|
7
|
+
links: Array<{
|
|
8
8
|
enabled: boolean;
|
|
9
9
|
index: number;
|
|
10
|
-
|
|
10
|
+
limitation?: Vector3;
|
|
11
|
+
rotationMin?: Vector3;
|
|
12
|
+
rotationMax?: Vector3;
|
|
13
|
+
}>;
|
|
14
|
+
minAngle: number;
|
|
11
15
|
maxAngle: number;
|
|
12
16
|
target: number;
|
|
13
17
|
}
|
|
@@ -1,69 +1,265 @@
|
|
|
1
1
|
import { Camera, MOUSE, TOUCH, Vector3 } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Orbit controls allow the camera to orbit around a target.
|
|
5
|
+
* @param object - The camera to be controlled. The camera must not
|
|
6
|
+
* be a child of another object, unless that object is the scene itself.
|
|
7
|
+
* @param domElement - The HTML element used for
|
|
8
|
+
* event listeners.
|
|
9
|
+
*/
|
|
3
10
|
export class OrbitControls {
|
|
4
11
|
constructor(object: Camera, domElement?: HTMLElement);
|
|
5
12
|
|
|
13
|
+
/**
|
|
14
|
+
* The camera being controlled.
|
|
15
|
+
*/
|
|
6
16
|
object: Camera;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* The HTMLElement used to listen for mouse / touch events.
|
|
20
|
+
* This must be passed in the constructor;
|
|
21
|
+
* changing it here will not set up new event listeners.
|
|
22
|
+
*/
|
|
7
23
|
domElement: HTMLElement | Document;
|
|
8
24
|
|
|
9
|
-
|
|
25
|
+
/**
|
|
26
|
+
* When set to `false`, the controls will not respond to user input.
|
|
27
|
+
* @default true
|
|
28
|
+
*/
|
|
10
29
|
enabled: boolean;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* The focus point of the controls, the .object orbits around this.
|
|
33
|
+
* It can be updated manually at any point to change the focus
|
|
34
|
+
* of the controls.
|
|
35
|
+
*/
|
|
11
36
|
target: Vector3;
|
|
12
37
|
|
|
13
|
-
|
|
38
|
+
/** @deprecated */
|
|
14
39
|
center: Vector3;
|
|
15
40
|
|
|
41
|
+
/**
|
|
42
|
+
* How far you can dolly in ( PerspectiveCamera only ).
|
|
43
|
+
* @default 0
|
|
44
|
+
*/
|
|
16
45
|
minDistance: number;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* How far you can dolly out ( PerspectiveCamera only ).
|
|
49
|
+
* @default Infinity
|
|
50
|
+
*/
|
|
17
51
|
maxDistance: number;
|
|
18
52
|
|
|
53
|
+
/**
|
|
54
|
+
* How far you can zoom in ( OrthographicCamera only ).
|
|
55
|
+
* @default 0
|
|
56
|
+
*/
|
|
19
57
|
minZoom: number;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* How far you can zoom out ( OrthographicCamera only ).
|
|
61
|
+
* @default Infinity
|
|
62
|
+
*/
|
|
20
63
|
maxZoom: number;
|
|
21
64
|
|
|
65
|
+
/**
|
|
66
|
+
* How far you can orbit vertically, lower limit.
|
|
67
|
+
* Range is 0 to Math.PI radians.
|
|
68
|
+
* @default 0
|
|
69
|
+
*/
|
|
22
70
|
minPolarAngle: number;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* How far you can orbit vertically, upper limit.
|
|
74
|
+
* Range is 0 to Math.PI radians.
|
|
75
|
+
* @default Math.PI.
|
|
76
|
+
*/
|
|
23
77
|
maxPolarAngle: number;
|
|
24
78
|
|
|
79
|
+
/**
|
|
80
|
+
* How far you can orbit horizontally, lower limit.
|
|
81
|
+
* If set, the interval [ min, max ]
|
|
82
|
+
* must be a sub-interval of [ - 2 PI, 2 PI ],
|
|
83
|
+
* with ( max - min < 2 PI ).
|
|
84
|
+
* @default Infinity
|
|
85
|
+
*/
|
|
25
86
|
minAzimuthAngle: number;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* How far you can orbit horizontally, upper limit.
|
|
90
|
+
* If set, the interval [ min, max ] must be a sub-interval
|
|
91
|
+
* of [ - 2 PI, 2 PI ], with ( max - min < 2 PI ).
|
|
92
|
+
* @default Infinity
|
|
93
|
+
*/
|
|
26
94
|
maxAzimuthAngle: number;
|
|
27
95
|
|
|
96
|
+
/**
|
|
97
|
+
* Set to true to enable damping (inertia), which can
|
|
98
|
+
* be used to give a sense of weight to the controls.
|
|
99
|
+
* Note that if this is enabled, you must call
|
|
100
|
+
* .update () in your animation loop.
|
|
101
|
+
* @default false
|
|
102
|
+
*/
|
|
28
103
|
enableDamping: boolean;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* The damping inertia used if .enableDamping is set to true.
|
|
107
|
+
* Note that for this to work,
|
|
108
|
+
* you must call .update () in your animation loop.
|
|
109
|
+
* @default 0.05
|
|
110
|
+
*/
|
|
29
111
|
dampingFactor: number;
|
|
30
112
|
|
|
113
|
+
/**
|
|
114
|
+
* Enable or disable zooming (dollying) of the camera.
|
|
115
|
+
* @default true
|
|
116
|
+
*/
|
|
31
117
|
enableZoom: boolean;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Speed of zooming / dollying.
|
|
121
|
+
* @default 1
|
|
122
|
+
*/
|
|
32
123
|
zoomSpeed: number;
|
|
33
124
|
|
|
125
|
+
/**
|
|
126
|
+
* Enable or disable horizontal and
|
|
127
|
+
* vertical rotation of the camera.
|
|
128
|
+
* Note that it is possible to disable a single axis
|
|
129
|
+
* by setting the min and max of the polar angle or
|
|
130
|
+
* azimuth angle to the same value, which will cause
|
|
131
|
+
* the vertical or horizontal rotation to be fixed at that value.
|
|
132
|
+
* @default true
|
|
133
|
+
*/
|
|
34
134
|
enableRotate: boolean;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Speed of rotation.
|
|
138
|
+
* @default 1
|
|
139
|
+
*/
|
|
35
140
|
rotateSpeed: number;
|
|
36
141
|
|
|
142
|
+
/**
|
|
143
|
+
* Enable or disable camera panning.
|
|
144
|
+
* @default true
|
|
145
|
+
*/
|
|
37
146
|
enablePan: boolean;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Speed of panning.
|
|
150
|
+
* @default 1
|
|
151
|
+
*/
|
|
38
152
|
panSpeed: number;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Defines how the camera's position is translated when panning.
|
|
156
|
+
* If true, the camera pans in screen space. Otherwise,
|
|
157
|
+
* the camera pans in the plane orthogonal to the camera's
|
|
158
|
+
* up direction. Default is true for OrbitControls; false for MapControls.
|
|
159
|
+
* @default true
|
|
160
|
+
*/
|
|
39
161
|
screenSpacePanning: boolean;
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* How fast to pan the camera when the keyboard is used.
|
|
165
|
+
* Default is 7.0 pixels per keypress.
|
|
166
|
+
* @default 7
|
|
167
|
+
*/
|
|
40
168
|
keyPanSpeed: number;
|
|
41
169
|
|
|
170
|
+
/**
|
|
171
|
+
* Set to true to automatically rotate around the target.
|
|
172
|
+
* Note that if this is enabled, you must call
|
|
173
|
+
* .update () in your animation loop.
|
|
174
|
+
*/
|
|
42
175
|
autoRotate: boolean;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* How fast to rotate around the target if .autoRotate is true.
|
|
179
|
+
* Default is 2.0, which equates to 30 seconds per orbit at 60fps.
|
|
180
|
+
* Note that if .autoRotate is enabled, you must call
|
|
181
|
+
* .update () in your animation loop.
|
|
182
|
+
* @default 2
|
|
183
|
+
*/
|
|
43
184
|
autoRotateSpeed: number;
|
|
44
185
|
|
|
186
|
+
/**
|
|
187
|
+
* This object contains references to the keycodes for controlling
|
|
188
|
+
* camera panning. Default is the 4 arrow keys.
|
|
189
|
+
*/
|
|
45
190
|
keys: { LEFT: string; UP: string; RIGHT: string; BOTTOM: string };
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* This object contains references to the mouse actions used
|
|
194
|
+
* by the controls.
|
|
195
|
+
*/
|
|
46
196
|
mouseButtons: Partial<{ LEFT: MOUSE; MIDDLE: MOUSE; RIGHT: MOUSE }>;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* This object contains references to the touch actions used by
|
|
200
|
+
* the controls.
|
|
201
|
+
*/
|
|
47
202
|
touches: Partial<{ ONE: TOUCH; TWO: TOUCH }>;
|
|
48
203
|
|
|
204
|
+
/**
|
|
205
|
+
* Used internally by the .saveState and .reset methods.
|
|
206
|
+
*/
|
|
49
207
|
target0: Vector3;
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Used internally by the .saveState and .reset methods.
|
|
211
|
+
*/
|
|
50
212
|
position0: Vector3;
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Used internally by the .saveState and .reset methods.
|
|
216
|
+
*/
|
|
51
217
|
zoomO: number;
|
|
52
218
|
|
|
219
|
+
/**
|
|
220
|
+
* Update the controls. Must be called after any manual changes
|
|
221
|
+
* to the camera's transform, or in the update loop if .autoRotate
|
|
222
|
+
* or .enableDamping are set.
|
|
223
|
+
*/
|
|
53
224
|
update(): boolean;
|
|
54
225
|
|
|
226
|
+
/**
|
|
227
|
+
* Adds key event listeners to the given DOM element. `window`
|
|
228
|
+
* is a recommended argument for using this method.
|
|
229
|
+
* @param domElement
|
|
230
|
+
*/
|
|
55
231
|
listenToKeyEvents(domElement: HTMLElement | Window): void;
|
|
56
232
|
|
|
233
|
+
/**
|
|
234
|
+
* Save the current state of the controls. This can later be
|
|
235
|
+
* recovered with .reset.
|
|
236
|
+
*/
|
|
57
237
|
saveState(): void;
|
|
58
238
|
|
|
239
|
+
/**
|
|
240
|
+
* Reset the controls to their state from either the last time
|
|
241
|
+
* the .saveState was called, or the initial state.
|
|
242
|
+
*/
|
|
59
243
|
reset(): void;
|
|
60
244
|
|
|
245
|
+
/**
|
|
246
|
+
* Remove all the event listeners.
|
|
247
|
+
*/
|
|
61
248
|
dispose(): void;
|
|
62
249
|
|
|
250
|
+
/**
|
|
251
|
+
* Get the current vertical rotation, in radians.
|
|
252
|
+
*/
|
|
63
253
|
getPolarAngle(): number;
|
|
64
254
|
|
|
255
|
+
/**
|
|
256
|
+
* Get the current horizontal rotation, in radians.
|
|
257
|
+
*/
|
|
65
258
|
getAzimuthalAngle(): number;
|
|
66
259
|
|
|
260
|
+
/**
|
|
261
|
+
* Returns the distance from the camera to the target.
|
|
262
|
+
*/
|
|
67
263
|
getDistance(): number;
|
|
68
264
|
|
|
69
265
|
// EventDispatcher mixins
|
|
@@ -3,6 +3,7 @@ import { BufferGeometry, Loader, LoadingManager } from '../../../src/Three';
|
|
|
3
3
|
export class PLYLoader extends Loader {
|
|
4
4
|
constructor(manager?: LoadingManager);
|
|
5
5
|
propertyNameMapping: object;
|
|
6
|
+
customPropertyMapping: Record<string, any>;
|
|
6
7
|
|
|
7
8
|
load(
|
|
8
9
|
url: string,
|
|
@@ -12,5 +13,6 @@ export class PLYLoader extends Loader {
|
|
|
12
13
|
): void;
|
|
13
14
|
loadAsync(url: string, onProgress?: (event: ProgressEvent) => void): Promise<BufferGeometry>;
|
|
14
15
|
setPropertyNameMapping(mapping: object): void;
|
|
16
|
+
setCustomPropertyNameMapping(mapping: Record<string, any>): void;
|
|
15
17
|
parse(data: ArrayBuffer | string): BufferGeometry;
|
|
16
18
|
}
|
|
@@ -61,6 +61,7 @@ import FrontFacingNode from './display/FrontFacingNode';
|
|
|
61
61
|
import NormalMapNode from './display/NormalMapNode';
|
|
62
62
|
import PosterizeNode from './display/PosterizeNode';
|
|
63
63
|
import ToneMappingNode from './display/ToneMappingNode';
|
|
64
|
+
import ViewportNode from './display/ViewportNode';
|
|
64
65
|
|
|
65
66
|
// math
|
|
66
67
|
import MathNode, { MathNodeMethod1, MathNodeMethod2, MathNodeMethod3, MathNodeMethod } from './math/MathNode';
|
|
@@ -186,6 +187,7 @@ export {
|
|
|
186
187
|
NormalMapNode,
|
|
187
188
|
PosterizeNode,
|
|
188
189
|
ToneMappingNode,
|
|
190
|
+
ViewportNode,
|
|
189
191
|
// math
|
|
190
192
|
MathNode,
|
|
191
193
|
MathNodeMethod1,
|
|
@@ -74,6 +74,10 @@ export default abstract class NodeBuilder {
|
|
|
74
74
|
|
|
75
75
|
abstract getFrontFacing(): string;
|
|
76
76
|
|
|
77
|
+
abstract getFragCoord(): string;
|
|
78
|
+
|
|
79
|
+
isFlipY(): boolean;
|
|
80
|
+
|
|
77
81
|
abstract getTexture(textureProperty: string, uvSnippet: string): string;
|
|
78
82
|
|
|
79
83
|
abstract getTextureLevel(textureProperty: string, uvSnippet: string, levelSnippet: string): string;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import Node from '../core/Node';
|
|
2
|
+
|
|
3
|
+
export type ViewportNodeScope =
|
|
4
|
+
| typeof ViewportNode.COORDINATE
|
|
5
|
+
| typeof ViewportNode.RESOLUTION
|
|
6
|
+
| typeof ViewportNode.TOP_LEFT
|
|
7
|
+
| typeof ViewportNode.BOTTOM_LEFT
|
|
8
|
+
| typeof ViewportNode.TOP_RIGHT
|
|
9
|
+
| typeof ViewportNode.BOTTOM_RIGHT;
|
|
10
|
+
|
|
11
|
+
export default class ViewportNode extends Node {
|
|
12
|
+
static COORDINATE: 'coordinate';
|
|
13
|
+
static RESOLUTION: 'resolution';
|
|
14
|
+
static TOP_LEFT: 'topLeft';
|
|
15
|
+
static BOTTOM_LEFT: 'bottomLeft';
|
|
16
|
+
static TOP_RIGHT: 'topRight';
|
|
17
|
+
static BOTTOM_RIGHT: 'bottomRight';
|
|
18
|
+
|
|
19
|
+
scope: ViewportNodeScope;
|
|
20
|
+
isViewportNode: true;
|
|
21
|
+
|
|
22
|
+
constructor(scope: ViewportNodeScope);
|
|
23
|
+
}
|
|
@@ -35,6 +35,7 @@ import {
|
|
|
35
35
|
TimerNode,
|
|
36
36
|
ToneMappingNode,
|
|
37
37
|
TriplanarTexturesNode,
|
|
38
|
+
ViewportNode,
|
|
38
39
|
} from '../Nodes';
|
|
39
40
|
|
|
40
41
|
//
|
|
@@ -99,6 +100,13 @@ export function toneMapping(
|
|
|
99
100
|
|
|
100
101
|
export function posterize(sourceNode: NodeRepresentation, stepsNode: NodeRepresentation): Swizzable<PosterizeNode>;
|
|
101
102
|
|
|
103
|
+
export const viewportCoordinate: Swizzable<ViewportNode>;
|
|
104
|
+
export const viewportResolution: Swizzable<ViewportNode>;
|
|
105
|
+
export const viewportTopLeft: Swizzable<ViewportNode>;
|
|
106
|
+
export const viewportBottomLeft: Swizzable<ViewportNode>;
|
|
107
|
+
export const viewportTopRight: Swizzable<ViewportNode>;
|
|
108
|
+
export const viewportBottomRight: Swizzable<ViewportNode>;
|
|
109
|
+
|
|
102
110
|
// lighting
|
|
103
111
|
|
|
104
112
|
export function lights(lights: Light[]): Swizzable<LightsNode>;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { Mesh, Plane, Vector4 } from '../../../src/Three';
|
|
1
|
+
import { Mesh, Plane, Vector4, Matrix4, MeshBasicMaterial, BufferGeometry } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
export class ShadowMesh extends Mesh {
|
|
4
|
-
|
|
3
|
+
export class ShadowMesh extends Mesh<BufferGeometry, MeshBasicMaterial> {
|
|
4
|
+
readonly isShadowMesh: true;
|
|
5
|
+
meshMatrix: Matrix4;
|
|
6
|
+
|
|
7
|
+
constructor(mesh: Mesh);
|
|
5
8
|
|
|
6
9
|
update(plane: Plane, lightPosition4D: Vector4): void;
|
|
7
10
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WebGLRenderTarget, ShaderMaterial } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export class AdaptiveToneMappingPass extends Pass {
|
|
6
6
|
constructor(adaptive?: boolean, resolution?: number);
|
|
@@ -16,7 +16,7 @@ export class AdaptiveToneMappingPass extends Pass {
|
|
|
16
16
|
adaptLuminanceShader: object;
|
|
17
17
|
materialAdaptiveLum: ShaderMaterial;
|
|
18
18
|
materialToneMap: ShaderMaterial;
|
|
19
|
-
fsQuad:
|
|
19
|
+
fsQuad: FullScreenQuad;
|
|
20
20
|
|
|
21
21
|
reset(): void;
|
|
22
22
|
setAdaptive(adaptive: boolean): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WebGLRenderTarget, ShaderMaterial } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export class AfterimagePass extends Pass {
|
|
6
6
|
constructor(damp?: number);
|
|
@@ -9,6 +9,6 @@ export class AfterimagePass extends Pass {
|
|
|
9
9
|
textureComp: WebGLRenderTarget;
|
|
10
10
|
textureOld: WebGLRenderTarget;
|
|
11
11
|
shaderMaterial: ShaderMaterial;
|
|
12
|
-
compFsQuad:
|
|
13
|
-
copyFsQuad:
|
|
12
|
+
compFsQuad: FullScreenQuad;
|
|
13
|
+
copyFsQuad: FullScreenQuad;
|
|
14
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WebGLRenderTarget, ShaderMaterial } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export class BloomPass extends Pass {
|
|
6
6
|
constructor(strength?: number, kernelSize?: number, sigma?: number);
|
|
@@ -10,5 +10,5 @@ export class BloomPass extends Pass {
|
|
|
10
10
|
materialCopy: ShaderMaterial;
|
|
11
11
|
convolutionUniforms: object;
|
|
12
12
|
materialConvolution: ShaderMaterial;
|
|
13
|
-
fsQuad:
|
|
13
|
+
fsQuad: FullScreenQuad;
|
|
14
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Scene, Camera, ShaderMaterial, WebGLRenderTarget, MeshDepthMaterial, Color } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export interface BokehPassParamters {
|
|
6
6
|
focus?: number;
|
|
@@ -18,6 +18,6 @@ export class BokehPass extends Pass {
|
|
|
18
18
|
materialDepth: MeshDepthMaterial;
|
|
19
19
|
materialBokeh: ShaderMaterial;
|
|
20
20
|
uniforms: object;
|
|
21
|
-
fsQuad:
|
|
21
|
+
fsQuad: FullScreenQuad;
|
|
22
22
|
oldClearColor: Color;
|
|
23
23
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PerspectiveCamera, CubeTexture, Mesh, Scene } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export class CubeTexturePass extends Pass {
|
|
6
6
|
constructor(camera: PerspectiveCamera, envMap?: CubeTexture, opacity?: number);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Vector2, ShaderMaterial } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export class DotScreenPass extends Pass {
|
|
6
6
|
constructor(center?: Vector2, angle?: number, scale?: number);
|
|
7
7
|
uniforms: object;
|
|
8
8
|
material: ShaderMaterial;
|
|
9
|
-
fsQuad:
|
|
9
|
+
fsQuad: FullScreenQuad;
|
|
10
10
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ShaderMaterial } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export class FilmPass extends Pass {
|
|
6
6
|
constructor(noiseIntensity?: number, scanlinesIntensity?: number, scanlinesCount?: number, grayscale?: number);
|
|
7
7
|
uniforms: object;
|
|
8
8
|
material: ShaderMaterial;
|
|
9
|
-
fsQuad:
|
|
9
|
+
fsQuad: FullScreenQuad;
|
|
10
10
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ShaderMaterial, DataTexture } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export class GlitchPass extends Pass {
|
|
6
6
|
constructor(dt_size?: number);
|
|
7
7
|
uniforms: object;
|
|
8
8
|
material: ShaderMaterial;
|
|
9
|
-
fsQuad:
|
|
9
|
+
fsQuad: FullScreenQuad;
|
|
10
10
|
goWild: boolean;
|
|
11
11
|
curF: number;
|
|
12
12
|
randX: number;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ShaderMaterial } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export interface HalftonePassParameters {
|
|
6
6
|
shape?: number;
|
|
@@ -19,5 +19,5 @@ export class HalftonePass extends Pass {
|
|
|
19
19
|
constructor(width: number, height: number, params: HalftonePassParameters);
|
|
20
20
|
uniforms: object;
|
|
21
21
|
material: ShaderMaterial;
|
|
22
|
-
fsQuad:
|
|
22
|
+
fsQuad: FullScreenQuad;
|
|
23
23
|
}
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
Texture,
|
|
13
13
|
} from '../../../src/Three';
|
|
14
14
|
|
|
15
|
-
import { Pass } from './Pass';
|
|
15
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
16
16
|
|
|
17
17
|
export class OutlinePass extends Pass {
|
|
18
18
|
constructor(resolution: Vector2, scene: Scene, camera: Camera, selectedObjects?: Object3D[]);
|
|
@@ -48,7 +48,7 @@ export class OutlinePass extends Pass {
|
|
|
48
48
|
materialCopy: ShaderMaterial;
|
|
49
49
|
oldClearColor: Color;
|
|
50
50
|
oldClearAlpha: number;
|
|
51
|
-
fsQuad:
|
|
51
|
+
fsQuad: FullScreenQuad;
|
|
52
52
|
tempPulseColor1: Color;
|
|
53
53
|
tempPulseColor2: Color;
|
|
54
54
|
textureMatrix: Matrix4;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Scene, Camera, Material, Color } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export class RenderPass extends Pass {
|
|
6
6
|
constructor(scene: Scene, camera: Camera, overrideMaterial?: Material, clearColor?: Color, clearAlpha?: number);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Scene, Camera, ShaderMaterial, Vector2, MeshNormalMaterial, WebGLRenderTarget } from '../../../src/Three';
|
|
2
|
+
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
|
+
|
|
5
|
+
export interface RenderPixelatedPassParameters {
|
|
6
|
+
normalEdgeStrength?: number;
|
|
7
|
+
depthEdgeStrength?: number;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export class RenderPixelatedPass extends Pass {
|
|
11
|
+
constructor(pixelSize: number, scene: Scene, camera: Camera, options?: RenderPixelatedPassParameters);
|
|
12
|
+
pixelSize: number;
|
|
13
|
+
resolution: Vector2;
|
|
14
|
+
renderResolution: Vector2;
|
|
15
|
+
|
|
16
|
+
pixelatedMaterial: ShaderMaterial;
|
|
17
|
+
normalMaterial: MeshNormalMaterial;
|
|
18
|
+
|
|
19
|
+
fsQuad: FullScreenQuad;
|
|
20
|
+
scene: Scene;
|
|
21
|
+
camera: Camera;
|
|
22
|
+
|
|
23
|
+
normalEdgeStrength: RenderPixelatedPassParameters['normalEdgeStrength'];
|
|
24
|
+
depthEdgeStrength: RenderPixelatedPassParameters['depthEdgeStrength'];
|
|
25
|
+
|
|
26
|
+
beautyRenderTarget: WebGLRenderTarget;
|
|
27
|
+
normalRenderTarget: WebGLRenderTarget;
|
|
28
|
+
}
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
ColorRepresentation,
|
|
13
13
|
} from '../../../src/Three';
|
|
14
14
|
|
|
15
|
-
import { Pass } from './Pass';
|
|
15
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
16
16
|
|
|
17
17
|
export enum OUTPUT {
|
|
18
18
|
Beauty,
|
|
@@ -57,7 +57,7 @@ export class SAOPass extends Pass {
|
|
|
57
57
|
hBlurMaterial: ShaderMaterial;
|
|
58
58
|
materialCopy: ShaderMaterial;
|
|
59
59
|
depthCopy: ShaderMaterial;
|
|
60
|
-
fsQuad:
|
|
60
|
+
fsQuad: FullScreenQuad;
|
|
61
61
|
params: SAOPassParams;
|
|
62
62
|
|
|
63
63
|
static OUTPUT: typeof OUTPUT;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ShaderMaterial, Texture, WebGLRenderTarget } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export class SMAAPass extends Pass {
|
|
6
6
|
constructor(width: number, height: number);
|
|
@@ -14,7 +14,7 @@ export class SMAAPass extends Pass {
|
|
|
14
14
|
materialWeights: ShaderMaterial;
|
|
15
15
|
uniformsBlend: object;
|
|
16
16
|
materialBlend: ShaderMaterial;
|
|
17
|
-
fsQuad:
|
|
17
|
+
fsQuad: FullScreenQuad;
|
|
18
18
|
|
|
19
19
|
getAreaTexture(): string;
|
|
20
20
|
getSearchTexture(): string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Scene, Camera, ColorRepresentation, ShaderMaterial, WebGLRenderTarget } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export class SSAARenderPass extends Pass {
|
|
6
6
|
constructor(scene: Scene, camera: Camera, clearColor?: ColorRepresentation, clearAlpha?: number);
|
|
@@ -12,6 +12,6 @@ export class SSAARenderPass extends Pass {
|
|
|
12
12
|
clearAlpha: number;
|
|
13
13
|
copyUniforms: object;
|
|
14
14
|
copyMaterial: ShaderMaterial;
|
|
15
|
-
fsQuad:
|
|
15
|
+
fsQuad: FullScreenQuad;
|
|
16
16
|
sampleRenderTarget: undefined | WebGLRenderTarget;
|
|
17
17
|
}
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
ColorRepresentation,
|
|
13
13
|
} from '../../../src/Three';
|
|
14
14
|
|
|
15
|
-
import { Pass } from './Pass';
|
|
15
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
16
16
|
|
|
17
17
|
export enum SSAOPassOUTPUT {
|
|
18
18
|
Default,
|
|
@@ -46,7 +46,7 @@ export class SSAOPass extends Pass {
|
|
|
46
46
|
blurMaterial: ShaderMaterial;
|
|
47
47
|
depthRenderMaterial: ShaderMaterial;
|
|
48
48
|
copyMaterial: ShaderMaterial;
|
|
49
|
-
fsQuad:
|
|
49
|
+
fsQuad: FullScreenQuad;
|
|
50
50
|
originalClearColor: Color;
|
|
51
51
|
|
|
52
52
|
static OUTPUT: SSAOPassOUTPUT;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ShaderMaterial, WebGLRenderTarget } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export class SavePass extends Pass {
|
|
6
6
|
constructor(renderTarget?: WebGLRenderTarget);
|
|
@@ -8,5 +8,5 @@ export class SavePass extends Pass {
|
|
|
8
8
|
renderTarget: WebGLRenderTarget;
|
|
9
9
|
uniforms: object;
|
|
10
10
|
material: ShaderMaterial;
|
|
11
|
-
fsQuad:
|
|
11
|
+
fsQuad: FullScreenQuad;
|
|
12
12
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ShaderMaterial } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export class ShaderPass extends Pass {
|
|
6
6
|
constructor(shader: object, textureID?: string);
|
|
7
7
|
textureID: string;
|
|
8
8
|
uniforms: { [name: string]: { value: any } };
|
|
9
9
|
material: ShaderMaterial;
|
|
10
|
-
fsQuad:
|
|
10
|
+
fsQuad: FullScreenQuad;
|
|
11
11
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Texture, ShaderMaterial } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export class TexturePass extends Pass {
|
|
6
6
|
constructor(map: Texture, opacity?: number);
|
|
@@ -8,5 +8,5 @@ export class TexturePass extends Pass {
|
|
|
8
8
|
opacity: number;
|
|
9
9
|
uniforms: object;
|
|
10
10
|
material: ShaderMaterial;
|
|
11
|
-
fsQuad:
|
|
11
|
+
fsQuad: FullScreenQuad;
|
|
12
12
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Color, MeshBasicMaterial, ShaderMaterial, Vector2, Vector3, WebGLRenderTarget } from '../../../src/Three';
|
|
2
2
|
|
|
3
|
-
import { Pass } from './Pass';
|
|
3
|
+
import { Pass, FullScreenQuad } from './Pass';
|
|
4
4
|
|
|
5
5
|
export class UnrealBloomPass extends Pass {
|
|
6
6
|
constructor(resolution: Vector2, strength: number, radius: number, threshold: number);
|
|
@@ -23,7 +23,7 @@ export class UnrealBloomPass extends Pass {
|
|
|
23
23
|
oldClearColor: Color;
|
|
24
24
|
oldClearAlpha: number;
|
|
25
25
|
basic: MeshBasicMaterial;
|
|
26
|
-
fsQuad:
|
|
26
|
+
fsQuad: FullScreenQuad;
|
|
27
27
|
|
|
28
28
|
dispose(): void;
|
|
29
29
|
getSeperableBlurMaterial(): ShaderMaterial;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import NodeBuilder from '../../../nodes/core/NodeBuilder';
|
|
2
|
-
import {
|
|
2
|
+
import { Renderer, Object3D } from '../../../../../src/Three';
|
|
3
3
|
import Node from '../../../nodes/core/Node';
|
|
4
4
|
import SlotNode from './SlotNode';
|
|
5
5
|
import { NodeShaderStageOption } from '../../../nodes/core/constants';
|
|
@@ -44,10 +44,11 @@ export class WebGLNodeBuilder extends NodeBuilder {
|
|
|
44
44
|
|
|
45
45
|
replaceCode(shaderStage: string, source: string, target: string, scope?: this): void;
|
|
46
46
|
parseInclude(shaderStage: string, ...includes: string[]): void;
|
|
47
|
-
getTextureEncodingFromMap(map: Texture): TextureEncoding;
|
|
48
47
|
|
|
49
48
|
getInstanceIndex(): string;
|
|
50
49
|
getFrontFacing(): string;
|
|
50
|
+
getFragCoord(): 'gl_FragCoord';
|
|
51
|
+
isFlipY(): true;
|
|
51
52
|
|
|
52
53
|
buildCode(): void;
|
|
53
54
|
build(): this;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// https://threejs.org/docs/?q=buffergeome#examples/en/utils/BufferGeometryUtils
|
|
2
|
+
|
|
1
3
|
import {
|
|
2
4
|
BufferAttribute,
|
|
3
5
|
BufferGeometry,
|
|
@@ -24,3 +26,11 @@ export function computeMikkTSpaceTangents(
|
|
|
24
26
|
export function mergeGroups(geometry: BufferGeometry): BufferGeometry;
|
|
25
27
|
export function deinterleaveAttribute(geometry: BufferGeometry): void;
|
|
26
28
|
export function deinterleaveGeometry(geometry: BufferGeometry): void;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Creates a new, non-indexed geometry with smooth normals everywhere except faces that meet at an angle greater than the crease angle.
|
|
32
|
+
*
|
|
33
|
+
* @param geometry The input geometry.
|
|
34
|
+
* @param creaseAngle The crease angle.
|
|
35
|
+
*/
|
|
36
|
+
export function toCreasedNormals(geometry: BufferGeometry, creaseAngle?: number): BufferGeometry;
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
MeshBasicMaterial,
|
|
8
8
|
Object3D,
|
|
9
9
|
Raycaster,
|
|
10
|
-
|
|
10
|
+
SphereGeometry,
|
|
11
11
|
Texture,
|
|
12
12
|
Vector3,
|
|
13
13
|
} from '../../../src/Three';
|
|
@@ -30,7 +30,7 @@ export class OculusHandPointerModel extends Object3D {
|
|
|
30
30
|
pinched: boolean;
|
|
31
31
|
attached: boolean;
|
|
32
32
|
|
|
33
|
-
cursorObject: Mesh<
|
|
33
|
+
cursorObject: Mesh<SphereGeometry, MeshBasicMaterial> | null;
|
|
34
34
|
|
|
35
35
|
raycaster: Raycaster;
|
|
36
36
|
|
three/index.d.ts
CHANGED
three/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@types/three",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.147.0",
|
|
4
4
|
"description": "TypeScript definitions for three",
|
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/three",
|
|
6
6
|
"license": "MIT",
|
|
@@ -27,6 +27,6 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@types/webxr": "*"
|
|
29
29
|
},
|
|
30
|
-
"typesPublisherContentHash": "
|
|
31
|
-
"typeScriptVersion": "4.
|
|
30
|
+
"typesPublisherContentHash": "ada9d7ae4579346a43c927cb2bb915136e542a27b0d12fd83ad85b97b699d134",
|
|
31
|
+
"typeScriptVersion": "4.2"
|
|
32
32
|
}
|
three/src/lights/PointLight.d.ts
CHANGED
three/src/lights/SpotLight.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { Object3D } from './../core/Object3D';
|
|
|
4
4
|
import { SpotLightShadow } from './SpotLightShadow';
|
|
5
5
|
import { Light } from './Light';
|
|
6
6
|
import { ColorRepresentation } from '../utils';
|
|
7
|
+
import { Texture } from '../textures/Texture';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* A point light that can cast shadow in one direction.
|
|
@@ -36,7 +37,7 @@ export class SpotLight extends Light {
|
|
|
36
37
|
|
|
37
38
|
/**
|
|
38
39
|
* Light's intensity.
|
|
39
|
-
* @default
|
|
40
|
+
* @default 2
|
|
40
41
|
*/
|
|
41
42
|
intensity: number;
|
|
42
43
|
|
|
@@ -68,5 +69,10 @@ export class SpotLight extends Light {
|
|
|
68
69
|
*/
|
|
69
70
|
penumbra: number;
|
|
70
71
|
|
|
72
|
+
/**
|
|
73
|
+
* @default null
|
|
74
|
+
*/
|
|
75
|
+
map: Texture | null;
|
|
76
|
+
|
|
71
77
|
readonly isSpotLight: true;
|
|
72
78
|
}
|
three/src/math/Matrix3.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// https://threejs.org/docs/#api/en/math/Matrix3
|
|
2
|
+
|
|
1
3
|
import { Matrix4 } from './Matrix4';
|
|
2
4
|
import { Vector3 } from './Vector3';
|
|
3
5
|
|
|
@@ -99,6 +101,50 @@ export class Matrix3 implements Matrix {
|
|
|
99
101
|
|
|
100
102
|
scale(sx: number, sy: number): Matrix3;
|
|
101
103
|
|
|
104
|
+
/**
|
|
105
|
+
* Sets this matrix as a 2D translation transform:
|
|
106
|
+
*
|
|
107
|
+
* ```
|
|
108
|
+
* 1, 0, x,
|
|
109
|
+
* 0, 1, y,
|
|
110
|
+
* 0, 0, 1
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* @param x the amount to translate in the X axis.
|
|
114
|
+
* @param y the amount to translate in the Y axis.
|
|
115
|
+
*/
|
|
116
|
+
makeTranslation(x: number, y: number): this;
|
|
117
|
+
makeTranslation(x: number, y: number): Matrix3;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Sets this matrix as a 2D rotational transformation by theta radians. The resulting matrix will be:
|
|
121
|
+
*
|
|
122
|
+
* ```
|
|
123
|
+
* cos(θ) -sin(θ) 0
|
|
124
|
+
* sin(θ) cos(θ) 0
|
|
125
|
+
* 0 0 1
|
|
126
|
+
* ```
|
|
127
|
+
*
|
|
128
|
+
* @param theta Rotation angle in radians. Positive values rotate counterclockwise.
|
|
129
|
+
*/
|
|
130
|
+
makeRotation(theta: number): this;
|
|
131
|
+
makeRotation(theta: number): Matrix3;
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Sets this matrix as a 2D scale transform:
|
|
135
|
+
*
|
|
136
|
+
* ```
|
|
137
|
+
* x, 0, 0,
|
|
138
|
+
* 0, y, 0,
|
|
139
|
+
* 0, 0, 1
|
|
140
|
+
* ```
|
|
141
|
+
*
|
|
142
|
+
* @param x the amount to scale in the X axis.
|
|
143
|
+
* @param y the amount to scale in the Y axis.
|
|
144
|
+
*/
|
|
145
|
+
makeScale(x: number, y: number): this;
|
|
146
|
+
makeScale(x: number, y: number): Matrix3;
|
|
147
|
+
|
|
102
148
|
rotate(theta: number): Matrix3;
|
|
103
149
|
|
|
104
150
|
translate(tx: number, ty: number): Matrix3;
|
three/src/objects/LOD.d.ts
CHANGED
|
@@ -8,17 +8,37 @@ export class LOD extends Object3D {
|
|
|
8
8
|
|
|
9
9
|
type: 'LOD';
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* An array of level objects
|
|
14
|
+
*
|
|
15
|
+
* Each level is an object with the following properties:
|
|
16
|
+
*
|
|
17
|
+
* - object - The Object3D to display at this level.
|
|
18
|
+
* - distance - The distance at which to display this level of detail.
|
|
19
|
+
* - hysteresis - Threshold used to avoid flickering at LOD boundaries, as a fraction of distance.
|
|
20
|
+
*/
|
|
21
|
+
levels: Array<{ distance: number; hysteresis: number; object: Object3D }>;
|
|
22
|
+
|
|
12
23
|
autoUpdate: boolean;
|
|
13
24
|
readonly isLOD: true;
|
|
14
25
|
|
|
15
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Adds a mesh that will display at a certain distance and greater. Typically the further away the distance, the lower the detail on the mesh.
|
|
28
|
+
*
|
|
29
|
+
* @param object The Object3D to display at this level.
|
|
30
|
+
* @param distance The distance at which to display this level of detail. Default 0.0.
|
|
31
|
+
* @param hysteresis Threshold used to avoid flickering at LOD boundaries, as a fraction of distance. Default 0.0.
|
|
32
|
+
*/
|
|
33
|
+
addLevel(object: Object3D, distance?: number, hysteresis?: number): this;
|
|
34
|
+
|
|
16
35
|
getCurrentLevel(): number;
|
|
17
36
|
getObjectForDistance(distance: number): Object3D | null;
|
|
18
37
|
raycast(raycaster: Raycaster, intersects: Intersection[]): void;
|
|
19
38
|
update(camera: Camera): void;
|
|
20
39
|
toJSON(meta: any): any;
|
|
21
40
|
|
|
41
|
+
// TODO: Remove this
|
|
22
42
|
/**
|
|
23
43
|
* @deprecated Use {@link LOD#levels .levels} instead.
|
|
24
44
|
*/
|
|
@@ -3,7 +3,11 @@ import { Vector3 } from '../../math/Vector3';
|
|
|
3
3
|
|
|
4
4
|
export type XRControllerEventType = XRSessionEventType | XRInputSourceEventType | 'disconnected' | 'connected';
|
|
5
5
|
|
|
6
|
-
export
|
|
6
|
+
export class XRJointSpace extends Group {
|
|
7
|
+
readonly jointRadius: number | undefined;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export type XRHandJoints = Record<XRHandJoint, XRJointSpace>;
|
|
7
11
|
|
|
8
12
|
export interface XRHandInputState {
|
|
9
13
|
pinching: boolean;
|
|
@@ -35,6 +39,7 @@ export class WebXRController {
|
|
|
35
39
|
getTargetRaySpace(): XRTargetRaySpace;
|
|
36
40
|
getGripSpace(): XRGripSpace;
|
|
37
41
|
dispatchEvent(event: { type: XRControllerEventType; data?: XRInputSource }): this;
|
|
42
|
+
connect(inputSource: XRInputSource): this;
|
|
38
43
|
disconnect(inputSource: XRInputSource): this;
|
|
39
44
|
update(inputSource: XRInputSource, frame: XRFrame, referenceSpace: XRReferenceSpace): this;
|
|
40
45
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// https://threejs.org/docs/#api/en/renderers/webxr/WebXRManager
|
|
2
|
+
|
|
1
3
|
/// <reference types="webxr" />
|
|
2
4
|
|
|
3
5
|
import { Vector4 } from '../../math/Vector4';
|
|
@@ -44,5 +46,11 @@ export class WebXRManager extends EventDispatcher {
|
|
|
44
46
|
setAnimationLoop(callback: XRFrameRequestCallback | null): void;
|
|
45
47
|
getFoveation(): number | undefined;
|
|
46
48
|
setFoveation(foveation: number): void;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Returns the set of planes detected by WebXR's plane detection API.
|
|
52
|
+
*/
|
|
53
|
+
getPlanes(): Set<XRPlane>;
|
|
54
|
+
|
|
47
55
|
dispose(): void;
|
|
48
56
|
}
|
three/src/scenes/Scene.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// https://threejs.org/docs/?q=scene#api/en/scenes/Scene
|
|
2
|
+
|
|
1
3
|
import { FogBase } from './Fog';
|
|
2
4
|
import { Material } from './../materials/Material';
|
|
3
5
|
import { Object3D } from './../core/Object3D';
|
|
@@ -22,8 +24,20 @@ export class Scene extends Object3D {
|
|
|
22
24
|
*/
|
|
23
25
|
fog: FogBase | null;
|
|
24
26
|
|
|
27
|
+
/**
|
|
28
|
+
* Sets the blurriness of the background. Only influences environment maps assigned to Scene.background. Valid input is a float between 0 and 1.
|
|
29
|
+
*
|
|
30
|
+
* @default 0
|
|
31
|
+
*/
|
|
25
32
|
backgroundBlurriness: number;
|
|
26
33
|
|
|
34
|
+
/**
|
|
35
|
+
* Attenuates the color of the background. Only applies to background textures.
|
|
36
|
+
*
|
|
37
|
+
* @default 1
|
|
38
|
+
*/
|
|
39
|
+
backgroundIntensity: number;
|
|
40
|
+
|
|
27
41
|
/**
|
|
28
42
|
* If not null, it will force everything in the scene to be rendered with that material. Default is null.
|
|
29
43
|
* @default null
|
three/src/textures/Texture.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// https://threejs.org/docs/?q=texture#api/en/textures/Texture
|
|
2
|
+
|
|
1
3
|
import { Vector2 } from './../math/Vector2';
|
|
2
4
|
import { Matrix3 } from './../math/Matrix3';
|
|
3
5
|
import { Source } from './Source';
|
|
@@ -26,7 +28,7 @@ export class Texture extends EventDispatcher {
|
|
|
26
28
|
* @param [minFilter=THREE.LinearMipmapLinearFilter]
|
|
27
29
|
* @param [format=THREE.RGBAFormat]
|
|
28
30
|
* @param [type=THREE.UnsignedByteType]
|
|
29
|
-
* @param [anisotropy=
|
|
31
|
+
* @param [anisotropy=THREE.Texture.DEFAULT_ANISOTROPY]
|
|
30
32
|
* @param [encoding=THREE.LinearEncoding]
|
|
31
33
|
*/
|
|
32
34
|
constructor(
|
|
@@ -203,6 +205,8 @@ export class Texture extends EventDispatcher {
|
|
|
203
205
|
readonly isTexture: true;
|
|
204
206
|
|
|
205
207
|
onUpdate: () => void;
|
|
208
|
+
|
|
209
|
+
static DEFAULT_ANISOTROPY: number;
|
|
206
210
|
static DEFAULT_IMAGE: any;
|
|
207
211
|
static DEFAULT_MAPPING: any;
|
|
208
212
|
|