@types/three 0.171.0 → 0.173.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 (152) hide show
  1. three/README.md +1 -1
  2. three/examples/jsm/Addons.d.ts +0 -5
  3. three/examples/jsm/controls/ArcballControls.d.ts +1 -1
  4. three/examples/jsm/controls/OrbitControls.d.ts +5 -0
  5. three/examples/jsm/csm/CSMShadowNode.d.ts +2 -3
  6. three/examples/jsm/geometries/TextGeometry.d.ts +0 -8
  7. three/examples/jsm/helpers/VertexNormalsHelper.d.ts +2 -0
  8. three/examples/jsm/interactive/InteractiveGroup.d.ts +9 -1
  9. three/examples/jsm/lines/LineSegments2.d.ts +3 -1
  10. three/examples/jsm/materials/MeshGouraudMaterial.d.ts +3 -0
  11. three/examples/jsm/modifiers/CurveModifier.d.ts +1 -1
  12. three/examples/jsm/modifiers/CurveModifierGPU.d.ts +1 -1
  13. three/examples/jsm/postprocessing/OutlinePass.d.ts +1 -1
  14. three/examples/jsm/postprocessing/UnrealBloomPass.d.ts +1 -1
  15. three/examples/jsm/utils/ShadowMapViewer.d.ts +2 -2
  16. three/examples/jsm/webxr/XRButton.d.ts +4 -2
  17. three/package.json +2 -2
  18. three/src/Three.Core.d.ts +4 -1
  19. three/src/Three.TSL.d.ts +18 -5
  20. three/src/Three.WebGPU.Nodes.d.ts +2 -2
  21. three/src/Three.WebGPU.d.ts +2 -2
  22. three/src/animation/AnimationClip.d.ts +1 -1
  23. three/src/cameras/ArrayCamera.d.ts +7 -6
  24. three/src/cameras/Camera.d.ts +7 -7
  25. three/src/cameras/CubeCamera.d.ts +19 -2
  26. three/src/constants.d.ts +6 -0
  27. three/src/core/BufferAttribute.d.ts +5 -0
  28. three/src/core/RenderTarget.d.ts +3 -5
  29. three/src/core/RenderTarget3D.d.ts +9 -0
  30. three/src/core/RenderTargetArray.d.ts +9 -0
  31. three/src/materials/Material.d.ts +3 -1
  32. three/src/materials/MeshDepthMaterial.d.ts +0 -5
  33. three/src/materials/MeshDistanceMaterial.d.ts +0 -5
  34. three/src/materials/nodes/Line2NodeMaterial.d.ts +1 -0
  35. three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +6 -6
  36. three/src/materials/nodes/NodeMaterial.d.ts +3 -0
  37. three/src/materials/nodes/NodeMaterials.d.ts +0 -4
  38. three/src/materials/nodes/PointsNodeMaterial.d.ts +7 -14
  39. three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +57 -0
  40. three/src/math/Matrix4.d.ts +2 -1
  41. three/src/nodes/Nodes.d.ts +6 -7
  42. three/src/nodes/TSL.d.ts +6 -3
  43. three/src/nodes/accessors/Arrays.d.ts +10 -2
  44. three/src/nodes/accessors/BufferAttributeNode.d.ts +117 -0
  45. three/src/nodes/accessors/BufferNode.d.ts +4 -4
  46. three/src/nodes/accessors/Camera.d.ts +1 -0
  47. three/src/nodes/accessors/MaterialNode.d.ts +6 -6
  48. three/src/nodes/accessors/ModelNode.d.ts +10 -2
  49. three/src/nodes/accessors/ModelViewProjectionNode.d.ts +2 -6
  50. three/src/nodes/accessors/StorageBufferNode.d.ts +12 -4
  51. three/src/nodes/accessors/TextureNode.d.ts +5 -0
  52. three/src/nodes/accessors/UniformArrayNode.d.ts +3 -2
  53. three/src/nodes/core/ArrayNode.d.ts +26 -0
  54. three/src/nodes/core/Node.d.ts +245 -0
  55. three/src/nodes/core/NodeAttribute.d.ts +13 -0
  56. three/src/nodes/core/NodeBuilder.d.ts +1 -2
  57. three/src/nodes/core/NodeCache.d.ts +23 -1
  58. three/src/nodes/core/NodeParser.d.ts +11 -0
  59. three/src/nodes/core/NodeUniform.d.ts +28 -0
  60. three/src/nodes/core/NodeVar.d.ts +18 -2
  61. three/src/nodes/core/NodeVarying.d.ts +14 -0
  62. three/src/nodes/core/StructNode.d.ts +21 -0
  63. three/src/nodes/core/StructType.d.ts +8 -0
  64. three/src/nodes/core/StructTypeNode.d.ts +41 -4
  65. three/src/nodes/core/UniformNode.d.ts +44 -0
  66. three/src/nodes/core/VarNode.d.ts +8 -1
  67. three/src/nodes/core/VaryingNode.d.ts +12 -0
  68. three/src/nodes/core/constants.d.ts +35 -0
  69. three/src/nodes/display/PassNode.d.ts +1 -1
  70. three/src/nodes/fog/Fog.d.ts +26 -0
  71. three/src/nodes/geometry/RangeNode.d.ts +6 -11
  72. three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +5 -0
  73. three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts +1 -0
  74. three/src/nodes/gpgpu/ComputeNode.d.ts +6 -1
  75. three/src/nodes/gpgpu/WorkgroupInfoNode.d.ts +2 -0
  76. three/src/nodes/lighting/ShadowBaseNode.d.ts +15 -0
  77. three/src/nodes/lighting/ShadowNode.d.ts +2 -1
  78. three/src/nodes/math/MathNode.d.ts +15 -4
  79. three/src/nodes/math/OperatorNode.d.ts +2 -0
  80. three/src/nodes/shapes/Shapes.d.ts +4 -0
  81. three/src/nodes/tsl/TSLBase.d.ts +1 -0
  82. three/src/nodes/tsl/TSLCore.d.ts +62 -17
  83. three/src/nodes/utils/EquirectUVNode.d.ts +2 -2
  84. three/src/nodes/utils/LoopNode.d.ts +23 -2
  85. three/src/nodes/utils/MemberNode.d.ts +11 -0
  86. three/src/objects/BatchedMesh.d.ts +1 -0
  87. three/src/objects/ClippingGroup.d.ts +1 -1
  88. three/src/objects/InstancedMesh.d.ts +4 -3
  89. three/src/renderers/WebGLRenderer.d.ts +10 -10
  90. three/src/renderers/common/Animation.d.ts +43 -1
  91. three/src/renderers/common/Attributes.d.ts +31 -0
  92. three/src/renderers/common/Backend.d.ts +11 -0
  93. three/src/renderers/common/Background.d.ts +22 -0
  94. three/src/renderers/common/BindGroup.d.ts +15 -0
  95. three/src/renderers/common/Binding.d.ts +24 -0
  96. three/src/renderers/common/Bindings.d.ts +54 -0
  97. three/src/renderers/common/Buffer.d.ts +31 -0
  98. three/src/renderers/common/BufferUtils.d.ts +26 -0
  99. three/src/renderers/common/BundleGroup.d.ts +22 -0
  100. three/src/renderers/common/ChainMap.d.ts +33 -3
  101. three/src/renderers/common/ClippingContext.d.ts +45 -0
  102. three/src/renderers/common/Color4.d.ts +40 -0
  103. three/src/renderers/common/ComputePipeline.d.ts +12 -0
  104. three/src/renderers/common/CubeRenderTarget.d.ts +13 -0
  105. three/src/renderers/common/DataMap.d.ts +30 -0
  106. three/src/renderers/common/Geometries.d.ts +52 -0
  107. three/src/renderers/common/Info.d.ts +21 -5
  108. three/src/renderers/common/Pipeline.d.ts +11 -0
  109. three/src/renderers/common/Pipelines.d.ts +104 -0
  110. three/src/renderers/common/PostProcessing.d.ts +1 -1
  111. three/src/renderers/common/ProgrammableStage.d.ts +19 -1
  112. three/src/renderers/common/RenderBundle.d.ts +15 -4
  113. three/src/renderers/common/RenderBundles.d.ts +20 -2
  114. three/src/renderers/common/RenderContext.d.ts +27 -3
  115. three/src/renderers/common/RenderContexts.d.ts +37 -6
  116. three/src/renderers/common/RenderList.d.ts +85 -0
  117. three/src/renderers/common/RenderLists.d.ts +21 -0
  118. three/src/renderers/common/RenderObject.d.ts +163 -4
  119. three/src/renderers/common/RenderObjects.d.ts +53 -0
  120. three/src/renderers/common/RenderPipeline.d.ts +13 -0
  121. three/src/renderers/common/Renderer.d.ts +604 -10
  122. three/src/renderers/common/{PostProcessingUtils.d.ts → RendererUtils.d.ts} +16 -4
  123. three/src/renderers/common/StorageBufferAttribute.d.ts +1 -1
  124. three/src/renderers/common/Textures.d.ts +66 -0
  125. three/src/renderers/common/TimestampQueryPool.d.ts +31 -0
  126. three/src/renderers/common/Uniform.d.ts +133 -1
  127. three/src/renderers/common/UniformBuffer.d.ts +12 -0
  128. three/src/renderers/common/UniformsGroup.d.ts +103 -0
  129. three/src/renderers/common/XRManager.d.ts +196 -0
  130. three/src/renderers/common/XRRenderTarget.d.ts +23 -0
  131. three/src/renderers/common/nodes/NodeBuilderState.d.ts +32 -2
  132. three/src/renderers/common/nodes/NodeLibrary.d.ts +71 -0
  133. three/src/renderers/common/nodes/NodeUniform.d.ts +185 -0
  134. three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +14 -2
  135. three/src/renderers/common/nodes/Nodes.d.ts +192 -17
  136. three/src/renderers/webgpu/WebGPUBackend.d.ts +2 -1
  137. three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +10 -0
  138. three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +11 -0
  139. three/src/textures/DataTexture.d.ts +2 -2
  140. three/src/textures/Texture.d.ts +5 -5
  141. three/src/textures/VideoFrameTexture.d.ts +27 -0
  142. three/examples/jsm/animation/MMDAnimationHelper.d.ts +0 -99
  143. three/examples/jsm/animation/MMDPhysics.d.ts +0 -128
  144. three/examples/jsm/exporters/MMDExporter.d.ts +0 -11
  145. three/examples/jsm/loaders/MMDLoader.d.ts +0 -60
  146. three/examples/jsm/shaders/MMDToonShader.d.ts +0 -15
  147. three/src/Three.Legacy.d.ts +0 -20
  148. three/src/materials/nodes/InstancedPointsNodeMaterial.d.ts +0 -33
  149. three/src/nodes/core/UniformGroup.d.ts +0 -7
  150. three/src/nodes/fog/FogExp2Node.d.ts +0 -14
  151. three/src/nodes/fog/FogNode.d.ts +0 -20
  152. three/src/nodes/fog/FogRangeNode.d.ts +0 -19
