@types/three 0.139.0 → 0.142.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/examples/jsm/controls/FirstPersonControls.d.ts +1 -1
- three/examples/jsm/controls/FlyControls.d.ts +1 -1
- three/examples/jsm/controls/OrbitControls.d.ts +4 -4
- three/examples/jsm/controls/TransformControls.d.ts +41 -1
- three/examples/jsm/curves/NURBSUtils.d.ts +18 -20
- three/examples/jsm/exporters/GLTFExporter.d.ts +102 -5
- three/examples/jsm/exporters/KTX2Exporter.d.ts +5 -0
- three/examples/jsm/geometries/LightningStrike.d.ts +3 -3
- three/examples/jsm/loaders/GLTFLoader.d.ts +7 -2
- three/examples/jsm/loaders/NRRDLoader.d.ts +2 -2
- three/examples/jsm/misc/MorphAnimMesh.d.ts +1 -1
- three/examples/jsm/objects/LightningStorm.d.ts +3 -3
- three/examples/jsm/objects/Reflector.d.ts +11 -1
- three/examples/jsm/objects/Refractor.d.ts +11 -1
- three/examples/jsm/postprocessing/SAOPass.d.ts +1 -1
- three/examples/jsm/postprocessing/SavePass.d.ts +1 -1
- three/examples/jsm/shaders/ACESFilmicToneMappingShader.d.ts +10 -0
- three/examples/jsm/utils/BufferGeometryUtils.d.ts +7 -1
- three/examples/jsm/utils/CameraUtils.d.ts +7 -9
- three/examples/jsm/utils/GeometryCompressionUtils.d.ts +3 -5
- three/examples/jsm/utils/GeometryUtils.d.ts +23 -25
- three/examples/jsm/utils/SkeletonUtils.d.ts +16 -18
- three/examples/jsm/webxr/ARButton.d.ts +5 -1
- three/examples/jsm/webxr/OculusHandModel.d.ts +3 -2
- three/examples/jsm/webxr/OculusHandPointerModel.d.ts +6 -2
- three/examples/jsm/webxr/XRControllerModelFactory.d.ts +2 -0
- three/examples/jsm/webxr/XREstimatedLight.d.ts +5 -5
- three/examples/jsm/webxr/XRHandModelFactory.d.ts +1 -1
- three/index.d.ts +6 -5
- three/package.json +6 -4
- three/src/Three.d.ts +1 -1
- three/src/audio/AudioContext.d.ts +1 -1
- three/src/constants.d.ts +0 -1
- three/src/extras/DataUtils.d.ts +2 -4
- three/src/extras/Earcut.d.ts +4 -0
- three/src/materials/Material.d.ts +0 -10
- three/src/materials/MeshBasicMaterial.d.ts +7 -0
- three/src/materials/MeshLambertMaterial.d.ts +7 -0
- three/src/materials/MeshMatcapMaterial.d.ts +7 -1
- three/src/materials/MeshPhongMaterial.d.ts +7 -1
- three/src/materials/MeshPhysicalMaterial.d.ts +20 -0
- three/src/materials/MeshStandardMaterial.d.ts +7 -1
- three/src/materials/MeshToonMaterial.d.ts +7 -0
- three/src/materials/PointsMaterial.d.ts +7 -0
- three/src/materials/ShadowMaterial.d.ts +7 -0
- three/src/materials/SpriteMaterial.d.ts +7 -0
- three/src/math/Color.d.ts +2 -0
- three/src/math/Euler.d.ts +2 -0
- three/src/math/Quaternion.d.ts +2 -0
- three/src/renderers/WebGLRenderTarget.d.ts +6 -0
- three/src/renderers/WebGLRenderer.d.ts +1 -7
- three/src/renderers/webxr/WebXRController.d.ts +31 -5
- three/src/renderers/webxr/WebXRManager.d.ts +23 -7
- three/examples/jsm/shaders/SSRrShader.d.ts +0 -48
- three/src/renderers/webxr/WebXR.d.ts +0 -328
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { DirectionalLight, Group, LightProbe,
|
|
1
|
+
import { DirectionalLight, Group, LightProbe, Texture, WebGLRenderer } from '../../../src/Three';
|
|
2
2
|
|
|
3
3
|
export class SessionLightProbe {
|
|
4
4
|
xrLight: XREstimatedLight;
|
|
5
5
|
renderer: WebGLRenderer;
|
|
6
|
-
lightProbe:
|
|
7
|
-
xrWebGLBinding:
|
|
6
|
+
lightProbe: LightProbe;
|
|
7
|
+
xrWebGLBinding: XRWebGLBinding | null;
|
|
8
8
|
estimationStartCallback: () => void;
|
|
9
9
|
frameCallback: (this: SessionLightProbe, time: number, xrFrame: XRFrame) => void;
|
|
10
10
|
|
|
11
11
|
constructor(
|
|
12
12
|
xrLight: XREstimatedLight,
|
|
13
13
|
renderer: WebGLRenderer,
|
|
14
|
-
lightProbe:
|
|
14
|
+
lightProbe: LightProbe,
|
|
15
15
|
environmentEstimation: boolean,
|
|
16
16
|
estimationStartCallback: () => void,
|
|
17
17
|
);
|
|
18
18
|
|
|
19
19
|
updateReflection: () => void;
|
|
20
20
|
|
|
21
|
-
onXRFrame:
|
|
21
|
+
onXRFrame: XRFrameRequestCallback;
|
|
22
22
|
|
|
23
23
|
dispose: () => void;
|
|
24
24
|
}
|
three/index.d.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
// Type definitions for three 0.
|
|
1
|
+
// Type definitions for three 0.142
|
|
2
2
|
// Project: https://threejs.org/
|
|
3
3
|
// Definitions by: Josh Ellis <https://github.com/joshuaellis>
|
|
4
4
|
// Nathan Bierema <https://github.com/Methuselah96>
|
|
5
5
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
6
6
|
// Minimum TypeScript Version: 3.6
|
|
7
7
|
|
|
8
|
+
// To update three.js type definition, please make changes to the repository at:
|
|
9
|
+
// https://github.com/three-types/three-ts-types.
|
|
10
|
+
// Periodically, the updates from the repository are pushed to DefinitelyTyped
|
|
11
|
+
// and released in the @types/three npm package.
|
|
12
|
+
|
|
8
13
|
export * from './src/Three';
|
|
9
14
|
|
|
10
|
-
/*~ If this module is a UMD module that exposes a global variable 'myLib' when
|
|
11
|
-
*~ loaded outside a module loader environment, declare that global here.
|
|
12
|
-
*~ Otherwise, delete this declaration.
|
|
13
|
-
*/
|
|
14
15
|
export as namespace THREE;
|
three/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@types/three",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.142.0",
|
|
4
4
|
"description": "TypeScript definitions for three",
|
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/three",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,7 +24,9 @@
|
|
|
24
24
|
"directory": "types/three"
|
|
25
25
|
},
|
|
26
26
|
"scripts": {},
|
|
27
|
-
"dependencies": {
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@types/webxr": "*"
|
|
29
|
+
},
|
|
30
|
+
"typesPublisherContentHash": "d187945f6b769add03311f684cc4c99011ebd1d56bd6d32f2636d9dac50f5052",
|
|
31
|
+
"typeScriptVersion": "4.0"
|
|
30
32
|
}
|
three/src/Three.d.ts
CHANGED
|
@@ -65,6 +65,7 @@ export * from './extras/core/ShapePath';
|
|
|
65
65
|
export * from './extras/core/CurvePath';
|
|
66
66
|
export * from './extras/core/Curve';
|
|
67
67
|
export * from './extras/DataUtils';
|
|
68
|
+
export * from './extras/Earcut';
|
|
68
69
|
export * from './extras/ImageUtils';
|
|
69
70
|
export * from './extras/ShapeUtils';
|
|
70
71
|
export * from './extras/PMREMGenerator';
|
|
@@ -206,7 +207,6 @@ export * from './renderers/webgl/WebGLShadowMap';
|
|
|
206
207
|
export * from './renderers/webgl/WebGLState';
|
|
207
208
|
export * from './renderers/webgl/WebGLTextures';
|
|
208
209
|
export * from './renderers/webgl/WebGLUniforms';
|
|
209
|
-
export * from './renderers/webxr/WebXR';
|
|
210
210
|
export * from './renderers/webxr/WebXRController';
|
|
211
211
|
export * from './renderers/webxr/WebXRManager';
|
|
212
212
|
export { WebGLUtils } from './renderers/webgl/WebGLUtils.js';
|
three/src/constants.d.ts
CHANGED
|
@@ -301,7 +301,6 @@ export const TriangleFanDrawMode: TrianglesDrawModes;
|
|
|
301
301
|
export enum TextureEncoding {}
|
|
302
302
|
export const LinearEncoding: TextureEncoding;
|
|
303
303
|
export const sRGBEncoding: TextureEncoding;
|
|
304
|
-
export const LogLuvEncoding: TextureEncoding;
|
|
305
304
|
|
|
306
305
|
// Depth packing strategies
|
|
307
306
|
export enum DepthPackingStrategies {}
|
three/src/extras/DataUtils.d.ts
CHANGED
|
@@ -13,9 +13,6 @@ import {
|
|
|
13
13
|
StencilOp,
|
|
14
14
|
PixelFormat,
|
|
15
15
|
} from '../constants';
|
|
16
|
-
import { ColorRepresentation } from '../utils';
|
|
17
|
-
import { Color } from '../math/Color';
|
|
18
|
-
import { Texture } from '../textures/Texture';
|
|
19
16
|
|
|
20
17
|
export interface MaterialParameters {
|
|
21
18
|
alphaTest?: number | undefined;
|
|
@@ -35,7 +32,6 @@ export interface MaterialParameters {
|
|
|
35
32
|
depthFunc?: DepthModes | undefined;
|
|
36
33
|
depthTest?: boolean | undefined;
|
|
37
34
|
depthWrite?: boolean | undefined;
|
|
38
|
-
fog?: boolean | undefined;
|
|
39
35
|
name?: string | undefined;
|
|
40
36
|
opacity?: number | undefined;
|
|
41
37
|
polygonOffset?: boolean | undefined;
|
|
@@ -175,12 +171,6 @@ export class Material extends EventDispatcher {
|
|
|
175
171
|
*/
|
|
176
172
|
depthWrite: boolean;
|
|
177
173
|
|
|
178
|
-
/**
|
|
179
|
-
* Whether the material is affected by fog. Default is true.
|
|
180
|
-
* @default fog
|
|
181
|
-
*/
|
|
182
|
-
fog: boolean;
|
|
183
|
-
|
|
184
174
|
/**
|
|
185
175
|
* Unique number of this material instance.
|
|
186
176
|
*/
|
|
@@ -16,6 +16,7 @@ export interface MeshBasicMaterialParameters extends MaterialParameters {
|
|
|
16
16
|
aoMapIntensity?: number | undefined;
|
|
17
17
|
specularMap?: Texture | null | undefined;
|
|
18
18
|
alphaMap?: Texture | null | undefined;
|
|
19
|
+
fog?: boolean | undefined;
|
|
19
20
|
envMap?: Texture | null | undefined;
|
|
20
21
|
combine?: Combine | undefined;
|
|
21
22
|
reflectivity?: number | undefined;
|
|
@@ -114,5 +115,11 @@ export class MeshBasicMaterial extends Material {
|
|
|
114
115
|
*/
|
|
115
116
|
wireframeLinejoin: string;
|
|
116
117
|
|
|
118
|
+
/**
|
|
119
|
+
* Whether the material is affected by fog. Default is true.
|
|
120
|
+
* @default fog
|
|
121
|
+
*/
|
|
122
|
+
fog: boolean;
|
|
123
|
+
|
|
117
124
|
setValues(parameters: MeshBasicMaterialParameters): void;
|
|
118
125
|
}
|
|
@@ -24,6 +24,7 @@ export interface MeshLambertMaterialParameters extends MaterialParameters {
|
|
|
24
24
|
wireframeLinewidth?: number | undefined;
|
|
25
25
|
wireframeLinecap?: string | undefined;
|
|
26
26
|
wireframeLinejoin?: string | undefined;
|
|
27
|
+
fog?: boolean | undefined;
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
export class MeshLambertMaterial extends Material {
|
|
@@ -129,5 +130,11 @@ export class MeshLambertMaterial extends Material {
|
|
|
129
130
|
*/
|
|
130
131
|
wireframeLinejoin: string;
|
|
131
132
|
|
|
133
|
+
/**
|
|
134
|
+
* Whether the material is affected by fog. Default is true.
|
|
135
|
+
* @default fog
|
|
136
|
+
*/
|
|
137
|
+
fog: boolean;
|
|
138
|
+
|
|
132
139
|
setValues(parameters: MeshLambertMaterialParameters): void;
|
|
133
140
|
}
|
|
@@ -18,7 +18,7 @@ export interface MeshMatcapMaterialParameters extends MaterialParameters {
|
|
|
18
18
|
displacementScale?: number | undefined;
|
|
19
19
|
displacementBias?: number | undefined;
|
|
20
20
|
alphaMap?: Texture | null | undefined;
|
|
21
|
-
|
|
21
|
+
fog?: boolean | undefined;
|
|
22
22
|
flatShading?: boolean | undefined;
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -101,5 +101,11 @@ export class MeshMatcapMaterial extends Material {
|
|
|
101
101
|
*/
|
|
102
102
|
flatShading: boolean;
|
|
103
103
|
|
|
104
|
+
/**
|
|
105
|
+
* Whether the material is affected by fog. Default is true.
|
|
106
|
+
* @default fog
|
|
107
|
+
*/
|
|
108
|
+
fog: boolean;
|
|
109
|
+
|
|
104
110
|
setValues(parameters: MeshMatcapMaterialParameters): void;
|
|
105
111
|
}
|
|
@@ -37,7 +37,7 @@ export interface MeshPhongMaterialParameters extends MaterialParameters {
|
|
|
37
37
|
wireframeLinewidth?: number | undefined;
|
|
38
38
|
wireframeLinecap?: string | undefined;
|
|
39
39
|
wireframeLinejoin?: string | undefined;
|
|
40
|
-
|
|
40
|
+
fog?: boolean | undefined;
|
|
41
41
|
flatShading?: boolean | undefined;
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -205,5 +205,11 @@ export class MeshPhongMaterial extends Material {
|
|
|
205
205
|
*/
|
|
206
206
|
metal: boolean;
|
|
207
207
|
|
|
208
|
+
/**
|
|
209
|
+
* Whether the material is affected by fog. Default is true.
|
|
210
|
+
* @default fog
|
|
211
|
+
*/
|
|
212
|
+
fog: boolean;
|
|
213
|
+
|
|
208
214
|
setValues(parameters: MeshPhongMaterialParameters): void;
|
|
209
215
|
}
|
|
@@ -156,4 +156,24 @@ export class MeshPhysicalMaterial extends MeshStandardMaterial {
|
|
|
156
156
|
* @default null
|
|
157
157
|
*/
|
|
158
158
|
specularColorMap: Texture | null;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* @default null
|
|
162
|
+
*/
|
|
163
|
+
iridescenceMap: Texture | null;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* @default 1.3
|
|
167
|
+
*/
|
|
168
|
+
iridescenceIOR: number;
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* @default [100, 400]
|
|
172
|
+
*/
|
|
173
|
+
iridescenceThicknessRange: number[];
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* @default null
|
|
177
|
+
*/
|
|
178
|
+
iridescenceThicknessMap: Texture | null;
|
|
159
179
|
}
|
|
@@ -32,7 +32,7 @@ export interface MeshStandardMaterialParameters extends MaterialParameters {
|
|
|
32
32
|
envMapIntensity?: number | undefined;
|
|
33
33
|
wireframe?: boolean | undefined;
|
|
34
34
|
wireframeLinewidth?: number | undefined;
|
|
35
|
-
|
|
35
|
+
fog?: boolean | undefined;
|
|
36
36
|
flatShading?: boolean | undefined;
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -195,6 +195,12 @@ export class MeshStandardMaterial extends Material {
|
|
|
195
195
|
*/
|
|
196
196
|
flatShading: boolean;
|
|
197
197
|
|
|
198
|
+
/**
|
|
199
|
+
* Whether the material is affected by fog. Default is true.
|
|
200
|
+
* @default fog
|
|
201
|
+
*/
|
|
202
|
+
fog: boolean;
|
|
203
|
+
|
|
198
204
|
isMeshStandardMaterial: boolean;
|
|
199
205
|
|
|
200
206
|
setValues(parameters: MeshStandardMaterialParameters): void;
|
|
@@ -31,6 +31,7 @@ export interface MeshToonMaterialParameters extends MaterialParameters {
|
|
|
31
31
|
wireframeLinewidth?: number | undefined;
|
|
32
32
|
wireframeLinecap?: string | undefined;
|
|
33
33
|
wireframeLinejoin?: string | undefined;
|
|
34
|
+
fog?: boolean | undefined;
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
export class MeshToonMaterial extends Material {
|
|
@@ -161,5 +162,11 @@ export class MeshToonMaterial extends Material {
|
|
|
161
162
|
*/
|
|
162
163
|
wireframeLinejoin: string;
|
|
163
164
|
|
|
165
|
+
/**
|
|
166
|
+
* Whether the material is affected by fog. Default is true.
|
|
167
|
+
* @default fog
|
|
168
|
+
*/
|
|
169
|
+
fog: boolean;
|
|
170
|
+
|
|
164
171
|
setValues(parameters: MeshToonMaterialParameters): void;
|
|
165
172
|
}
|
|
@@ -9,6 +9,7 @@ export interface PointsMaterialParameters extends MaterialParameters {
|
|
|
9
9
|
alphaMap?: Texture | null | undefined;
|
|
10
10
|
size?: number | undefined;
|
|
11
11
|
sizeAttenuation?: boolean | undefined;
|
|
12
|
+
fog?: boolean | undefined;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
export class PointsMaterial extends Material {
|
|
@@ -44,5 +45,11 @@ export class PointsMaterial extends Material {
|
|
|
44
45
|
*/
|
|
45
46
|
sizeAttenuation: boolean;
|
|
46
47
|
|
|
48
|
+
/**
|
|
49
|
+
* Whether the material is affected by fog. Default is true.
|
|
50
|
+
* @default fog
|
|
51
|
+
*/
|
|
52
|
+
fog: boolean;
|
|
53
|
+
|
|
47
54
|
setValues(parameters: PointsMaterialParameters): void;
|
|
48
55
|
}
|
|
@@ -4,6 +4,7 @@ import { MaterialParameters, Material } from './Material';
|
|
|
4
4
|
|
|
5
5
|
export interface ShadowMaterialParameters extends MaterialParameters {
|
|
6
6
|
color?: ColorRepresentation | undefined;
|
|
7
|
+
fog?: boolean | undefined;
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
export class ShadowMaterial extends Material {
|
|
@@ -23,4 +24,10 @@ export class ShadowMaterial extends Material {
|
|
|
23
24
|
* @default true
|
|
24
25
|
*/
|
|
25
26
|
transparent: boolean;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Whether the material is affected by fog. Default is true.
|
|
30
|
+
* @default fog
|
|
31
|
+
*/
|
|
32
|
+
fog: boolean;
|
|
26
33
|
}
|
|
@@ -9,6 +9,7 @@ export interface SpriteMaterialParameters extends MaterialParameters {
|
|
|
9
9
|
alphaMap?: Texture | null | undefined;
|
|
10
10
|
rotation?: number | undefined;
|
|
11
11
|
sizeAttenuation?: boolean | undefined;
|
|
12
|
+
fog?: boolean | undefined;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
export class SpriteMaterial extends Material {
|
|
@@ -48,6 +49,12 @@ export class SpriteMaterial extends Material {
|
|
|
48
49
|
*/
|
|
49
50
|
transparent: boolean;
|
|
50
51
|
|
|
52
|
+
/**
|
|
53
|
+
* Whether the material is affected by fog. Default is true.
|
|
54
|
+
* @default fog
|
|
55
|
+
*/
|
|
56
|
+
fog: boolean;
|
|
57
|
+
|
|
51
58
|
readonly isSpriteMaterial: true;
|
|
52
59
|
|
|
53
60
|
setValues(parameters: SpriteMaterialParameters): void;
|
three/src/math/Color.d.ts
CHANGED
three/src/math/Euler.d.ts
CHANGED
three/src/math/Quaternion.d.ts
CHANGED
|
@@ -17,6 +17,12 @@ export interface WebGLRenderTargetOptions {
|
|
|
17
17
|
generateMipmaps?: boolean | undefined; // true;
|
|
18
18
|
depthTexture?: DepthTexture | undefined;
|
|
19
19
|
encoding?: TextureEncoding | undefined;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Defines the count of MSAA samples. Can only be used with WebGL 2. Default is **0**.
|
|
23
|
+
* @default 0
|
|
24
|
+
*/
|
|
25
|
+
samples?: number;
|
|
20
26
|
}
|
|
21
27
|
|
|
22
28
|
export class WebGLRenderTarget extends EventDispatcher {
|
|
@@ -19,7 +19,6 @@ import { WebXRManager } from '../renderers/webxr/WebXRManager';
|
|
|
19
19
|
import { BufferGeometry } from './../core/BufferGeometry';
|
|
20
20
|
import { Texture } from '../textures/Texture';
|
|
21
21
|
import { Data3DTexture } from '../textures/Data3DTexture';
|
|
22
|
-
import { XRAnimationLoopCallback } from './webxr/WebXR';
|
|
23
22
|
import { Vector3 } from '../math/Vector3';
|
|
24
23
|
import { Box3 } from '../math/Box3';
|
|
25
24
|
import { DataArrayTexture } from '../textures/DataArrayTexture';
|
|
@@ -128,11 +127,6 @@ export class WebGLRenderer implements Renderer {
|
|
|
128
127
|
*/
|
|
129
128
|
domElement: HTMLCanvasElement;
|
|
130
129
|
|
|
131
|
-
/**
|
|
132
|
-
* The HTML5 Canvas's 'webgl' context obtained from the canvas where the renderer will draw.
|
|
133
|
-
*/
|
|
134
|
-
context: WebGLRenderingContext;
|
|
135
|
-
|
|
136
130
|
/**
|
|
137
131
|
* Defines whether the renderer should automatically clear its output before rendering.
|
|
138
132
|
* @default true
|
|
@@ -336,7 +330,7 @@ export class WebGLRenderer implements Renderer {
|
|
|
336
330
|
* A build in function that can be used instead of requestAnimationFrame. For WebXR projects this function must be used.
|
|
337
331
|
* @param callback The function will be called every available frame. If `null` is passed it will stop any already ongoing animation.
|
|
338
332
|
*/
|
|
339
|
-
setAnimationLoop(callback:
|
|
333
|
+
setAnimationLoop(callback: XRFrameRequestCallback | null): void;
|
|
340
334
|
|
|
341
335
|
/**
|
|
342
336
|
* @deprecated Use {@link WebGLRenderer#setAnimationLoop .setAnimationLoop()} instead.
|
|
@@ -1,14 +1,40 @@
|
|
|
1
1
|
import { Group } from '../../objects/Group';
|
|
2
|
-
import {
|
|
2
|
+
import { Vector3 } from '../../math/Vector3';
|
|
3
3
|
|
|
4
|
-
export type XRControllerEventType =
|
|
4
|
+
export type XRControllerEventType = XRSessionEventType | XRInputSourceEventType | 'disconnected' | 'connected';
|
|
5
|
+
|
|
6
|
+
export type XRHandJoints = Record<XRHandJoint, number>;
|
|
7
|
+
|
|
8
|
+
export interface XRHandInputState {
|
|
9
|
+
pinching: boolean;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export class XRHandSpace extends Group {
|
|
13
|
+
readonly joints: Partial<XRHandJoints>;
|
|
14
|
+
readonly inputState: XRHandInputState;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export class XRTargetRaySpace extends Group {
|
|
18
|
+
hasLinearVelocity: boolean;
|
|
19
|
+
readonly linearVelocity: Vector3;
|
|
20
|
+
hasAngularVelocity: boolean;
|
|
21
|
+
readonly angularVelocity: Vector3;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export class XRGripSpace extends Group {
|
|
25
|
+
hasLinearVelocity: boolean;
|
|
26
|
+
readonly linearVelocity: Vector3;
|
|
27
|
+
hasAngularVelocity: boolean;
|
|
28
|
+
readonly angularVelocity: Vector3;
|
|
29
|
+
}
|
|
5
30
|
|
|
6
31
|
export class WebXRController {
|
|
7
32
|
constructor();
|
|
8
33
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
34
|
+
getHandSpace(): XRHandSpace;
|
|
35
|
+
getTargetRaySpace(): XRTargetRaySpace;
|
|
36
|
+
getGripSpace(): XRGripSpace;
|
|
37
|
+
dispatchEvent(event: { type: XRControllerEventType; data?: XRInputSource }): this;
|
|
12
38
|
disconnect(inputSource: XRInputSource): this;
|
|
13
39
|
update(inputSource: XRInputSource, frame: XRFrame, referenceSpace: XRReferenceSpace): this;
|
|
14
40
|
}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/// <reference types="webxr" />
|
|
2
|
+
|
|
3
|
+
import { Vector4 } from '../../math/Vector4';
|
|
4
|
+
import { ArrayCamera } from '../../cameras/ArrayCamera';
|
|
5
|
+
import { PerspectiveCamera } from '../../cameras/PerspectiveCamera';
|
|
3
6
|
import { EventDispatcher } from '../../core/EventDispatcher';
|
|
4
|
-
import {
|
|
7
|
+
import { XRTargetRaySpace, XRGripSpace, XRHandSpace } from './WebXRController';
|
|
8
|
+
|
|
9
|
+
export type WebXRCamera = PerspectiveCamera & { viewport: Vector4 };
|
|
10
|
+
export type WebXRArrayCamera = Omit<ArrayCamera, 'cameras'> & { cameras: [WebXRCamera, WebXRCamera] };
|
|
5
11
|
|
|
6
12
|
export class WebXRManager extends EventDispatcher {
|
|
7
13
|
constructor(renderer: any, gl: WebGLRenderingContext);
|
|
@@ -16,15 +22,25 @@ export class WebXRManager extends EventDispatcher {
|
|
|
16
22
|
*/
|
|
17
23
|
isPresenting: boolean;
|
|
18
24
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
25
|
+
/**
|
|
26
|
+
* @default true
|
|
27
|
+
*/
|
|
28
|
+
cameraAutoUpdate: boolean;
|
|
29
|
+
|
|
30
|
+
getController(index: number): XRTargetRaySpace;
|
|
31
|
+
getControllerGrip(index: number): XRGripSpace;
|
|
32
|
+
getHand(index: number): XRHandSpace;
|
|
22
33
|
setFramebufferScaleFactor(value: number): void;
|
|
23
34
|
setReferenceSpaceType(value: XRReferenceSpaceType): void;
|
|
24
35
|
getReferenceSpace(): XRReferenceSpace | null;
|
|
36
|
+
setReferenceSpace(value: XRReferenceSpace): void;
|
|
37
|
+
getBaseLayer(): XRWebGLLayer | XRProjectionLayer;
|
|
38
|
+
getBinding(): XRWebGLBinding;
|
|
39
|
+
getFrame(): XRFrame;
|
|
25
40
|
getSession(): XRSession | null;
|
|
26
41
|
setSession(value: XRSession): Promise<void>;
|
|
27
|
-
getCamera(
|
|
42
|
+
getCamera(): WebXRArrayCamera;
|
|
43
|
+
updateCamera(camera: PerspectiveCamera): void;
|
|
28
44
|
setAnimationLoop(callback: XRFrameRequestCallback | null): void;
|
|
29
45
|
getFoveation(): number | undefined;
|
|
30
46
|
setFoveation(foveation: number): void;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Matrix4, Vector2, IUniform, Texture } from '../../../src/Three';
|
|
2
|
-
|
|
3
|
-
export interface SSRrShader {
|
|
4
|
-
defines: {
|
|
5
|
-
MAX_STEP: number;
|
|
6
|
-
PERSPECTIVE_CAMERA: boolean;
|
|
7
|
-
SPECULAR: boolean;
|
|
8
|
-
FILL_HOLE: boolean;
|
|
9
|
-
INFINITE_THICK: boolean;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
uniforms: {
|
|
13
|
-
tDiffuse: IUniform<Texture | null>;
|
|
14
|
-
tSpecular: IUniform<Texture | null>;
|
|
15
|
-
tNormalSelects: IUniform<Texture | null>;
|
|
16
|
-
tRefractive: IUniform<Texture | null>;
|
|
17
|
-
tDepthSelects: IUniform<Texture | null>;
|
|
18
|
-
cameraNear: IUniform<number | null>;
|
|
19
|
-
cameraFar: IUniform<number | null>;
|
|
20
|
-
resolution: IUniform<Vector2>;
|
|
21
|
-
cameraProjectionMatrix: IUniform<Matrix4>;
|
|
22
|
-
cameraInverseProjectionMatrix: IUniform<Matrix4>;
|
|
23
|
-
ior: IUniform<number>;
|
|
24
|
-
cameraRange: IUniform<number>;
|
|
25
|
-
maxDistance: IUniform<number>;
|
|
26
|
-
surfDist: IUniform<number>;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
vertexShader: string;
|
|
30
|
-
|
|
31
|
-
fragmentShader: string;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export interface SSRrDepthShader {
|
|
35
|
-
defines: {
|
|
36
|
-
PERSPECTIVE_CAMERA: number;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
uniforms: {
|
|
40
|
-
tDepth: IUniform<Texture | null>;
|
|
41
|
-
cameraNear: IUniform<number | null>;
|
|
42
|
-
cameraFar: IUniform<number | null>;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
vertexShader: string;
|
|
46
|
-
|
|
47
|
-
fragmentShader: string;
|
|
48
|
-
}
|