@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.
- three/README.md +1 -1
- three/examples/jsm/Addons.d.ts +0 -5
- three/examples/jsm/controls/ArcballControls.d.ts +1 -1
- three/examples/jsm/controls/OrbitControls.d.ts +5 -0
- three/examples/jsm/csm/CSMShadowNode.d.ts +2 -3
- three/examples/jsm/geometries/TextGeometry.d.ts +0 -8
- three/examples/jsm/helpers/VertexNormalsHelper.d.ts +2 -0
- three/examples/jsm/interactive/InteractiveGroup.d.ts +9 -1
- three/examples/jsm/lines/LineSegments2.d.ts +3 -1
- three/examples/jsm/materials/MeshGouraudMaterial.d.ts +3 -0
- three/examples/jsm/modifiers/CurveModifier.d.ts +1 -1
- three/examples/jsm/modifiers/CurveModifierGPU.d.ts +1 -1
- three/examples/jsm/postprocessing/OutlinePass.d.ts +1 -1
- three/examples/jsm/postprocessing/UnrealBloomPass.d.ts +1 -1
- three/examples/jsm/utils/ShadowMapViewer.d.ts +2 -2
- three/examples/jsm/webxr/XRButton.d.ts +4 -2
- three/package.json +2 -2
- three/src/Three.Core.d.ts +4 -1
- three/src/Three.TSL.d.ts +18 -5
- three/src/Three.WebGPU.Nodes.d.ts +2 -2
- three/src/Three.WebGPU.d.ts +2 -2
- three/src/animation/AnimationClip.d.ts +1 -1
- three/src/cameras/ArrayCamera.d.ts +7 -6
- three/src/cameras/Camera.d.ts +7 -7
- three/src/cameras/CubeCamera.d.ts +19 -2
- three/src/constants.d.ts +6 -0
- three/src/core/BufferAttribute.d.ts +5 -0
- three/src/core/RenderTarget.d.ts +3 -5
- three/src/core/RenderTarget3D.d.ts +9 -0
- three/src/core/RenderTargetArray.d.ts +9 -0
- three/src/materials/Material.d.ts +3 -1
- three/src/materials/MeshDepthMaterial.d.ts +0 -5
- three/src/materials/MeshDistanceMaterial.d.ts +0 -5
- three/src/materials/nodes/Line2NodeMaterial.d.ts +1 -0
- three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +6 -6
- three/src/materials/nodes/NodeMaterial.d.ts +3 -0
- three/src/materials/nodes/NodeMaterials.d.ts +0 -4
- three/src/materials/nodes/PointsNodeMaterial.d.ts +7 -14
- three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +57 -0
- three/src/math/Matrix4.d.ts +2 -1
- three/src/nodes/Nodes.d.ts +6 -7
- three/src/nodes/TSL.d.ts +6 -3
- three/src/nodes/accessors/Arrays.d.ts +10 -2
- three/src/nodes/accessors/BufferAttributeNode.d.ts +117 -0
- three/src/nodes/accessors/BufferNode.d.ts +4 -4
- three/src/nodes/accessors/Camera.d.ts +1 -0
- three/src/nodes/accessors/MaterialNode.d.ts +6 -6
- three/src/nodes/accessors/ModelNode.d.ts +10 -2
- three/src/nodes/accessors/ModelViewProjectionNode.d.ts +2 -6
- three/src/nodes/accessors/StorageBufferNode.d.ts +12 -4
- three/src/nodes/accessors/TextureNode.d.ts +5 -0
- three/src/nodes/accessors/UniformArrayNode.d.ts +3 -2
- three/src/nodes/core/ArrayNode.d.ts +26 -0
- three/src/nodes/core/Node.d.ts +245 -0
- three/src/nodes/core/NodeAttribute.d.ts +13 -0
- three/src/nodes/core/NodeBuilder.d.ts +1 -2
- three/src/nodes/core/NodeCache.d.ts +23 -1
- three/src/nodes/core/NodeParser.d.ts +11 -0
- three/src/nodes/core/NodeUniform.d.ts +28 -0
- three/src/nodes/core/NodeVar.d.ts +18 -2
- three/src/nodes/core/NodeVarying.d.ts +14 -0
- three/src/nodes/core/StructNode.d.ts +21 -0
- three/src/nodes/core/StructType.d.ts +8 -0
- three/src/nodes/core/StructTypeNode.d.ts +41 -4
- three/src/nodes/core/UniformNode.d.ts +44 -0
- three/src/nodes/core/VarNode.d.ts +8 -1
- three/src/nodes/core/VaryingNode.d.ts +12 -0
- three/src/nodes/core/constants.d.ts +35 -0
- three/src/nodes/display/PassNode.d.ts +1 -1
- three/src/nodes/fog/Fog.d.ts +26 -0
- three/src/nodes/geometry/RangeNode.d.ts +6 -11
- three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +5 -0
- three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts +1 -0
- three/src/nodes/gpgpu/ComputeNode.d.ts +6 -1
- three/src/nodes/gpgpu/WorkgroupInfoNode.d.ts +2 -0
- three/src/nodes/lighting/ShadowBaseNode.d.ts +15 -0
- three/src/nodes/lighting/ShadowNode.d.ts +2 -1
- three/src/nodes/math/MathNode.d.ts +15 -4
- three/src/nodes/math/OperatorNode.d.ts +2 -0
- three/src/nodes/shapes/Shapes.d.ts +4 -0
- three/src/nodes/tsl/TSLBase.d.ts +1 -0
- three/src/nodes/tsl/TSLCore.d.ts +62 -17
- three/src/nodes/utils/EquirectUVNode.d.ts +2 -2
- three/src/nodes/utils/LoopNode.d.ts +23 -2
- three/src/nodes/utils/MemberNode.d.ts +11 -0
- three/src/objects/BatchedMesh.d.ts +1 -0
- three/src/objects/ClippingGroup.d.ts +1 -1
- three/src/objects/InstancedMesh.d.ts +4 -3
- three/src/renderers/WebGLRenderer.d.ts +10 -10
- three/src/renderers/common/Animation.d.ts +43 -1
- three/src/renderers/common/Attributes.d.ts +31 -0
- three/src/renderers/common/Backend.d.ts +11 -0
- three/src/renderers/common/Background.d.ts +22 -0
- three/src/renderers/common/BindGroup.d.ts +15 -0
- three/src/renderers/common/Binding.d.ts +24 -0
- three/src/renderers/common/Bindings.d.ts +54 -0
- three/src/renderers/common/Buffer.d.ts +31 -0
- three/src/renderers/common/BufferUtils.d.ts +26 -0
- three/src/renderers/common/BundleGroup.d.ts +22 -0
- three/src/renderers/common/ChainMap.d.ts +33 -3
- three/src/renderers/common/ClippingContext.d.ts +45 -0
- three/src/renderers/common/Color4.d.ts +40 -0
- three/src/renderers/common/ComputePipeline.d.ts +12 -0
- three/src/renderers/common/CubeRenderTarget.d.ts +13 -0
- three/src/renderers/common/DataMap.d.ts +30 -0
- three/src/renderers/common/Geometries.d.ts +52 -0
- three/src/renderers/common/Info.d.ts +21 -5
- three/src/renderers/common/Pipeline.d.ts +11 -0
- three/src/renderers/common/Pipelines.d.ts +104 -0
- three/src/renderers/common/PostProcessing.d.ts +1 -1
- three/src/renderers/common/ProgrammableStage.d.ts +19 -1
- three/src/renderers/common/RenderBundle.d.ts +15 -4
- three/src/renderers/common/RenderBundles.d.ts +20 -2
- three/src/renderers/common/RenderContext.d.ts +27 -3
- three/src/renderers/common/RenderContexts.d.ts +37 -6
- three/src/renderers/common/RenderList.d.ts +85 -0
- three/src/renderers/common/RenderLists.d.ts +21 -0
- three/src/renderers/common/RenderObject.d.ts +163 -4
- three/src/renderers/common/RenderObjects.d.ts +53 -0
- three/src/renderers/common/RenderPipeline.d.ts +13 -0
- three/src/renderers/common/Renderer.d.ts +604 -10
- three/src/renderers/common/{PostProcessingUtils.d.ts → RendererUtils.d.ts} +16 -4
- three/src/renderers/common/StorageBufferAttribute.d.ts +1 -1
- three/src/renderers/common/Textures.d.ts +66 -0
- three/src/renderers/common/TimestampQueryPool.d.ts +31 -0
- three/src/renderers/common/Uniform.d.ts +133 -1
- three/src/renderers/common/UniformBuffer.d.ts +12 -0
- three/src/renderers/common/UniformsGroup.d.ts +103 -0
- three/src/renderers/common/XRManager.d.ts +196 -0
- three/src/renderers/common/XRRenderTarget.d.ts +23 -0
- three/src/renderers/common/nodes/NodeBuilderState.d.ts +32 -2
- three/src/renderers/common/nodes/NodeLibrary.d.ts +71 -0
- three/src/renderers/common/nodes/NodeUniform.d.ts +185 -0
- three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +14 -2
- three/src/renderers/common/nodes/Nodes.d.ts +192 -17
- three/src/renderers/webgpu/WebGPUBackend.d.ts +2 -1
- three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +10 -0
- three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +11 -0
- three/src/textures/DataTexture.d.ts +2 -2
- three/src/textures/Texture.d.ts +5 -5
- three/src/textures/VideoFrameTexture.d.ts +27 -0
- three/examples/jsm/animation/MMDAnimationHelper.d.ts +0 -99
- three/examples/jsm/animation/MMDPhysics.d.ts +0 -128
- three/examples/jsm/exporters/MMDExporter.d.ts +0 -11
- three/examples/jsm/loaders/MMDLoader.d.ts +0 -60
- three/examples/jsm/shaders/MMDToonShader.d.ts +0 -15
- three/src/Three.Legacy.d.ts +0 -20
- three/src/materials/nodes/InstancedPointsNodeMaterial.d.ts +0 -33
- three/src/nodes/core/UniformGroup.d.ts +0 -7
- three/src/nodes/fog/FogExp2Node.d.ts +0 -14
- three/src/nodes/fog/FogNode.d.ts +0 -20
- 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
|
-
|
|
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
|
-
|
|
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
|
|
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;
|