@@ -0,0 +1,23 @@
1
+ import { RenderTarget } from "../../core/RenderTarget.js";
2
+ /**
3
+ * A special type of render target that is used when rendering
4
+ * with the WebXR Device API.
5
+ *
6
+ * @private
7
+ * @augments RenderTarget
8
+ */
9
+ declare class XRRenderTarget extends RenderTarget {
10
+ readonly isXRRenderTarget: true;
11
+ hasExternalTextures: boolean;
12
+ autoAllocateDepthBuffer: boolean;
13
+ /**
14
+ * Constructs a new XR render target.
15
+ *
16
+ * @param {Number} [width=1] - The width of the render target.
17
+ * @param {Number} [height=1] - The height of the render target.
18
+ * @param {Object} [options={}] - The configuration options.
19
+ */
20
+ constructor(width?: number, height?: number, options?: {});
21
+ copy(source: XRRenderTarget): this;
22
+ }
23
+ export { XRRenderTarget };
@@ -2,6 +2,15 @@ import NodeMaterialObserver from "../../../materials/nodes/manager/NodeMaterialO
2
2
  import Node from "../../../nodes/core/Node.js";
3
3
  import NodeAttribute from "../../../nodes/core/NodeAttribute.js";
4
4
  import BindGroup from "../BindGroup.js";
