@types/three 0.165.0 → 0.166.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.
Files changed (79) hide show
  1. three/README.md +1 -1
  2. three/examples/jsm/exporters/GLTFExporter.d.ts +6 -0
  3. three/examples/jsm/geometries/TeapotGeometry.d.ts +24 -0
  4. three/examples/jsm/helpers/ViewHelper.d.ts +8 -6
  5. three/examples/jsm/lines/LineMaterial.d.ts +2 -4
  6. three/examples/jsm/loaders/DDSLoader.d.ts +8 -2
  7. three/examples/jsm/loaders/GLTFLoader.d.ts +3 -1
  8. three/examples/jsm/loaders/KTXLoader.d.ts +8 -2
  9. three/examples/jsm/loaders/PVRLoader.d.ts +2 -2
  10. three/examples/jsm/nodes/Nodes.d.ts +10 -3
  11. three/examples/jsm/nodes/accessors/BufferAttributeNode.d.ts +1 -0
  12. three/examples/jsm/nodes/accessors/StorageBufferNode.d.ts +7 -0
  13. three/examples/jsm/nodes/accessors/StorageTextureNode.d.ts +40 -0
  14. three/examples/jsm/nodes/core/CacheNode.d.ts +4 -5
  15. three/examples/jsm/nodes/core/LightingModel.d.ts +11 -0
  16. three/examples/jsm/nodes/core/Node.d.ts +3 -0
  17. three/examples/jsm/nodes/core/NodeBuilder.d.ts +7 -3
  18. three/examples/jsm/nodes/core/NodeCache.d.ts +12 -4
  19. three/examples/jsm/nodes/core/NodeFunction.d.ts +2 -2
  20. three/examples/jsm/nodes/core/NodeUniform.d.ts +1 -1
  21. three/examples/jsm/nodes/core/UniformNode.d.ts +2 -0
  22. three/examples/jsm/nodes/core/VarNode.d.ts +2 -0
  23. three/examples/jsm/nodes/display/DepthOfFieldNode.d.ts +30 -0
  24. three/examples/jsm/nodes/display/DotScreenNode.d.ts +32 -0
  25. three/examples/jsm/nodes/display/PassNode.d.ts +1 -1
  26. three/examples/jsm/nodes/display/RGBShiftNode.d.ts +24 -0
  27. three/examples/jsm/nodes/display/SobelOperatorNode.d.ts +17 -0
  28. three/examples/jsm/nodes/display/ViewportDepthNode.d.ts +4 -6
  29. three/examples/jsm/nodes/functions/BSDF/LTC.d.ts +9 -0
  30. three/examples/jsm/nodes/lighting/RectAreaLightNode.d.ts +10 -0
  31. three/examples/jsm/nodes/materials/MeshPhongNodeMaterial.d.ts +2 -3
  32. three/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.d.ts +17 -18
  33. three/examples/jsm/nodes/materials/MeshSSSNodeMaterial.d.ts +6 -7
  34. three/examples/jsm/nodes/materials/MeshStandardNodeMaterial.d.ts +3 -4
  35. three/examples/jsm/nodes/materials/NodeMaterial.d.ts +32 -33
  36. three/examples/jsm/nodes/materials/SpriteNodeMaterial.d.ts +2 -3
  37. three/examples/jsm/nodes/materialx/lib/mx_hsv.d.ts +1 -0
  38. three/examples/jsm/nodes/materialx/lib/mx_noise.d.ts +230 -0
  39. three/examples/jsm/nodes/math/MathNode.d.ts +5 -1
  40. three/examples/jsm/nodes/utils/DiscardNode.d.ts +1 -0
  41. three/examples/jsm/renderers/common/BindGroup.d.ts +9 -0
  42. three/examples/jsm/renderers/common/Bindings.d.ts +11 -14
  43. three/examples/jsm/renderers/common/Geometries.d.ts +3 -3
  44. three/examples/jsm/renderers/common/Info.d.ts +6 -1
  45. three/examples/jsm/renderers/common/PostProcessing.d.ts +2 -0
  46. three/examples/jsm/renderers/common/RenderObject.d.ts +3 -3
  47. three/examples/jsm/renderers/common/Renderer.d.ts +11 -0
  48. three/examples/jsm/renderers/common/SampledTexture.d.ts +27 -0
  49. three/examples/jsm/renderers/common/Sampler.d.ts +11 -0
  50. three/examples/jsm/renderers/common/Uniform.d.ts +3 -3
  51. three/examples/jsm/renderers/common/UniformsGroup.d.ts +4 -2
  52. three/examples/jsm/renderers/common/nodes/NodeBuilderState.d.ts +8 -4
  53. three/examples/jsm/renderers/common/nodes/NodeSampledTexture.d.ts +29 -0
  54. three/examples/jsm/renderers/common/nodes/NodeSampler.d.ts +12 -0
  55. three/examples/jsm/renderers/common/nodes/NodeUniform.d.ts +4 -4
  56. three/examples/jsm/renderers/common/nodes/NodeUniformsGroup.d.ts +0 -1
  57. three/examples/jsm/renderers/common/nodes/Nodes.d.ts +1 -0
  58. three/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +123 -0
  59. three/examples/jsm/renderers/webgpu/nodes/WGSLNodeFunction.d.ts +6 -0
  60. three/examples/jsm/renderers/webgpu/nodes/WGSLNodeParser.d.ts +6 -0
  61. three/examples/jsm/renderers/webgpu/utils/WebGPUConstants.d.ts +328 -0
  62. three/package.json +4 -4
  63. three/src/Three.d.ts +1 -0
  64. three/src/constants.d.ts +6 -0
  65. three/src/extras/ShapeUtils.d.ts +5 -8
  66. three/src/extras/TextureUtils.d.ts +42 -0
  67. three/src/lights/LightShadow.d.ts +5 -0
  68. three/src/materials/Material.d.ts +21 -12
  69. three/src/math/Vector4.d.ts +6 -0
  70. three/src/objects/BatchedMesh.d.ts +58 -54
  71. three/src/renderers/shaders/UniformsLib.d.ts +3 -0
  72. three/src/renderers/webxr/WebXRDepthSensing.d.ts +2 -0
  73. three/src/renderers/webxr/WebXRManager.d.ts +33 -23
  74. three/src/textures/CompressedArrayTexture.d.ts +4 -4
  75. three/src/textures/CompressedTexture.d.ts +16 -8
  76. three/src/textures/Texture.d.ts +3 -1
  77. three/examples/jsm/renderers/webgl/nodes/SlotNode.d.ts +0 -17
  78. three/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.d.ts +0 -37
  79. three/examples/jsm/renderers/webgl/nodes/WebGLNodes.d.ts +0 -3
