@types/three 0.163.0 → 0.164.1
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 +19 -6
- three/examples/jsm/exporters/USDZExporter.d.ts +8 -1
- three/examples/jsm/geometries/TextGeometry.d.ts +1 -1
- three/examples/jsm/interactive/SelectionBox.d.ts +1 -0
- three/examples/jsm/math/Octree.d.ts +2 -1
- three/examples/jsm/nodes/Nodes.d.ts +28 -4
- three/examples/jsm/nodes/accessors/AccessorsUtils.d.ts +2 -0
- three/examples/jsm/nodes/accessors/MaterialNode.d.ts +84 -1
- three/examples/jsm/nodes/accessors/TextureNode.d.ts +3 -0
- three/examples/jsm/nodes/code/CodeNode.d.ts +7 -2
- three/examples/jsm/nodes/code/FunctionNode.d.ts +10 -4
- three/examples/jsm/nodes/core/LightingModel.d.ts +1 -0
- three/examples/jsm/nodes/core/NodeBuilder.d.ts +1 -1
- three/examples/jsm/nodes/core/OutputStructNode.d.ts +12 -0
- three/examples/jsm/nodes/core/PropertyNode.d.ts +10 -0
- three/examples/jsm/nodes/functions/BSDF/BRDF_GGX.d.ts +3 -1
- three/examples/jsm/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +10 -0
- three/examples/jsm/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +7 -2
- three/examples/jsm/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +16 -0
- three/examples/jsm/nodes/functions/PhysicalLightingModel.d.ts +10 -2
- three/examples/jsm/nodes/functions/ShadowMaskModel.d.ts +9 -0
- three/examples/jsm/nodes/functions/material/getGeometryRoughness.d.ts +3 -2
- three/examples/jsm/nodes/functions/material/getRoughness.d.ts +3 -2
- three/examples/jsm/nodes/lighting/AnalyticLightNode.d.ts +0 -2
- three/examples/jsm/nodes/lighting/IrradianceNode.d.ts +8 -0
- three/examples/jsm/nodes/lighting/LightUtils.d.ts +7 -2
- three/examples/jsm/nodes/materials/Materials.d.ts +1 -0
- three/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.d.ts +24 -14
- three/examples/jsm/nodes/materials/NodeMaterial.d.ts +6 -2
- three/examples/jsm/nodes/materials/ShadowNodeMaterial.d.ts +15 -0
- three/examples/jsm/nodes/materialx/MaterialXNodes.d.ts +36 -32
- three/examples/jsm/nodes/materialx/lib/mx_hsv.d.ts +3 -4
- three/examples/jsm/nodes/materialx/lib/mx_noise.d.ts +127 -6
- three/examples/jsm/nodes/materialx/lib/mx_transform_color.d.ts +4 -0
- three/examples/jsm/nodes/shadernode/ShaderNode.d.ts +6 -3
- three/examples/jsm/physics/JoltPhysics.d.ts +10 -0
- three/examples/jsm/postprocessing/RenderTransitionPass.d.ts +33 -0
- three/examples/jsm/renderers/common/Renderer.d.ts +7 -4
- three/examples/jsm/utils/SceneUtils.d.ts +18 -0
- three/examples/jsm/webxr/OculusHandModel.d.ts +5 -2
- three/examples/jsm/webxr/XRHandModelFactory.d.ts +8 -2
- three/package.json +2 -2
- three/src/core/Object3D.d.ts +6 -5
- three/src/core/RenderTarget.d.ts +25 -10
- three/src/materials/MeshPhysicalMaterial.d.ts +65 -51
- three/src/objects/BatchedMesh.d.ts +13 -0
- three/src/renderers/shaders/ShaderChunk.d.ts +0 -1
- three/src/renderers/webgl/WebGLBufferRenderer.d.ts +6 -0
- three/src/renderers/webgl/WebGLCapabilities.d.ts +5 -0
- three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +6 -0
- three/src/renderers/webgl/WebGLPrograms.d.ts +2 -0
- three/src/textures/types.d.ts +4 -4
- three/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodes.d.ts +0 -3
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
PointsMaterial,
|
|
10
10
|
ShaderMaterial,
|
|
11
11
|
ShaderMaterialParameters,
|
|
12
|
+
ShadowMaterial,
|
|
12
13
|
SpriteMaterial,
|
|
13
14
|
} from "three";
|
|
14
15
|
import ClippingNode from "../accessors/ClippingNode.js";
|
|
@@ -24,6 +25,7 @@ import MeshPhongNodeMaterial from "./MeshPhongNodeMaterial.js";
|
|
|
24
25
|
import MeshPhysicalNodeMaterial from "./MeshPhysicalNodeMaterial.js";
|
|
25
26
|
import MeshStandardNodeMaterial from "./MeshStandardNodeMaterial.js";
|
|
26
27
|
import PointsNodeMaterial from "./PointsNodeMaterial.js";
|
|
28
|
+
import ShadowNodeMaterial from "./ShadowNodeMaterial.js";
|
|
27
29
|
import SpriteNodeMaterial from "./SpriteNodeMaterial.js";
|
|
28
30
|
|
|
29
31
|
export interface NodeMaterialParameters extends ShaderMaterialParameters {
|
|
@@ -33,6 +35,7 @@ export interface NodeMaterialParameters extends ShaderMaterialParameters {
|
|
|
33
35
|
|
|
34
36
|
lightsNode?: ShaderNodeObject<LightsNode> | null | undefined;
|
|
35
37
|
envNode?: ShaderNodeObject<Node> | null | undefined;
|
|
38
|
+
aoNode?: ShaderNodeObject<Node> | null | undefined;
|
|
36
39
|
|
|
37
40
|
colorNode?: ShaderNodeObject<Node> | null | undefined;
|
|
38
41
|
normalNode?: ShaderNodeObject<Node> | null | undefined;
|
|
@@ -57,10 +60,9 @@ export default class NodeMaterial extends ShaderMaterial {
|
|
|
57
60
|
|
|
58
61
|
normals: boolean;
|
|
59
62
|
|
|
60
|
-
colorSpaced: boolean;
|
|
61
|
-
|
|
62
63
|
lightsNode: ShaderNodeObject<LightsNode> | null;
|
|
63
64
|
envNode: ShaderNodeObject<Node> | null;
|
|
65
|
+
aoNode: ShaderNodeObject<Node> | null;
|
|
64
66
|
|
|
65
67
|
colorNode: ShaderNodeObject<Node> | null;
|
|
66
68
|
normalNode: ShaderNodeObject<Node> | null;
|
|
@@ -73,6 +75,7 @@ export default class NodeMaterial extends ShaderMaterial {
|
|
|
73
75
|
|
|
74
76
|
depthNode: ShaderNodeObject<Node> | null;
|
|
75
77
|
shadowNode: ShaderNodeObject<Node> | null;
|
|
78
|
+
shadowPositionNode: ShaderNodeObject<Node> | null;
|
|
76
79
|
|
|
77
80
|
outputNode: ShaderNodeObject<Node> | null;
|
|
78
81
|
|
|
@@ -104,6 +107,7 @@ export default class NodeMaterial extends ShaderMaterial {
|
|
|
104
107
|
static fromMaterial(material: MeshPhysicalMaterial): MeshPhysicalNodeMaterial;
|
|
105
108
|
static fromMaterial(material: MeshStandardMaterial): MeshStandardNodeMaterial;
|
|
106
109
|
static fromMaterial(material: PointsMaterial): PointsNodeMaterial;
|
|
110
|
+
static fromMaterial(material: ShadowMaterial): ShadowNodeMaterial;
|
|
107
111
|
static fromMaterial(material: SpriteMaterial): SpriteNodeMaterial;
|
|
108
112
|
static fromMaterial(material: NodeMaterial): NodeMaterial;
|
|
109
113
|
static fromMaterial(material: Material): NodeMaterial;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Color, ShadowMaterialParameters } from "three";
|
|
2
|
+
import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
|
|
3
|
+
|
|
4
|
+
export interface ShadowNodeMaterialParameters extends NodeMaterialParameters, ShadowMaterialParameters {
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export default class ShadowNodeMaterial extends NodeMaterial {
|
|
8
|
+
readonly isShadowNodeMaterial: true;
|
|
9
|
+
|
|
10
|
+
// Properties from ShadowMaterial
|
|
11
|
+
readonly isShadowMaterial: true;
|
|
12
|
+
color: Color;
|
|
13
|
+
|
|
14
|
+
constructor(parameters?: ShadowNodeMaterialParameters);
|
|
15
|
+
}
|
|
@@ -2,102 +2,106 @@ import Node from "../core/Node.js";
|
|
|
2
2
|
import MathNode from "../math/MathNode.js";
|
|
3
3
|
import { NodeRepresentation, ShaderNodeObject } from "../shadernode/ShaderNode.js";
|
|
4
4
|
import { mx_hsvtorgb, mx_rgbtohsv } from "./lib/mx_hsv.js";
|
|
5
|
+
import { mx_srgb_texture_to_lin_rec709 } from "./lib/mx_transform_color.js";
|
|
5
6
|
|
|
6
|
-
export function mx_aastep(threshold
|
|
7
|
+
export function mx_aastep(threshold: NodeRepresentation, value: NodeRepresentation): ShaderNodeObject<MathNode>;
|
|
7
8
|
|
|
8
9
|
export function mx_ramplr(
|
|
9
|
-
valuel
|
|
10
|
-
valuer
|
|
11
|
-
texcoord?:
|
|
10
|
+
valuel: NodeRepresentation,
|
|
11
|
+
valuer: NodeRepresentation,
|
|
12
|
+
texcoord?: NodeRepresentation,
|
|
12
13
|
): ShaderNodeObject<MathNode>;
|
|
13
14
|
export function mx_ramptb(
|
|
14
|
-
valuet
|
|
15
|
-
valueb
|
|
16
|
-
texcoord?:
|
|
15
|
+
valuet: NodeRepresentation,
|
|
16
|
+
valueb: NodeRepresentation,
|
|
17
|
+
texcoord?: NodeRepresentation,
|
|
17
18
|
): ShaderNodeObject<MathNode>;
|
|
18
19
|
|
|
19
20
|
export function mx_splitlr(
|
|
20
|
-
valuel
|
|
21
|
-
valuer
|
|
22
|
-
center
|
|
23
|
-
texcoord?:
|
|
21
|
+
valuel: NodeRepresentation,
|
|
22
|
+
valuer: NodeRepresentation,
|
|
23
|
+
center: NodeRepresentation,
|
|
24
|
+
texcoord?: NodeRepresentation,
|
|
24
25
|
): ShaderNodeObject<MathNode>;
|
|
25
26
|
export function mx_splittb(
|
|
26
|
-
valuet
|
|
27
|
-
valueb
|
|
28
|
-
center
|
|
29
|
-
texcoord?:
|
|
27
|
+
valuet: NodeRepresentation,
|
|
28
|
+
valueb: NodeRepresentation,
|
|
29
|
+
center: NodeRepresentation,
|
|
30
|
+
texcoord?: NodeRepresentation,
|
|
30
31
|
): ShaderNodeObject<MathNode>;
|
|
31
32
|
|
|
32
33
|
export function mx_transform_uv(
|
|
33
34
|
uv_scale?: NodeRepresentation,
|
|
34
35
|
uv_offset?: NodeRepresentation,
|
|
35
|
-
uv_geo?:
|
|
36
|
+
uv_geo?: NodeRepresentation,
|
|
36
37
|
): ShaderNodeObject<Node>;
|
|
37
38
|
|
|
38
|
-
export function
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
export function mx_safepower(in1: NodeRepresentation, in2?: NodeRepresentation): ShaderNodeObject<Node>;
|
|
40
|
+
|
|
41
|
+
export function mx_contrast(
|
|
42
|
+
input: NodeRepresentation,
|
|
43
|
+
amount?: NodeRepresentation,
|
|
41
44
|
pivot?: NodeRepresentation,
|
|
42
45
|
): ShaderNodeObject<Node>;
|
|
43
|
-
|
|
44
|
-
|
|
46
|
+
|
|
47
|
+
export function mx_noise_float(
|
|
48
|
+
texcoord?: NodeRepresentation,
|
|
45
49
|
amplitude?: NodeRepresentation,
|
|
46
50
|
pivot?: NodeRepresentation,
|
|
47
51
|
): ShaderNodeObject<Node>;
|
|
48
52
|
export function mx_noise_vec3(
|
|
49
|
-
texcoord?:
|
|
53
|
+
texcoord?: NodeRepresentation,
|
|
50
54
|
amplitude?: NodeRepresentation,
|
|
51
55
|
pivot?: NodeRepresentation,
|
|
52
56
|
): ShaderNodeObject<Node>;
|
|
53
57
|
export function mx_noise_vec4(
|
|
54
|
-
texcoord?:
|
|
58
|
+
texcoord?: NodeRepresentation,
|
|
55
59
|
amplitude?: NodeRepresentation,
|
|
56
60
|
pivot?: NodeRepresentation,
|
|
57
61
|
): ShaderNodeObject<Node>;
|
|
58
62
|
|
|
59
63
|
export function mx_worley_noise_float(
|
|
60
|
-
texcoord?:
|
|
64
|
+
texcoord?: NodeRepresentation,
|
|
61
65
|
jitter?: NodeRepresentation,
|
|
62
66
|
): ShaderNodeObject<Node>;
|
|
63
67
|
export function mx_worley_noise_vec2(
|
|
64
|
-
texcoord?:
|
|
68
|
+
texcoord?: NodeRepresentation,
|
|
65
69
|
jitter?: NodeRepresentation,
|
|
66
70
|
): ShaderNodeObject<Node>;
|
|
67
71
|
export function mx_worley_noise_vec3(
|
|
68
|
-
texcoord?:
|
|
72
|
+
texcoord?: NodeRepresentation,
|
|
69
73
|
jitter?: NodeRepresentation,
|
|
70
74
|
): ShaderNodeObject<Node>;
|
|
71
75
|
|
|
72
|
-
export function mx_cell_noise_float(texcoord?:
|
|
76
|
+
export function mx_cell_noise_float(texcoord?: NodeRepresentation): ShaderNodeObject<Node>;
|
|
73
77
|
|
|
74
78
|
export function mx_fractal_noise_float(
|
|
75
|
-
position?:
|
|
79
|
+
position?: NodeRepresentation,
|
|
76
80
|
octaves?: NodeRepresentation,
|
|
77
81
|
lacunarity?: NodeRepresentation,
|
|
78
82
|
diminish?: NodeRepresentation,
|
|
79
83
|
amplitude?: NodeRepresentation,
|
|
80
84
|
): ShaderNodeObject<Node>;
|
|
81
85
|
export function mx_fractal_noise_vec2(
|
|
82
|
-
position?:
|
|
86
|
+
position?: NodeRepresentation,
|
|
83
87
|
octaves?: NodeRepresentation,
|
|
84
88
|
lacunarity?: NodeRepresentation,
|
|
85
89
|
diminish?: NodeRepresentation,
|
|
86
90
|
amplitude?: NodeRepresentation,
|
|
87
91
|
): ShaderNodeObject<Node>;
|
|
88
92
|
export function mx_fractal_noise_vec3(
|
|
89
|
-
position?:
|
|
93
|
+
position?: NodeRepresentation,
|
|
90
94
|
octaves?: NodeRepresentation,
|
|
91
95
|
lacunarity?: NodeRepresentation,
|
|
92
96
|
diminish?: NodeRepresentation,
|
|
93
97
|
amplitude?: NodeRepresentation,
|
|
94
98
|
): ShaderNodeObject<Node>;
|
|
95
99
|
export function mx_fractal_noise_vec4(
|
|
96
|
-
position?:
|
|
100
|
+
position?: NodeRepresentation,
|
|
97
101
|
octaves?: NodeRepresentation,
|
|
98
102
|
lacunarity?: NodeRepresentation,
|
|
99
103
|
diminish?: NodeRepresentation,
|
|
100
104
|
amplitude?: NodeRepresentation,
|
|
101
105
|
): ShaderNodeObject<Node>;
|
|
102
106
|
|
|
103
|
-
export { mx_hsvtorgb, mx_rgbtohsv };
|
|
107
|
+
export { mx_hsvtorgb, mx_rgbtohsv, mx_srgb_texture_to_lin_rec709 };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Fn } from "../../code/FunctionNode.js";
|
|
2
1
|
import Node from "../../core/Node.js";
|
|
3
|
-
import { ShaderNodeObject } from "../../shadernode/ShaderNode.js";
|
|
2
|
+
import { NodeRepresentation, ShaderNodeObject } from "../../shadernode/ShaderNode.js";
|
|
4
3
|
|
|
5
|
-
export
|
|
6
|
-
export
|
|
4
|
+
export const mx_hsvtorgb: (hsv_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
5
|
+
export const mx_rgbtohsv: (c_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
@@ -1,8 +1,129 @@
|
|
|
1
|
-
import { Fn } from "../../code/FunctionNode.js";
|
|
2
1
|
import Node from "../../core/Node.js";
|
|
3
|
-
import
|
|
2
|
+
import VarNode from "../../core/VarNode.js";
|
|
3
|
+
import { NodeRepresentation, ShaderNodeObject } from "../../shadernode/ShaderNode.js";
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
export const mx_select: (
|
|
6
|
+
b_immutable: NodeRepresentation,
|
|
7
|
+
t_immutable: NodeRepresentation,
|
|
8
|
+
f_immutable: NodeRepresentation,
|
|
9
|
+
) => ShaderNodeObject<Node>;
|
|
10
|
+
export const mx_negate_if: (
|
|
11
|
+
val_immutable: NodeRepresentation,
|
|
12
|
+
b_immutable: NodeRepresentation,
|
|
13
|
+
) => ShaderNodeObject<Node>;
|
|
14
|
+
export const mx_floor: (x_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
15
|
+
export const mx_floorfrac: (x_immutable: NodeRepresentation, i: ShaderNodeObject<VarNode>) => ShaderNodeObject<Node>;
|
|
16
|
+
export const mx_bilerp: (
|
|
17
|
+
v0_immutable: NodeRepresentation,
|
|
18
|
+
v1_immutable: NodeRepresentation,
|
|
19
|
+
v2_immutable: NodeRepresentation,
|
|
20
|
+
v3_immutable: NodeRepresentation,
|
|
21
|
+
s_immutable: NodeRepresentation,
|
|
22
|
+
t_immutable: NodeRepresentation,
|
|
23
|
+
) => ShaderNodeObject<Node>;
|
|
24
|
+
export const mx_trilerp: (
|
|
25
|
+
v0_immutable: NodeRepresentation,
|
|
26
|
+
v1_immutable: NodeRepresentation,
|
|
27
|
+
v2_immutable: NodeRepresentation,
|
|
28
|
+
v3_immutable: NodeRepresentation,
|
|
29
|
+
v4_immutable: NodeRepresentation,
|
|
30
|
+
v5_immutable: NodeRepresentation,
|
|
31
|
+
v6_immutable: NodeRepresentation,
|
|
32
|
+
v7_immutable: NodeRepresentation,
|
|
33
|
+
s_immutable: NodeRepresentation,
|
|
34
|
+
t_immutable: NodeRepresentation,
|
|
35
|
+
r_immutable: NodeRepresentation,
|
|
36
|
+
) => ShaderNodeObject<Node>;
|
|
37
|
+
export const mx_gradient_float: (
|
|
38
|
+
hash_immutable: NodeRepresentation,
|
|
39
|
+
x_immutable: NodeRepresentation,
|
|
40
|
+
y_immutable: NodeRepresentation,
|
|
41
|
+
z_immutable?: NodeRepresentation,
|
|
42
|
+
) => ShaderNodeObject<Node>;
|
|
43
|
+
export const mx_gradient_vec3: (
|
|
44
|
+
hash_immutable: NodeRepresentation,
|
|
45
|
+
x_immutable: NodeRepresentation,
|
|
46
|
+
y_immutable: NodeRepresentation,
|
|
47
|
+
z_immutable?: NodeRepresentation,
|
|
48
|
+
) => ShaderNodeObject<Node>;
|
|
49
|
+
export const mx_gradient_scale2d: (v_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
50
|
+
export const mx_gradient_scale3d: (v_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
51
|
+
export const mx_rotl32: (x_immutable: NodeRepresentation, k_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
52
|
+
export const mx_bjmix: (
|
|
53
|
+
a: ShaderNodeObject<VarNode>,
|
|
54
|
+
b: ShaderNodeObject<VarNode>,
|
|
55
|
+
c: ShaderNodeObject<VarNode>,
|
|
56
|
+
) => ShaderNodeObject<Node>;
|
|
57
|
+
export const mx_bjfinal: (
|
|
58
|
+
a_immutable: NodeRepresentation,
|
|
59
|
+
b_immutable: NodeRepresentation,
|
|
60
|
+
c_immutable: NodeRepresentation,
|
|
61
|
+
) => ShaderNodeObject<Node>;
|
|
62
|
+
export const mx_bits_to_01: (bits_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
63
|
+
export const mx_fade: (t_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
64
|
+
export const mx_hash_int: (
|
|
65
|
+
x_immutable: NodeRepresentation,
|
|
66
|
+
y_immutable?: NodeRepresentation,
|
|
67
|
+
z_immutable?: NodeRepresentation,
|
|
68
|
+
xx_immutable?: NodeRepresentation,
|
|
69
|
+
yy_immutable?: NodeRepresentation,
|
|
70
|
+
) => ShaderNodeObject<Node>;
|
|
71
|
+
export const mx_hash_vec3: (
|
|
72
|
+
x_immutable: NodeRepresentation,
|
|
73
|
+
y_immutable: NodeRepresentation,
|
|
74
|
+
z_immutable?: NodeRepresentation,
|
|
75
|
+
) => ShaderNodeObject<Node>;
|
|
76
|
+
export const mx_perlin_noise_float: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
77
|
+
export const mx_perlin_noise_vec3: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
78
|
+
export const mx_cell_noise_float: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
79
|
+
export const mx_cell_noise_vec3: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
80
|
+
export const mx_fractal_noise_float: (
|
|
81
|
+
p_immutable: NodeRepresentation,
|
|
82
|
+
octaves_immutable: NodeRepresentation,
|
|
83
|
+
lacunarity_immutable: NodeRepresentation,
|
|
84
|
+
diminish_immutable: NodeRepresentation,
|
|
85
|
+
) => ShaderNodeObject<Node>;
|
|
86
|
+
export const mx_fractal_noise_vec3: (
|
|
87
|
+
p_immutable: NodeRepresentation,
|
|
88
|
+
octaves_immutable: NodeRepresentation,
|
|
89
|
+
lacunarity_immutable: NodeRepresentation,
|
|
90
|
+
diminish_immutable: NodeRepresentation,
|
|
91
|
+
) => ShaderNodeObject<Node>;
|
|
92
|
+
export const mx_fractal_noise_vec2: (
|
|
93
|
+
p_immutable: NodeRepresentation,
|
|
94
|
+
octaves_immutable: NodeRepresentation,
|
|
95
|
+
lacunarity_immutable: NodeRepresentation,
|
|
96
|
+
diminish_immutable: NodeRepresentation,
|
|
97
|
+
) => ShaderNodeObject<Node>;
|
|
98
|
+
export const mx_fractal_noise_vec4: (
|
|
99
|
+
p_immutable: NodeRepresentation,
|
|
100
|
+
octaves_immutable: NodeRepresentation,
|
|
101
|
+
lacunarity_immutable: NodeRepresentation,
|
|
102
|
+
diminish_immutable: NodeRepresentation,
|
|
103
|
+
) => ShaderNodeObject<Node>;
|
|
104
|
+
export const mx_worley_distance: (
|
|
105
|
+
p_immutable: NodeRepresentation,
|
|
106
|
+
x_immutable: NodeRepresentation,
|
|
107
|
+
y_immutable: NodeRepresentation,
|
|
108
|
+
z_immutable: NodeRepresentation,
|
|
109
|
+
xoff_immutable: NodeRepresentation,
|
|
110
|
+
yoff_immutable: NodeRepresentation,
|
|
111
|
+
zoff_immutable: NodeRepresentation,
|
|
112
|
+
jitter_immutable: NodeRepresentation,
|
|
113
|
+
metric_immutable: NodeRepresentation,
|
|
114
|
+
) => ShaderNodeObject<Node>;
|
|
115
|
+
export const mx_worley_noise_float: (
|
|
116
|
+
p_immutable: NodeRepresentation,
|
|
117
|
+
jitter_immutable: NodeRepresentation,
|
|
118
|
+
metric_immutable: NodeRepresentation,
|
|
119
|
+
) => ShaderNodeObject<Node>;
|
|
120
|
+
export const mx_worley_noise_vec2: (
|
|
121
|
+
p_immutable: NodeRepresentation,
|
|
122
|
+
jitter_immutable: NodeRepresentation,
|
|
123
|
+
metric_immutable: NodeRepresentation,
|
|
124
|
+
) => ShaderNodeObject<Node>;
|
|
125
|
+
export const mx_worley_noise_vec3: (
|
|
126
|
+
p_immutable: NodeRepresentation,
|
|
127
|
+
jitter_immutable: NodeRepresentation,
|
|
128
|
+
metric_immutable: NodeRepresentation,
|
|
129
|
+
) => ShaderNodeObject<Node>;
|
|
@@ -53,8 +53,8 @@ export type Swizzable<T extends Node = Node> =
|
|
|
53
53
|
export type ShaderNodeObject<T extends Node> =
|
|
54
54
|
& T
|
|
55
55
|
& {
|
|
56
|
-
[Key in keyof NodeElements]:
|
|
57
|
-
? (...args: Args) => R
|
|
56
|
+
[Key in keyof NodeElements]: T extends { [K in Key]: infer M } ? M
|
|
57
|
+
: NodeElements[Key] extends (node: T, ...args: infer Args) => infer R ? (...args: Args) => R
|
|
58
58
|
: never;
|
|
59
59
|
}
|
|
60
60
|
& Swizzable<T>;
|
|
@@ -198,9 +198,12 @@ export function nodeImmutable<T>(
|
|
|
198
198
|
): ShaderNodeObject<ConstructedNode<T>>;
|
|
199
199
|
|
|
200
200
|
export function tslFn<R extends Node = ShaderNodeObject<Node>>(jsFunc: () => R): () => R;
|
|
201
|
+
export function tslFn<T extends any[], R extends Node = ShaderNodeObject<Node>>(
|
|
202
|
+
jsFunc: (args: T) => R,
|
|
203
|
+
): (...args: ProxiedTuple<T>) => R;
|
|
201
204
|
export function tslFn<T extends AnyObject, R extends Node = ShaderNodeObject<Node>>(
|
|
202
205
|
jsFunc: (args: T) => R,
|
|
203
|
-
): (args: T) => R;
|
|
206
|
+
): (args: ProxiedObject<T>) => R;
|
|
204
207
|
|
|
205
208
|
export function append(node: Node): Node;
|
|
206
209
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Mesh, Object3D, Vector3Like } from "three";
|
|
2
|
+
|
|
3
|
+
export interface JoltPhysicsObject {
|
|
4
|
+
addScene: (scene: Object3D) => void;
|
|
5
|
+
addMesh: (mesh: Mesh, mass?: number, restitution?: number) => void;
|
|
6
|
+
setMeshPosition: (mesh: Mesh, position: Vector3Like, index?: number) => void;
|
|
7
|
+
setMeshVelocity: (mesh: Mesh, velocity: Vector3Like, index?: number) => void;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function JoltPhysics(): Promise<JoltPhysicsObject>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Camera, Object3D, ShaderMaterial, Texture, WebGLRenderer, WebGLRenderTarget } from "three";
|
|
2
|
+
import { FullScreenQuad, Pass } from "./Pass.js";
|
|
3
|
+
|
|
4
|
+
export class RenderTransitionPass extends Pass {
|
|
5
|
+
material: ShaderMaterial;
|
|
6
|
+
fsQuad: FullScreenQuad;
|
|
7
|
+
|
|
8
|
+
sceneA: Object3D;
|
|
9
|
+
cameraA: Camera;
|
|
10
|
+
sceneB: Object3D;
|
|
11
|
+
cameraB: Camera;
|
|
12
|
+
|
|
13
|
+
renderTargetA: WebGLRenderTarget;
|
|
14
|
+
renderTargetB: WebGLRenderTarget;
|
|
15
|
+
|
|
16
|
+
constructor(sceneA: Object3D, cameraA: Camera, sceneB: Object3D, cameraB: Camera);
|
|
17
|
+
|
|
18
|
+
setTransition(value: number): void;
|
|
19
|
+
|
|
20
|
+
useTexture(value: boolean): void;
|
|
21
|
+
|
|
22
|
+
setTexture(value: Texture | null): void;
|
|
23
|
+
|
|
24
|
+
setTextureThreshold(value: number): void;
|
|
25
|
+
|
|
26
|
+
setSize(width: number, height: number): void;
|
|
27
|
+
|
|
28
|
+
render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget): void;
|
|
29
|
+
|
|
30
|
+
dispose(): void;
|
|
31
|
+
|
|
32
|
+
createMaterial(): ShaderMaterial;
|
|
33
|
+
}
|
|
@@ -97,14 +97,14 @@ export default class Renderer {
|
|
|
97
97
|
|
|
98
98
|
clippingPlanes: readonly Plane[];
|
|
99
99
|
|
|
100
|
+
toneMappingNode: Node | null;
|
|
101
|
+
|
|
100
102
|
info: Info;
|
|
101
103
|
|
|
102
104
|
shadowMap: { enabled: boolean; type: ShadowMapType };
|
|
103
105
|
|
|
104
106
|
xr: { enabled: boolean };
|
|
105
107
|
|
|
106
|
-
toneMappingNode?: Node;
|
|
107
|
-
|
|
108
108
|
localClippingEnabled?: boolean;
|
|
109
109
|
|
|
110
110
|
constructor(backend: Backend, parameters?: RendererParameters);
|
|
@@ -252,9 +252,9 @@ export default class Renderer {
|
|
|
252
252
|
|
|
253
253
|
dispose(): void;
|
|
254
254
|
|
|
255
|
-
setRenderTarget(renderTarget: RenderTarget, activeCubeFace?: number, activeMipmapLevel?: number): void;
|
|
255
|
+
setRenderTarget(renderTarget: RenderTarget | null, activeCubeFace?: number, activeMipmapLevel?: number): void;
|
|
256
256
|
|
|
257
|
-
getRenderTarget(): RenderTarget;
|
|
257
|
+
getRenderTarget(): RenderTarget | null;
|
|
258
258
|
|
|
259
259
|
setRenderObjectFunction(renderObjectFunction: () => {}): void;
|
|
260
260
|
|
|
@@ -265,6 +265,8 @@ export default class Renderer {
|
|
|
265
265
|
*/
|
|
266
266
|
computeAsync(computeNodes: ComputeNode | ComputeNode[]): Promise<void>;
|
|
267
267
|
|
|
268
|
+
hasFeatureAsync(name: string): Promise<boolean>;
|
|
269
|
+
|
|
268
270
|
hasFeature(name: string): boolean;
|
|
269
271
|
|
|
270
272
|
copyFramebufferToTexture(framebufferTexture: FramebufferTexture): void;
|
|
@@ -277,6 +279,7 @@ export default class Renderer {
|
|
|
277
279
|
y: number,
|
|
278
280
|
width: number,
|
|
279
281
|
height: number,
|
|
282
|
+
index?: number,
|
|
280
283
|
): Promise<Float32Array | Uint16Array | Uint8Array | Int8Array | Int16Array | Uint32Array | Int32Array>;
|
|
281
284
|
|
|
282
285
|
renderObject(
|
|
@@ -31,3 +31,21 @@ export function reduceVertices<TValue>(
|
|
|
31
31
|
func: (value: TValue, vertex: Vector3) => TValue,
|
|
32
32
|
initialValue: TValue,
|
|
33
33
|
): TValue;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @param object Object to traverse.
|
|
37
|
+
* @yields Objects that passed the filter condition.
|
|
38
|
+
*/
|
|
39
|
+
export function traverseGenerator(object: Object3D): Generator<Object3D, void, unknown>;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @param object Object to traverse.
|
|
43
|
+
* @yields Objects that passed the filter condition.
|
|
44
|
+
*/
|
|
45
|
+
export function traverseVisibleGenerator(object: Object3D): Generator<Object3D, void, unknown>;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* @param object Object to traverse.
|
|
49
|
+
* @yields Objects that passed the filter condition.
|
|
50
|
+
*/
|
|
51
|
+
export function traverseAncestorsGenerator(object: Object3D): Generator<Object3D, void, unknown>;
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import { Mesh, Object3D, Texture, Vector3 } from "three";
|
|
1
|
+
import { Loader, Mesh, Object3D, Texture, Vector3 } from "three";
|
|
2
|
+
import { GLTF } from "../loaders/GLTFLoader.js";
|
|
2
3
|
import { XRHandMeshModel } from "./XRHandMeshModel.js";
|
|
3
4
|
|
|
4
5
|
export class OculusHandModel extends Object3D {
|
|
5
6
|
controller: Object3D;
|
|
6
7
|
motionController: XRHandMeshModel | null;
|
|
7
8
|
envMap: Texture | null;
|
|
9
|
+
loader: Loader<GLTF> | null;
|
|
10
|
+
onLoad?: ((object: Object3D) => void) | null;
|
|
8
11
|
|
|
9
12
|
mesh: Mesh | null;
|
|
10
13
|
|
|
11
|
-
constructor(controller: Object3D);
|
|
14
|
+
constructor(controller: Object3D, loader?: Loader<GLTF> | null, onLoad?: ((object: Object3D) => void) | null);
|
|
12
15
|
|
|
13
16
|
updateMatrixWorld(force?: boolean): void;
|
|
14
17
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Group, Object3D } from "three";
|
|
1
|
+
import { Group, Loader, Object3D } from "three";
|
|
2
2
|
|
|
3
|
+
import { GLTF } from "../loaders/GLTFLoader.js";
|
|
3
4
|
import { XRHandMeshModel } from "./XRHandMeshModel.js";
|
|
4
5
|
import { XRHandPrimitiveModel, XRHandPrimitiveModelOptions } from "./XRHandPrimitiveModel.js";
|
|
5
6
|
|
|
@@ -12,9 +13,14 @@ export class XRHandModel extends Object3D {
|
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
export class XRHandModelFactory {
|
|
16
|
+
gltfLoader: Loader<GLTF> | null;
|
|
15
17
|
path: string | null;
|
|
18
|
+
onLoad?: ((object: Object3D) => void) | null;
|
|
16
19
|
|
|
17
|
-
constructor(
|
|
20
|
+
constructor(
|
|
21
|
+
gltfLoader?: Loader<GLTF> | null,
|
|
22
|
+
onLoad?: ((object: Object3D) => void) | null,
|
|
23
|
+
);
|
|
18
24
|
|
|
19
25
|
setPath(path: string | null): this;
|
|
20
26
|
|
three/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@types/three",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.164.1",
|
|
4
4
|
"description": "TypeScript definitions for three",
|
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/three",
|
|
6
6
|
"license": "MIT",
|
|
@@ -45,6 +45,6 @@
|
|
|
45
45
|
"fflate": "~0.8.2",
|
|
46
46
|
"meshoptimizer": "~0.18.1"
|
|
47
47
|
},
|
|
48
|
-
"typesPublisherContentHash": "
|
|
48
|
+
"typesPublisherContentHash": "42147108b2703f64304a109b8abded031b3089221669d1c88628dd23d883daf5",
|
|
49
49
|
"typeScriptVersion": "4.7"
|
|
50
50
|
}
|
three/src/core/Object3D.d.ts
CHANGED
|
@@ -617,10 +617,11 @@ export class Object3D<TEventMap extends Object3DEventMap = Object3DEventMap> ext
|
|
|
617
617
|
clone(recursive?: boolean): this;
|
|
618
618
|
|
|
619
619
|
/**
|
|
620
|
-
*
|
|
621
|
-
* @remarks
|
|
622
|
-
* @param
|
|
623
|
-
* @param recursive If true
|
|
620
|
+
* Copies the given object into this object.
|
|
621
|
+
* @remarks Event listeners and user-defined callbacks ({@link .onAfterRender} and {@link .onBeforeRender}) are not copied.
|
|
622
|
+
* @param object
|
|
623
|
+
* @param recursive If set to `true`, descendants of the object are copied next to the existing ones. If set to
|
|
624
|
+
* `false`, descendants are left unchanged. Default is `true`.
|
|
624
625
|
*/
|
|
625
|
-
copy(
|
|
626
|
+
copy(object: Object3D, recursive?: boolean): this;
|
|
626
627
|
}
|
three/src/core/RenderTarget.d.ts
CHANGED
|
@@ -16,15 +16,17 @@ export interface RenderTargetOptions {
|
|
|
16
16
|
wrapT?: Wrapping | undefined;
|
|
17
17
|
magFilter?: MagnificationTextureFilter | undefined;
|
|
18
18
|
minFilter?: MinificationTextureFilter | undefined;
|
|
19
|
-
generateMipmaps?: boolean | undefined; // true
|
|
20
|
-
format?: number | undefined; // RGBAFormat
|
|
21
|
-
type?: TextureDataType | undefined; // UnsignedByteType
|
|
22
|
-
anisotropy?: number | undefined; // 1
|
|
19
|
+
generateMipmaps?: boolean | undefined; // true
|
|
20
|
+
format?: number | undefined; // RGBAFormat
|
|
21
|
+
type?: TextureDataType | undefined; // UnsignedByteType
|
|
22
|
+
anisotropy?: number | undefined; // 1
|
|
23
23
|
colorSpace?: ColorSpace | undefined;
|
|
24
|
-
internalFormat?: PixelFormatGPU | null | undefined;
|
|
25
|
-
depthBuffer?: boolean | undefined; // true
|
|
26
|
-
stencilBuffer?: boolean | undefined; // false
|
|
27
|
-
|
|
24
|
+
internalFormat?: PixelFormatGPU | null | undefined; // null
|
|
25
|
+
depthBuffer?: boolean | undefined; // true
|
|
26
|
+
stencilBuffer?: boolean | undefined; // false
|
|
27
|
+
resolveDepthBuffer?: boolean | undefined; // true
|
|
28
|
+
resolveStencilBuffer?: boolean | undefined; // true
|
|
29
|
+
depthTexture?: DepthTexture | null | undefined; // null
|
|
28
30
|
/**
|
|
29
31
|
* Defines the count of MSAA samples. Can only be used with WebGL 2. Default is **0**.
|
|
30
32
|
* @default 0
|
|
@@ -54,14 +56,27 @@ export class RenderTarget<TTexture extends Texture | Texture[] = Texture> extend
|
|
|
54
56
|
depthBuffer: boolean;
|
|
55
57
|
|
|
56
58
|
/**
|
|
57
|
-
* @default
|
|
59
|
+
* @default false
|
|
58
60
|
*/
|
|
59
61
|
stencilBuffer: boolean;
|
|
60
62
|
|
|
63
|
+
/**
|
|
64
|
+
* Defines whether the depth buffer should be resolved when rendering into a multisampled render target.
|
|
65
|
+
* @default true
|
|
66
|
+
*/
|
|
67
|
+
resolveDepthBuffer: boolean;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Defines whether the stencil buffer should be resolved when rendering into a multisampled render target.
|
|
71
|
+
* This property has no effect when {@link .resolveDepthBuffer} is set to `false`.
|
|
72
|
+
* @default true
|
|
73
|
+
*/
|
|
74
|
+
resolveStencilBuffer: boolean;
|
|
75
|
+
|
|
61
76
|
/**
|
|
62
77
|
* @default null
|
|
63
78
|
*/
|
|
64
|
-
depthTexture: DepthTexture;
|
|
79
|
+
depthTexture: DepthTexture | null;
|
|
65
80
|
|
|
66
81
|
/**
|
|
67
82
|
* Defines the count of MSAA samples. Can only be used with WebGL 2. Default is **0**.
|