5
+ /**
6
+ * This module represents the state of a node builder after it was
7
+ * used to build the nodes for a render object. The state holds the
8
+ * results of the build for further processing in the renderer.
9
+ *
10
+ * Render objects with identical cache keys share the same node builder state.
11
+ *
12
+ * @private
13
+ */
5
14
  declare class NodeBuilderState {
6
15
  vertexShader: string | null;
7
16
  fragmentShader: string | null;
@@ -12,8 +21,22 @@ declare class NodeBuilderState {
12
21
  updateNodes: Node[];
13
22
  updateBeforeNodes: Node[];
14
23
  updateAfterNodes: Node[];
15
- monitor: NodeMaterialObserver;
24
+ observer: NodeMaterialObserver;
16
25
  usedTimes: number;
26
+ /**
27
+ * Constructs a new node builder state.
28
+ *
29
+ * @param {String?} vertexShader - The native vertex shader code.
30
+ * @param {String?} fragmentShader - The native fragment shader code.
31
+ * @param {String?} computeShader - The native compute shader code.
32
+ * @param {Array<NodeAttribute>} nodeAttributes - An array of node attributes.
33
+ * @param {Array<BindGroup>} bindings - An array of bind groups.
34
+ * @param {Array<Node>} updateNodes - An array of nodes that implement their `update()` method.
35
+ * @param {Array<Node>} updateBeforeNodes - An array of nodes that implement their `updateBefore()` method.
36
+ * @param {Array<Node>} updateAfterNodes - An array of nodes that implement their `updateAfter()` method.
37
+ * @param {NodeMaterialObserver} observer - A node material observer.
38
+ * @param {Array<Object>} transforms - An array with transform attribute objects. Only relevant when using compute shaders with WebGL 2.
39
+ */
17
40
  constructor(
18
41
  vertexShader: string | null,
19
42
  fragmentShader: string | null,
@@ -23,9 +46,16 @@ declare class NodeBuilderState {
23
46
  updateNodes: Node[],
24
47
  updateBeforeNodes: Node[],
25
48
  updateAfterNodes: Node[],
26
- monitor: NodeMaterialObserver,
49
+ observer: NodeMaterialObserver,
27
50
  transforms?: never[],
28
51
  );
52
+ /**
53
+ * This method is used to create a array of bind groups based
54
+ * on the existing bind groups of this state. Shared groups are
55
+ * not cloned.
56
+ *
57
+ * @return {Array<BindGroup>} A array of bind groups.
58
+ */
29
59
  createBindings(): BindGroup[];
30
60
  }
31
61
  export default NodeBuilderState;
@@ -5,6 +5,14 @@ import NodeMaterial from "../../../materials/nodes/NodeMaterial.js";
5
5
  import Node from "../../../nodes/core/Node.js";
6
6
  import AnalyticLightNode from "../../../nodes/lighting/AnalyticLightNode.js";
7
7
  import { NodeRepresentation, ShaderNodeObject } from "../../../nodes/tsl/TSLCore.js";
8
+ /**
9
+ * The purpose of a node library is to assign node implementations
10
+ * to existing library features. In `WebGPURenderer` lights, materials
11
+ * which are not based on `NodeMaterial` as well as tone mapping techniques
12
+ * are implemented with node-based modules.
13
+ *
14
+ * @private
15
+ */
8
16
  declare class NodeLibrary {
9
17
  lightNodes: WeakMap<{
10
18
  new(): Light;
@@ -18,26 +26,89 @@ declare class NodeLibrary {
18
26
  ToneMapping,
19
27
  (color: NodeRepresentation, exposure: NodeRepresentation) => ShaderNodeObject<Node>
20
28
  >;
29
+ /**
30
+ * Constructs a new node library.
31
+ */
21
32
  constructor();
33
+ /**
34
+ * Returns a matching node material instance for the given material object.
35
+ *
36
+ * This method also assigns/copies the properties of the given material object
37
+ * to the node material. This is done to make sure the current material
38
+ * configuration carries over to the node version.
39
+ *
40
+ * @param {Material} material - A material.
41
+ * @return {NodeMaterial} The corresponding node material.
42
+ */
22
43
  fromMaterial(material: Material): Material | NodeMaterial | null;
44
+ /**
45
+ * Adds a tone mapping node function for a tone mapping technique (constant).
46
+ *
47
+ * @param {Function} toneMappingNode - The tone mapping node function.
48
+ * @param {Number} toneMapping - The tone mapping.
49
+ */
23
50
  addToneMapping(
24
51
  toneMappingNode: (color: NodeRepresentation, exposure: NodeRepresentation) => ShaderNodeObject<Node>,
25
52
  toneMapping: ToneMapping,
26
53
  ): void;
54
+ /**
55
+ * Returns a tone mapping node function for a tone mapping technique (constant).
56
+ *
57
+ * @param {Number} toneMapping - The tone mapping.
58
+ * @return {Function?} The tone mapping node function. Returns `null` if no node function is found.
59
+ */
27
60
  getToneMappingFunction(
28
61
  toneMapping: ToneMapping,
29
62
  ): ((color: NodeRepresentation, exposure: NodeRepresentation) => ShaderNodeObject<Node>) | null;
63
+ /**
64
+ * Returns a node material class definition for a material type.
65
+ *
66
+ * @param {String} materialType - The material type.
67
+ * @return {NodeMaterial.constructor?} The node material class definition. Returns `null` if no node material is found.
68
+ */
30
69
  getMaterialNodeClass(materialType: string): (new() => NodeMaterial) | null;
70
+ /**
71
+ * Adds a node material class definition for a given material type.
72
+ *
73
+ * @param {NodeMaterial.constructor} materialNodeClass - The node material class definition.
74
+ * @param {String} materialClassType - The material type.
75
+ */
31
76
  addMaterial(materialNodeClass: {
32
77
  new(): NodeMaterial;
33
78
  }, materialClassType: string): void;
79
+ /**
80
+ * Returns a light node class definition for a light class definition.
81
+ *
82
+ * @param {Light.constructor} light - The light class definition.
83
+ * @return {AnalyticLightNode.constructor?} The light node class definition. Returns `null` if no light node is found.
84
+ */
34
85
  getLightNodeClass(light: Light): (new(light: Light) => AnalyticLightNode<Light>) | null;
86
+ /**
87
+ * Adds a light node class definition for a given light class definition.
88
+ *
89
+ * @param {AnalyticLightNode.constructor} lightNodeClass - The light node class definition.
90
+ * @param {Light.constructor} lightClass - The light class definition.
91
+ */
35
92
  addLight<TLight extends Light>(lightNodeClass: {
36
93
  new(light: TLight): AnalyticLightNode<TLight>;
37
94
  }, lightClass: {
38
95
  new(): TLight;
39
96
  }): void;
97
+ /**
98
+ * Adds a node class definition for the given type to the provided type library.
99
+ *
100
+ * @param {Any} nodeClass - The node class definition.
101
+ * @param {Number|String} type - The object type.
102
+ * @param {Map} library - The type library.
103
+ */
40
104
  addType<TNodeClass, TType>(nodeClass: TNodeClass, type: TType, library: Map<TType, TNodeClass>): void;
105
+ /**
106
+ * Adds a node class definition for the given class definition to the provided type library.
107
+ *
108
+ * @param {Any} nodeClass - The node class definition.
109
+ * @param {Any} baseClass - The class definition.
110
+ * @param {WeakMap} library - The type library.
111
+ */
41
112
  addClass<TNodeClass, TBaseClass extends object>(
42
113
  nodeClass: TNodeClass,
43
114
  baseClass: TBaseClass,
@@ -1,4 +1,5 @@
1
1
  import { Color } from "../../../math/Color.js";
2
+ import { Matrix2 } from "../../../math/Matrix2.js";
2
3
  import { Matrix3 } from "../../../math/Matrix3.js";
3
4
  import { Matrix4 } from "../../../math/Matrix4.js";
4
5
  import { Vector2 } from "../../../math/Vector2.js";
@@ -7,6 +8,7 @@ import { Vector4 } from "../../../math/Vector4.js";
7
8
  import NodeUniform from "../../../nodes/core/NodeUniform.js";
8
9
  import {
9
10
  ColorUniform,
11
+ Matrix2Uniform,
10
12
  Matrix3Uniform,
11
13
  Matrix4Uniform,
12
14
  NumberUniform,
@@ -14,50 +16,233 @@ import {
14
16
  Vector3Uniform,
15
17
  Vector4Uniform,
16
18
  } from "../Uniform.js";
19
+ /**
20
+ * A special form of Number uniform binding type.
21
+ * It's value is managed by a node object.
22
+ *
23
+ * @private
24
+ * @augments NumberUniform
25
+ */
17
26
  declare class NumberNodeUniform extends NumberUniform {
18
27
  nodeUniform: NodeUniform<number>;
28
+ /**
29
+ * Constructs a new node-based Number uniform.
30
+ *
31
+ * @param {NodeUniform} nodeUniform - The node uniform.
32
+ */
19
33
  constructor(nodeUniform: NodeUniform<number>);
34
+ /**
35
+ * Overwritten to return the value of the node uniform.
36
+ *
37
+ * @return {Number} The value.
38
+ */
20
39
  getValue(): number;
40
+ /**
41
+ * Returns the node uniform data type.
42
+ *
43
+ * @return {String} The data type.
44
+ */
21
45
  getType(): string | null;
22
46
  }
47
+ /**
48
+ * A special form of Vector2 uniform binding type.
49
+ * It's value is managed by a node object.
50
+ *
51
+ * @private
52
+ * @augments Vector2Uniform
53
+ */
23
54
  declare class Vector2NodeUniform extends Vector2Uniform {
24
55
  nodeUniform: NodeUniform<Vector2>;
56
+ /**
57
+ * Constructs a new node-based Vector2 uniform.
58
+ *
59
+ * @param {NodeUniform} nodeUniform - The node uniform.
60
+ */
25
61
  constructor(nodeUniform: NodeUniform<Vector2>);
62
+ /**
63
+ * Overwritten to return the value of the node uniform.
64
+ *
65
+ * @return {Vector2} The value.
66
+ */
26
67
  getValue(): Vector2;
68
+ /**
69
+ * Returns the node uniform data type.
70
+ *
71
+ * @return {String} The data type.
72
+ */
27
73
  getType(): string | null;
28
74
  }
75
+ /**
76
+ * A special form of Vector3 uniform binding type.
77
+ * It's value is managed by a node object.
78
+ *
79
+ * @private
80
+ * @augments Vector3Uniform
81
+ */
29
82
  declare class Vector3NodeUniform extends Vector3Uniform {
30
83
  nodeUniform: NodeUniform<Vector3>;
84
+ /**
85
+ * Constructs a new node-based Vector3 uniform.
86
+ *
87
+ * @param {NodeUniform} nodeUniform - The node uniform.
88
+ */
31
89
  constructor(nodeUniform: NodeUniform<Vector3>);
90
+ /**
91
+ * Overwritten to return the value of the node uniform.
92
+ *
93
+ * @return {Vector3} The value.
94
+ */
32
95
  getValue(): Vector3;
96
+ /**
97
+ * Returns the node uniform data type.
98
+ *
99
+ * @return {String} The data type.
100
+ */
33
101
  getType(): string | null;
34
102
  }
103
+ /**
104
+ * A special form of Vector4 uniform binding type.
105
+ * It's value is managed by a node object.
106
+ *
107
+ * @private
108
+ * @augments Vector4Uniform
109
+ */
35
110
  declare class Vector4NodeUniform extends Vector4Uniform {
36
111
  nodeUniform: NodeUniform<Vector4>;
112
+ /**
113
+ * Constructs a new node-based Vector4 uniform.
114
+ *
115
+ * @param {NodeUniform} nodeUniform - The node uniform.
116
+ */
37
117
  constructor(nodeUniform: NodeUniform<Vector4>);
118
+ /**
119
+ * Overwritten to return the value of the node uniform.
120
+ *
121
+ * @return {Vector4} The value.
122
+ */
38
123
  getValue(): Vector4;
124
+ /**
125
+ * Returns the node uniform data type.
126
+ *
127
+ * @return {String} The data type.
128
+ */
39
129
  getType(): string | null;
40
130
  }
131
+ /**
132
+ * A special form of Color uniform binding type.
133
+ * It's value is managed by a node object.
134
+ *
135
+ * @private
136
+ * @augments ColorUniform
137
+ */
41
138
  declare class ColorNodeUniform extends ColorUniform {
42
139
  nodeUniform: NodeUniform<Color>;
140
+ /**
141
+ * Constructs a new node-based Color uniform.
142
+ *
143
+ * @param {NodeUniform} nodeUniform - The node uniform.
144
+ */
43
145
  constructor(nodeUniform: NodeUniform<Color>);
146
+ /**
147
+ * Overwritten to return the value of the node uniform.
148
+ *
149
+ * @return {Color} The value.
150
+ */
44
151
  getValue(): Color;
152
+ /**
153
+ * Returns the node uniform data type.
154
+ *
155
+ * @return {String} The data type.
156
+ */
45
157
  getType(): string | null;
46
158
  }
159
+ /**
160
+ * A special form of Matrix2 uniform binding type.
161
+ * It's value is managed by a node object.
162
+ *
163
+ * @private
164
+ * @augments Matrix2Uniform
165
+ */
166
+ declare class Matrix2NodeUniform extends Matrix2Uniform {
167
+ nodeUniform: NodeUniform<Matrix2>;
168
+ /**
169
+ * Constructs a new node-based Matrix2 uniform.
170
+ *
171
+ * @param {NodeUniform} nodeUniform - The node uniform.
172
+ */
173
+ constructor(nodeUniform: NodeUniform<Matrix2>);
174
+ /**
175
+ * Overwritten to return the value of the node uniform.
176
+ *
177
+ * @return {Matrix2} The value.
178
+ */
179
+ getValue(): Matrix2;
180
+ /**
181
+ * Returns the node uniform data type.
182
+ *
183
+ * @return {String} The data type.
184
+ */
185
+ getType(): string | null;
186
+ }
187
+ /**
188
+ * A special form of Matrix3 uniform binding type.
189
+ * It's value is managed by a node object.
190
+ *
191
+ * @private
192
+ * @augments Matrix3Uniform
193
+ */
47
194
  declare class Matrix3NodeUniform extends Matrix3Uniform {
48
195
  nodeUniform: NodeUniform<Matrix3>;
196
+ /**
197
+ * Constructs a new node-based Matrix3 uniform.
198
+ *
199
+ * @param {NodeUniform} nodeUniform - The node uniform.
200
+ */
49
201
  constructor(nodeUniform: NodeUniform<Matrix3>);
202
+ /**
203
+ * Overwritten to return the value of the node uniform.
204
+ *
205
+ * @return {Matrix3} The value.
206
+ */
50
207
  getValue(): Matrix3;
208
+ /**
209
+ * Returns the node uniform data type.
210
+ *
211
+ * @return {String} The data type.
212
+ */
51
213
  getType(): string | null;
52
214
  }
215
+ /**
216
+ * A special form of Matrix4 uniform binding type.
217
+ * It's value is managed by a node object.
218
+ *
219
+ * @private
220
+ * @augments Matrix4Uniform
221
+ */
53
222
  declare class Matrix4NodeUniform extends Matrix4Uniform {
54
223
  nodeUniform: NodeUniform<Matrix4>;
224
+ /**
225
+ * Constructs a new node-based Matrix4 uniform.
226
+ *
227
+ * @param {NodeUniform} nodeUniform - The node uniform.
228
+ */
55
229
  constructor(nodeUniform: NodeUniform<Matrix4>);
230
+ /**
231
+ * Overwritten to return the value of the node uniform.
232
+ *
233
+ * @return {Matrix4} The value.
234
+ */
56
235
  getValue(): Matrix4;
236
+ /**
237
+ * Returns the node uniform data type.
238
+ *
239
+ * @return {String} The data type.
240
+ */
57
241
  getType(): string | null;
58
242
  }
59
243
  export {
60
244
  ColorNodeUniform,
245
+ Matrix2NodeUniform,
61
246
  Matrix3NodeUniform,
62
247
  Matrix4NodeUniform,
63
248
  NumberNodeUniform,
@@ -1,10 +1,22 @@
1
- import { UniformGroupNode, UniformNode } from "../../../nodes/Nodes.js";
1
+ import { UniformGroupNode } from "../../../nodes/Nodes.js";
2
2
  import UniformsGroup from "../UniformsGroup.js";
3
+ /**
4
+ * A special form of uniforms group that represents
5
+ * the individual uniforms as node-based uniforms.
6
+ *
7
+ * @private
8
+ * @augments UniformsGroup
9
+ */
3
10
  declare class NodeUniformsGroup extends UniformsGroup {
4
11
  id: number;
5
12
  groupNode: UniformGroupNode;
6
13
  readonly isNodeUniformsGroup: true;
14
+ /**
15
+ * Constructs a new node-based uniforms group.
16
+ *
17
+ * @param {String} name - The group's name.
18
+ * @param {UniformGroupNode} groupNode - The uniform group node.
19
+ */
7
20
  constructor(name: string, groupNode: UniformGroupNode);
8
- getNodes(): UniformNode<unknown>[];
9
21
  }
10
22
  export default NodeUniformsGroup;