@@ -1,6 +1,5 @@
1
1
  import { Color, Combine, Euler, MeshPhongMaterialParameters, NormalMapTypes, Texture, Vector2 } from "three";
2
2
  import Node from "../core/Node.js";
3
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
4
3
  import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
5
4
 
6
5
  export interface MeshPhongNodeMaterialParameters extends NodeMaterialParameters, MeshPhongMaterialParameters {
@@ -9,8 +8,8 @@ export interface MeshPhongNodeMaterialParameters extends NodeMaterialParameters,
9
8
  export default class MeshPhongNodeMaterial extends NodeMaterial {
10
9
  readonly isMeshPhongNodeMaterial: true;
11
10
 
12
- shininessNode: ShaderNodeObject<Node> | null;
13
- specularNode: ShaderNodeObject<Node> | null;
11
+ shininessNode: Node | null;
12
+ specularNode: Node | null;
14
13
 
15
14
  // Properties from MeshPhongMaterial
16
15
  readonly isMeshPhongMaterial: true;
@@ -1,7 +1,6 @@
1
1
  import { Color, MeshPhysicalMaterialParameters, Texture, Vector2 } from "three";
2
2
 
3
3
  import Node from "../core/Node.js";
4
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
5
4
  import MeshStandardNodeMaterial, { MeshStandardNodeMaterialParameters } from "./MeshStandardNodeMaterial.js";
6
5
 
7
6
  export interface MeshPhysicalNodeMaterialParameters
@@ -12,29 +11,29 @@ export interface MeshPhysicalNodeMaterialParameters
12
11
  export default class MeshPhysicalNodeMaterial extends MeshStandardNodeMaterial {
13
12
  readonly isMeshPhysicalNodeMaterial: true;
14
13
 
15
- clearcoatNode: ShaderNodeObject<Node> | null;
16
- clearcoatRoughnessNode: ShaderNodeObject<Node> | null;
17
- clearcoatNormalNode: ShaderNodeObject<Node> | null;
14
+ clearcoatNode: Node | null;
15
+ clearcoatRoughnessNode: Node | null;
16
+ clearcoatNormalNode: Node | null;
18
17
 
19
- sheenNode: ShaderNodeObject<Node> | null;
20
- sheenRoughnessNode: ShaderNodeObject<Node> | null;
18
+ sheenNode: Node | null;
19
+ sheenRoughnessNode: Node | null;
21
20
 
22
- iridescenceNode: ShaderNodeObject<Node> | null;
23
- iridescenceIORNode: ShaderNodeObject<Node> | null;
24
- iridescenceThicknessNode: ShaderNodeObject<Node> | null;
21
+ iridescenceNode: Node | null;
22
+ iridescenceIORNode: Node | null;
23
+ iridescenceThicknessNode: Node | null;
25
24
 
26
- iorNode: ShaderNodeObject<Node> | null;
25
+ iorNode: Node | null;
27
26
 
28
- specularIntensityNode: ShaderNodeObject<Node> | null;
29
- specularColorNode: ShaderNodeObject<Node> | null;
27
+ specularIntensityNode: Node | null;
28
+ specularColorNode: Node | null;
30
29
 
31
- transmissionNode: ShaderNodeObject<Node> | null;
32
- thicknessNode: ShaderNodeObject<Node> | null;
33
- attenuationDistanceNode: ShaderNodeObject<Node> | null;
34
- attenuationColorNode: ShaderNodeObject<Node> | null;
35
- dispersionNode: ShaderNodeObject<Node> | null;
30
+ transmissionNode: Node | null;
31
+ thicknessNode: Node | null;
32
+ attenuationDistanceNode: Node | null;
33
+ attenuationColorNode: Node | null;
34
+ dispersionNode: Node | null;
36
35
 
37
- anisotropyNode: ShaderNodeObject<Node> | null;
36
+ anisotropyNode: Node | null;
38
37
 
39
38
  // Properties from MeshPhysicalMaterial
40
39
  readonly isMeshPhysicalMaterial: true;
@@ -1,15 +1,14 @@
1
1
  import ConstNode from "../core/ConstNode.js";
2
2
  import Node from "../core/Node.js";
3
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
4
3
  import MeshPhysicalNodeMaterial, { MeshPhysicalNodeMaterialParameters } from "./MeshPhysicalNodeMaterial.js";
5
4
 
6
5
  export default class MeshSSSNodeMaterial extends MeshPhysicalNodeMaterial {
7
- thicknessColorNode: ShaderNodeObject<Node> | null;
8
- thicknessDistortionNode: ShaderNodeObject<ConstNode<number>>;
9
- thicknessAmbientNode: ShaderNodeObject<ConstNode<number>>;
10
- thicknessAttenuationNode: ShaderNodeObject<ConstNode<number>>;
11
- thicknessPowerNode: ShaderNodeObject<ConstNode<number>>;
12
- thicknessScaleNode: ShaderNodeObject<ConstNode<number>>;
6
+ thicknessColorNode: Node | null;
7
+ thicknessDistortionNode: ConstNode<number>;
8
+ thicknessAmbientNode: ConstNode<number>;
9
+ thicknessAttenuationNode: ConstNode<number>;
10
+ thicknessPowerNode: ConstNode<number>;
11
+ thicknessScaleNode: ConstNode<number>;
13
12
 
14
13
  constructor(parameters?: MeshPhysicalNodeMaterialParameters);
15
14
 
@@ -1,6 +1,5 @@
1
1
  import { Color, Euler, MeshStandardMaterialParameters, NormalMapTypes, Texture, Vector2 } from "three";
2
2
  import Node from "../core/Node.js";
3
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
4
3
  import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
5
4
 
6
5
  export interface MeshStandardNodeMaterialParameters extends NodeMaterialParameters, MeshStandardMaterialParameters {
@@ -9,10 +8,10 @@ export interface MeshStandardNodeMaterialParameters extends NodeMaterialParamete
9
8
  export default class MeshStandardNodeMaterial extends NodeMaterial {
10
9
  readonly isMeshStandardNodeMaterial: true;
11
10
 
12
- emissiveNode: ShaderNodeObject<Node> | null;
11
+ emissiveNode: Node | null;
13
12
 
14
- metalnessNode: ShaderNodeObject<Node> | null;
15
- roughnessNode: ShaderNodeObject<Node> | null;
13
+ metalnessNode: Node | null;
14
+ roughnessNode: Node | null;
16
15
 
17
16
  // Properties from MeshStandardMaterial
18
17
  readonly isMeshStandardMaterial: true;
@@ -18,7 +18,6 @@ import LightingModel from "../core/LightingModel.js";
18
18
  import Node from "../core/Node.js";
19
19
  import NodeBuilder from "../core/NodeBuilder.js";
20
20
  import LightsNode from "../lighting/LightsNode.js";
21
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
22
21
  import LineBasicNodeMaterial from "./LineBasicNodeMaterial.js";
23
22
  import MeshBasicNodeMaterial from "./MeshBasicNodeMaterial.js";
24
23
  import MeshMatcapNodeMaterial from "./MeshMatcapNodeMaterial.js";
@@ -36,26 +35,26 @@ export interface NodeMaterialParameters extends MaterialParameters {
36
35
 
37
36
  colorSpaced?: boolean | undefined;
38
37
 
39
- lightsNode?: ShaderNodeObject<LightsNode> | null | undefined;
40
- envNode?: ShaderNodeObject<Node> | null | undefined;
41
- aoNode?: ShaderNodeObject<Node> | null | undefined;
38
+ lightsNode?: LightsNode | null | undefined;
39
+ envNode?: Node | null | undefined;
40
+ aoNode?: Node | null | undefined;
42
41
 
43
- colorNode?: ShaderNodeObject<Node> | null | undefined;
44
- normalNode?: ShaderNodeObject<Node> | null | undefined;
45
- opacityNode?: ShaderNodeObject<Node> | null | undefined;
46
- backdropNode?: ShaderNodeObject<Node> | null | undefined;
47
- backdropAlphaNode?: ShaderNodeObject<Node> | null | undefined;
48
- alphaTestNode?: ShaderNodeObject<Node> | null | undefined;
42
+ colorNode?: Node | null | undefined;
43
+ normalNode?: Node | null | undefined;
44
+ opacityNode?: Node | null | undefined;
45
+ backdropNode?: Node | null | undefined;
46
+ backdropAlphaNode?: Node | null | undefined;
47
+ alphaTestNode?: Node | null | undefined;
49
48
 
50
- positionNode?: ShaderNodeObject<Node> | null | undefined;
49
+ positionNode?: Node | null | undefined;
51
50
 
52
- depthNode?: ShaderNodeObject<Node> | null | undefined;
53
- shadowNode?: ShaderNodeObject<Node> | null | undefined;
51
+ depthNode?: Node | null | undefined;
52
+ shadowNode?: Node | null | undefined;
54
53
 
55
- outputNode?: ShaderNodeObject<Node> | null | undefined;
54
+ outputNode?: Node | null | undefined;
56
55
 
57
- fragmentNode?: ShaderNodeObject<Node> | null | undefined;
58
- vertexNode?: ShaderNodeObject<Node> | null | undefined;
56
+ fragmentNode?: Node | null | undefined;
57
+ vertexNode?: Node | null | undefined;
59
58
  }
60
59
 
61
60
  export default class NodeMaterial extends Material {
@@ -63,33 +62,33 @@ export default class NodeMaterial extends Material {
63
62
 
64
63
  normals: boolean;
65
64
 
66
- lightsNode: ShaderNodeObject<LightsNode> | null;
67
- envNode: ShaderNodeObject<Node> | null;
68
- aoNode: ShaderNodeObject<Node> | null;
65
+ lightsNode: LightsNode | null;
66
+ envNode: Node | null;
67
+ aoNode: Node | null;
69
68
 
70
- colorNode: ShaderNodeObject<Node> | null;
71
- normalNode: ShaderNodeObject<Node> | null;
72
- opacityNode: ShaderNodeObject<Node> | null;
73
- backdropNode: ShaderNodeObject<Node> | null;
74
- backdropAlphaNode: ShaderNodeObject<Node> | null;
75
- alphaTestNode: ShaderNodeObject<Node> | null;
69
+ colorNode: Node | null;
70
+ normalNode: Node | null;
71
+ opacityNode: Node | null;
72
+ backdropNode: Node | null;
73
+ backdropAlphaNode: Node | null;
74
+ alphaTestNode: Node | null;
76
75
 
77
- positionNode: ShaderNodeObject<Node> | null;
76
+ positionNode: Node | null;
78
77
 
79
- depthNode: ShaderNodeObject<Node> | null;
80
- shadowNode: ShaderNodeObject<Node> | null;
81
- shadowPositionNode: ShaderNodeObject<Node> | null;
78
+ depthNode: Node | null;
79
+ shadowNode: Node | null;
80
+ shadowPositionNode: Node | null;
82
81
 
83
- outputNode: ShaderNodeObject<Node> | null;
82
+ outputNode: Node | null;
84
83
 
85
- fragmentNode: ShaderNodeObject<Node> | null;
86
- vertexNode: ShaderNodeObject<Node> | null;
84
+ fragmentNode: Node | null;
85
+ vertexNode: Node | null;
87
86
 
88
87
  constructor();
89
88
 
90
89
  build(builder: NodeBuilder): void;
91
90
  setup(builder: NodeBuilder): void;
92
- setupClipping(builder: NodeBuilder): ShaderNodeObject<ClippingNode> | null;
91
+ setupClipping(builder: NodeBuilder): ClippingNode | null;
93
92
  setupDepth(builder: NodeBuilder): void;
94
93
  setupPosition(builder: NodeBuilder): Node;
95
94
  setupDiffuseColor(builder: NodeBuilder): void;
@@ -1,6 +1,5 @@
1
1
  import { Color, SpriteMaterialParameters, Texture } from "three";
2
2
  import Node from "../core/Node.js";
3
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
4
3
  import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";
5
4
 
6
5
  export interface SpriteNodeMaterialParameters extends NodeMaterialParameters, SpriteMaterialParameters {
@@ -9,8 +8,8 @@ export interface SpriteNodeMaterialParameters extends NodeMaterialParameters, Sp
9
8
  export default class SpriteNodeMaterial extends NodeMaterial {
10
9
  isSpriteNodeMaterial: true;
11
10
 
12
- rotationNode: ShaderNodeObject<Node> | null;
13
- scaleNode: ShaderNodeObject<Node> | null;
11
+ rotationNode: Node | null;
12
+ scaleNode: Node | null;
14
13
 
15
14
  // Properties from SpriteMaterial
16
15
  readonly isSpriteMaterial: true;
@@ -2,4 +2,5 @@ import Node from "../../core/Node.js";
2
2
  import { NodeRepresentation, ShaderNodeObject } from "../../shadernode/ShaderNode.js";
3
3
 
4
4
  export const mx_hsvtorgb: (hsv_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
5
+
5
6
  export const mx_rgbtohsv: (c_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
@@ -7,12 +7,34 @@ export const mx_select: (
7
7
  t_immutable: NodeRepresentation,
8
8
  f_immutable: NodeRepresentation,
9
9
  ) => ShaderNodeObject<Node>;
10
+
10
11
  export const mx_negate_if: (
11
12
  val_immutable: NodeRepresentation,
12
13
  b_immutable: NodeRepresentation,
13
14
  ) => ShaderNodeObject<Node>;
15
+
14
16
  export const mx_floor: (x_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
17
+
15
18
  export const mx_floorfrac: (x_immutable: NodeRepresentation, i: ShaderNodeObject<VarNode>) => ShaderNodeObject<Node>;
19
+
20
+ export const mx_bilerp_0: (
21
+ v0_immutable: NodeRepresentation,
22
+ v1_immutable: NodeRepresentation,
23
+ v2_immutable: NodeRepresentation,
24
+ v3_immutable: NodeRepresentation,
25
+ s_immutable: NodeRepresentation,
26
+ t_immutable: NodeRepresentation,
27
+ ) => ShaderNodeObject<Node>;
28
+
29
+ export const mx_bilerp_1: (
30
+ v0_immutable: NodeRepresentation,
31
+ v1_immutable: NodeRepresentation,
32
+ v2_immutable: NodeRepresentation,
33
+ v3_immutable: NodeRepresentation,
34
+ s_immutable: NodeRepresentation,
35
+ t_immutable: NodeRepresentation,
36
+ ) => ShaderNodeObject<Node>;
37
+
16
38
  export const mx_bilerp: (
17
39
  v0_immutable: NodeRepresentation,
18
40
  v1_immutable: NodeRepresentation,
@@ -21,6 +43,35 @@ export const mx_bilerp: (
21
43
  s_immutable: NodeRepresentation,
22
44
  t_immutable: NodeRepresentation,
23
45
  ) => ShaderNodeObject<Node>;
46
+
47
+ export const mx_trilerp_0: (
48
+ v0_immutable: NodeRepresentation,
49
+ v1_immutable: NodeRepresentation,
50
+ v2_immutable: NodeRepresentation,
51
+ v3_immutable: NodeRepresentation,
52
+ v4_immutable: NodeRepresentation,
53
+ v5_immutable: NodeRepresentation,
54
+ v6_immutable: NodeRepresentation,
55
+ v7_immutable: NodeRepresentation,
56
+ s_immutable: NodeRepresentation,
57
+ t_immutable: NodeRepresentation,
58
+ r_immutable: NodeRepresentation,
59
+ ) => ShaderNodeObject<Node>;
60
+
61
+ export const mx_trilerp_1: (
62
+ v0_immutable: NodeRepresentation,
63
+ v1_immutable: NodeRepresentation,
64
+ v2_immutable: NodeRepresentation,
65
+ v3_immutable: NodeRepresentation,
66
+ v4_immutable: NodeRepresentation,
67
+ v5_immutable: NodeRepresentation,
68
+ v6_immutable: NodeRepresentation,
69
+ v7_immutable: NodeRepresentation,
70
+ s_immutable: NodeRepresentation,
71
+ t_immutable: NodeRepresentation,
72
+ r_immutable: NodeRepresentation,
73
+ ) => ShaderNodeObject<Node>;
74
+
24
75
  export const mx_trilerp: (
25
76
  v0_immutable: NodeRepresentation,
26
77
  v1_immutable: NodeRepresentation,
@@ -34,33 +85,105 @@ export const mx_trilerp: (
34
85
  t_immutable: NodeRepresentation,
35
86
  r_immutable: NodeRepresentation,
36
87
  ) => ShaderNodeObject<Node>;
88
+
89
+ export const mx_gradient_float_0: (
90
+ hash_immutable: NodeRepresentation,
91
+ x_immutable: NodeRepresentation,
92
+ y_immutable: NodeRepresentation,
93
+ ) => ShaderNodeObject<Node>;
94
+
95
+ export const mx_gradient_float_1: (
96
+ hash_immutable: NodeRepresentation,
97
+ x_immutable: NodeRepresentation,
98
+ y_immutable: NodeRepresentation,
99
+ z_immutable: NodeRepresentation,
100
+ ) => ShaderNodeObject<Node>;
101
+
37
102
  export const mx_gradient_float: (
38
103
  hash_immutable: NodeRepresentation,
39
104
  x_immutable: NodeRepresentation,
40
105
  y_immutable: NodeRepresentation,
41
106
  z_immutable?: NodeRepresentation,
42
107
  ) => ShaderNodeObject<Node>;
108
+
109
+ export const mx_gradient_vec3_0: (
110
+ hash_immutable: NodeRepresentation,
111
+ x_immutable: NodeRepresentation,
112
+ y_immutable: NodeRepresentation,
113
+ ) => ShaderNodeObject<Node>;
114
+
115
+ export const mx_gradient_vec3_1: (
116
+ hash_immutable: NodeRepresentation,
117
+ x_immutable: NodeRepresentation,
118
+ y_immutable: NodeRepresentation,
119
+ z_immutable: NodeRepresentation,
120
+ ) => ShaderNodeObject<Node>;
121
+
43
122
  export const mx_gradient_vec3: (
44
123
  hash_immutable: NodeRepresentation,
45
124
  x_immutable: NodeRepresentation,
46
125
  y_immutable: NodeRepresentation,
47
126
  z_immutable?: NodeRepresentation,
48
127
  ) => ShaderNodeObject<Node>;
128
+
129
+ export const mx_gradient_scale2d_0: (v_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
130
+
131
+ export const mx_gradient_scale3d_0: (v_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
132
+
133
+ export const mx_gradient_scale2d_1: (v_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
134
+
49
135
  export const mx_gradient_scale2d: (v_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
136
+
137
+ export const mx_gradient_scale3d_1: (v_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
138
+
50
139
  export const mx_gradient_scale3d: (v_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
140
+
51
141
  export const mx_rotl32: (x_immutable: NodeRepresentation, k_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
142
+
52
143
  export const mx_bjmix: (
53
144
  a: ShaderNodeObject<VarNode>,
54
145
  b: ShaderNodeObject<VarNode>,
55
146
  c: ShaderNodeObject<VarNode>,
56
147
  ) => ShaderNodeObject<Node>;
148
+
57
149
  export const mx_bjfinal: (
58
150
  a_immutable: NodeRepresentation,
59
151
  b_immutable: NodeRepresentation,
60
152
  c_immutable: NodeRepresentation,
61
153
  ) => ShaderNodeObject<Node>;
154
+
62
155
  export const mx_bits_to_01: (bits_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
156
+
63
157
  export const mx_fade: (t_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
158
+
159
+ export const mx_hash_int_0: (x_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
160
+
161
+ export const mx_hash_int_1: (
162
+ x_immutable: NodeRepresentation,
163
+ y_immutable: NodeRepresentation,
164
+ ) => ShaderNodeObject<Node>;
165
+
166
+ export const mx_hash_int_2: (
167
+ x_immutable: NodeRepresentation,
168
+ y_immutable: NodeRepresentation,
169
+ z_immutable: NodeRepresentation,
170
+ ) => ShaderNodeObject<Node>;
171
+
172
+ export const mx_hash_int_3: (
173
+ x_immutable: NodeRepresentation,
174
+ y_immutable: NodeRepresentation,
175
+ z_immutable: NodeRepresentation,
176
+ xx_immutable: NodeRepresentation,
177
+ ) => ShaderNodeObject<Node>;
178
+
179
+ export const mx_hash_int_4: (
180
+ x_immutable: NodeRepresentation,
181
+ y_immutable: NodeRepresentation,
182
+ z_immutable: NodeRepresentation,
183
+ xx_immutable: NodeRepresentation,
184
+ yy_immutable: NodeRepresentation,
185
+ ) => ShaderNodeObject<Node>;
186
+
64
187
  export const mx_hash_int: (
65
188
  x_immutable: NodeRepresentation,
66
189
  y_immutable?: NodeRepresentation,
@@ -68,39 +191,107 @@ export const mx_hash_int: (
68
191
  xx_immutable?: NodeRepresentation,
69
192
  yy_immutable?: NodeRepresentation,
70
193
  ) => ShaderNodeObject<Node>;
194
+
195
+ export const mx_hash_vec3_0: (
196
+ x_immutable: NodeRepresentation,
197
+ y_immutable: NodeRepresentation,
198
+ ) => ShaderNodeObject<Node>;
199
+
200
+ export const mx_hash_vec3_1: (
201
+ x_immutable: NodeRepresentation,
202
+ y_immutable: NodeRepresentation,
203
+ z_immutable: NodeRepresentation,
204
+ ) => ShaderNodeObject<Node>;
205
+
71
206
  export const mx_hash_vec3: (
72
207
  x_immutable: NodeRepresentation,
73
208
  y_immutable: NodeRepresentation,
74
209
  z_immutable?: NodeRepresentation,
75
210
  ) => ShaderNodeObject<Node>;
211
+
212
+ export const mx_perlin_noise_float_0: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
213
+
214
+ export const mx_perlin_noise_float_1: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
215
+
76
216
  export const mx_perlin_noise_float: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
217
+
218
+ export const mx_perlin_noise_vec3_0: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
219
+
220
+ export const mx_perlin_noise_vec3_1: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
221
+
77
222
  export const mx_perlin_noise_vec3: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
223
+
224
+ export const mx_cell_noise_float_0: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
225
+
226
+ export const mx_cell_noise_float_1: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
227
+
228
+ export const mx_cell_noise_float_2: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
229
+
230
+ export const mx_cell_noise_float_3: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
231
+
78
232
  export const mx_cell_noise_float: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
233
+
234
+ export const mx_cell_noise_vec3_0: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
235
+
236
+ export const mx_cell_noise_vec3_1: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
237
+
238
+ export const mx_cell_noise_vec3_2: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
239
+
240
+ export const mx_cell_noise_vec3_3: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
241
+
79
242
  export const mx_cell_noise_vec3: (p_immutable: NodeRepresentation) => ShaderNodeObject<Node>;
243
+
80
244
  export const mx_fractal_noise_float: (
81
245
  p_immutable: NodeRepresentation,
82
246
  octaves_immutable: NodeRepresentation,
83
247
  lacunarity_immutable: NodeRepresentation,
84
248
  diminish_immutable: NodeRepresentation,
85
249
  ) => ShaderNodeObject<Node>;
250
+
86
251
  export const mx_fractal_noise_vec3: (
87
252
  p_immutable: NodeRepresentation,
88
253
  octaves_immutable: NodeRepresentation,
89
254
  lacunarity_immutable: NodeRepresentation,
90
255
  diminish_immutable: NodeRepresentation,
91
256
  ) => ShaderNodeObject<Node>;
257
+
92
258
  export const mx_fractal_noise_vec2: (
93
259
  p_immutable: NodeRepresentation,
94
260
  octaves_immutable: NodeRepresentation,
95
261
  lacunarity_immutable: NodeRepresentation,
96
262
  diminish_immutable: NodeRepresentation,
97
263
  ) => ShaderNodeObject<Node>;
264
+
98
265
  export const mx_fractal_noise_vec4: (
99
266
  p_immutable: NodeRepresentation,
100
267
  octaves_immutable: NodeRepresentation,
101
268
  lacunarity_immutable: NodeRepresentation,
102
269
  diminish_immutable: NodeRepresentation,
103
270
  ) => ShaderNodeObject<Node>;
271
+
272
+ export const mx_worley_distance_0: (
273
+ p_immutable: NodeRepresentation,
274
+ x_immutable: NodeRepresentation,
275
+ y_immutable: NodeRepresentation,
276
+ z_immutable: NodeRepresentation,
277
+ xoff_immutable: NodeRepresentation,
278
+ yoff_immutable: NodeRepresentation,
279
+ jitter_immutable: NodeRepresentation,
280
+ metric_immutable: NodeRepresentation,
281
+ ) => ShaderNodeObject<Node>;
282
+
283
+ export const mx_worley_distance_1: (
284
+ p_immutable: NodeRepresentation,
285
+ x_immutable: NodeRepresentation,
286
+ y_immutable: NodeRepresentation,
287
+ z_immutable: NodeRepresentation,
288
+ xoff_immutable: NodeRepresentation,
289
+ yoff_immutable: NodeRepresentation,
290
+ zoff_immutable: NodeRepresentation,
291
+ jitter_immutable: NodeRepresentation,
292
+ metric_immutable: NodeRepresentation,
293
+ ) => ShaderNodeObject<Node>;
294
+
104
295
  export const mx_worley_distance: (
105
296
  p_immutable: NodeRepresentation,
106
297
  x_immutable: NodeRepresentation,
@@ -110,18 +301,57 @@ export const mx_worley_distance: (
110
301
  yoff_immutable: NodeRepresentation,
111
302
  zoff_immutable: NodeRepresentation,
112
303
  jitter_immutable: NodeRepresentation,
304
+ metric_immutable?: NodeRepresentation,
305
+ ) => ShaderNodeObject<Node>;
306
+
307
+ export const mx_worley_noise_float_0: (
308
+ p_immutable: NodeRepresentation,
309
+ jitter_immutable: NodeRepresentation,
310
+ metric_immutable: NodeRepresentation,
311
+ ) => ShaderNodeObject<Node>;
312
+
313
+ export const mx_worley_noise_vec2_0: (
314
+ p_immutable: NodeRepresentation,
315
+ jitter_immutable: NodeRepresentation,
113
316
  metric_immutable: NodeRepresentation,
114
317
  ) => ShaderNodeObject<Node>;
318
+
319
+ export const mx_worley_noise_vec3_0: (
320
+ p_immutable: NodeRepresentation,
321
+ jitter_immutable: NodeRepresentation,
322
+ metric_immutable: NodeRepresentation,
323
+ ) => ShaderNodeObject<Node>;
324
+
325
+ export const mx_worley_noise_float_1: (
326
+ p_immutable: NodeRepresentation,
327
+ jitter_immutable: NodeRepresentation,
328
+ metric_immutable: NodeRepresentation,
329
+ ) => ShaderNodeObject<Node>;
330
+
115
331
  export const mx_worley_noise_float: (
116
332
  p_immutable: NodeRepresentation,
117
333
  jitter_immutable: NodeRepresentation,
118
334
  metric_immutable: NodeRepresentation,
119
335
  ) => ShaderNodeObject<Node>;
336
+
337
+ export const mx_worley_noise_vec2_1: (
338
+ p_immutable: NodeRepresentation,
339
+ jitter_immutable: NodeRepresentation,
340
+ metric_immutable: NodeRepresentation,
341
+ ) => ShaderNodeObject<Node>;
342
+
120
343
  export const mx_worley_noise_vec2: (
121
344
  p_immutable: NodeRepresentation,
122
345
  jitter_immutable: NodeRepresentation,
123
346
  metric_immutable: NodeRepresentation,
124
347
  ) => ShaderNodeObject<Node>;
348
+
349
+ export const mx_worley_noise_vec3_1: (
350
+ p_immutable: NodeRepresentation,
351
+ jitter_immutable: NodeRepresentation,
352
+ metric_immutable: NodeRepresentation,
353
+ ) => ShaderNodeObject<Node>;
354
+
125
355
  export const mx_worley_noise_vec3: (
126
356
  p_immutable: NodeRepresentation,
127
357
  jitter_immutable: NodeRepresentation,
@@ -32,7 +32,8 @@ export type MathNodeMethod1 =
32
32
  | typeof MathNode.RECIPROCAL
33
33
  | typeof MathNode.TRUNC
34
34
  | typeof MathNode.FWIDTH
35
- | typeof MathNode.BITCAST;
35
+ | typeof MathNode.BITCAST
36
+ | typeof MathNode.TRANSPOSE;
36
37
 
37
38
  export type MathNodeMethod2 =
38
39
  | typeof MathNode.ATAN2
@@ -93,6 +94,7 @@ export default class MathNode extends TempNode {
93
94
  static TRUNC: "trunc";
94
95
  static FWIDTH: "fwidth";
95
96
  static BITCAST: "bitcast";
97
+ static TRANSPOSE: "transpose";
96
98
 
97
99
  // 2 inputs
98
100
 
@@ -167,6 +169,7 @@ export const reciprocal: Unary;
167
169
  export const trunc: Unary;
168
170
  export const fwidth: Unary;
169
171
  export const bitcast: Unary;
172
+ export const transpose: Unary;
170
173
 
171
174
  type Binary = (a: NodeRepresentation, b: NodeRepresentation) => ShaderNodeObject<MathNode>;
172
175
 
@@ -261,5 +264,6 @@ declare module "../shadernode/ShaderNode.js" {
261
264
  difference: typeof difference;
262
265
  saturate: typeof saturate;
263
266
  cbrt: typeof cbrt;
267
+ transpose: typeof transpose;
264
268
  }
265
269
  }
@@ -8,6 +8,7 @@ export default class DiscardNode extends CondNode {
8
8
 
9
9
  export const inlineDiscard: (condNode: NodeRepresentation) => ShaderNodeObject<DiscardNode>;
10
10
  export const discard: (condNode: NodeRepresentation) => ShaderNodeObject<Node>;
11
+ export const Return: (condNode: NodeRepresentation) => ShaderNodeObject<Node>;
11
12
 
12
13
  declare module "../shadernode/ShaderNode.js" {
13
14
  interface NodeElements {
@@ -0,0 +1,9 @@
1
+ import Binding from "./Binding.js";
2
+ import NodeUniformsGroup from "./nodes/NodeUniformsGroup.js";
3
+ declare class BindGroup {
4
+ name: string;
5
+ bindings: NodeUniformsGroup[] | Binding[];
6
+ id: number;
7
+ constructor(name?: string, bindings?: NodeUniformsGroup[]);
8
+ }
9
+ export default BindGroup;