@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
|
@@ -33,20 +33,37 @@ interface ComputeNodeData {
|
|
|
33
33
|
}
|
|
34
34
|
interface SceneData {
|
|
35
35
|
background?: Color | Texture | CubeTexture | undefined;
|
|
36
|
-
backgroundNode?: Node | undefined;
|
|
36
|
+
backgroundNode?: ShaderNodeObject<Node> | undefined;
|
|
37
37
|
fog?: Fog | FogExp2 | undefined;
|
|
38
|
-
fogNode?: Node | undefined;
|
|
38
|
+
fogNode?: ShaderNodeObject<Node> | undefined;
|
|
39
39
|
environment?: Texture | undefined;
|
|
40
|
-
environmentNode?: Node | undefined;
|
|
40
|
+
environmentNode?: ShaderNodeObject<Node> | undefined;
|
|
41
|
+
}
|
|
42
|
+
interface CacheKeyData {
|
|
43
|
+
callId: number;
|
|
44
|
+
cacheKey: number;
|
|
41
45
|
}
|
|
42
46
|
declare module "../../../scenes/Scene.js" {
|
|
43
47
|
interface Scene {
|
|
44
|
-
environmentNode?: Node | null | undefined;
|
|
45
|
-
backgroundNode?: Node | null | undefined;
|
|
46
|
-
fogNode?: Node | null | undefined;
|
|
48
|
+
environmentNode?: ShaderNodeObject<Node> | null | undefined;
|
|
49
|
+
backgroundNode?: ShaderNodeObject<Node> | null | undefined;
|
|
50
|
+
fogNode?: ShaderNodeObject<Node> | null | undefined;
|
|
47
51
|
}
|
|
48
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* This renderer module manages node-related objects and is the
|
|
55
|
+
* primary interface between the renderer and the node system.
|
|
56
|
+
*
|
|
57
|
+
* @private
|
|
58
|
+
* @augments DataMap
|
|
59
|
+
*/
|
|
49
60
|
declare class Nodes extends DataMap<{
|
|
61
|
+
/**
|
|
62
|
+
* Constructs a new nodes management component.
|
|
63
|
+
*
|
|
64
|
+
* @param {Renderer} renderer - The renderer.
|
|
65
|
+
* @param {Backend} backend - The renderer's backend.
|
|
66
|
+
*/
|
|
50
67
|
nodeUniformsGroup: {
|
|
51
68
|
key: NodeUniformsGroup;
|
|
52
69
|
value: NodeUniformsGroupData;
|
|
@@ -68,30 +85,136 @@ declare class Nodes extends DataMap<{
|
|
|
68
85
|
backend: Backend;
|
|
69
86
|
nodeFrame: NodeFrame;
|
|
70
87
|
nodeBuilderCache: Map<string, NodeBuilderState>;
|
|
71
|
-
callHashCache: ChainMap<readonly [Scene, LightsNode],
|
|
72
|
-
callId: number;
|
|
73
|
-
cacheKey: string;
|
|
74
|
-
}>;
|
|
88
|
+
callHashCache: ChainMap<readonly [Scene, LightsNode], CacheKeyData>;
|
|
75
89
|
groupsData: ChainMap<readonly [UniformGroupNode, NodeUniformsGroup], {
|
|
76
90
|
version?: number;
|
|
77
91
|
}>;
|
|
92
|
+
cacheLib: {
|
|
93
|
+
[type: string]: WeakMap<object, ShaderNodeObject<Node> | undefined>;
|
|
94
|
+
};
|
|
78
95
|
constructor(renderer: Renderer, backend: Backend);
|
|
96
|
+
/**
|
|
97
|
+
* Returns `true` if the given node uniforms group must be updated or not.
|
|
98
|
+
*
|
|
99
|
+
* @param {NodeUniformsGroup} nodeUniformsGroup - The node uniforms group.
|
|
100
|
+
* @return {Boolean} Whether the node uniforms group requires an update or not.
|
|
101
|
+
*/
|
|
79
102
|
updateGroup(nodeUniformsGroup: NodeUniformsGroup): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Returns the cache key for the given render object.
|
|
105
|
+
*
|
|
106
|
+
* @param {RenderObject} renderObject - The render object.
|
|
107
|
+
* @return {Number} The cache key.
|
|
108
|
+
*/
|
|
80
109
|
getForRenderCacheKey(renderObject: RenderObject): string;
|
|
110
|
+
/**
|
|
111
|
+
* Returns a node builder state for the given render object.
|
|
112
|
+
*
|
|
113
|
+
* @param {RenderObject} renderObject - The render object.
|
|
114
|
+
* @return {NodeBuilderState} The node builder state.
|
|
115
|
+
*/
|
|
81
116
|
getForRender(renderObject: RenderObject): NodeBuilderState;
|
|
117
|
+
/**
|
|
118
|
+
* Deletes the given object from the internal data map
|
|
119
|
+
*
|
|
120
|
+
* @param {Any} object - The object to delete.
|
|
121
|
+
* @return {Object?} The deleted dictionary.
|
|
122
|
+
*/
|
|
82
123
|
delete(
|
|
83
124
|
object: NodeUniformsGroup | RenderObject | ComputeNode | Scene,
|
|
84
|
-
):
|
|
125
|
+
): RenderObjectData | NodeUniformsGroupData | ComputeNodeData | SceneData;
|
|
126
|
+
/**
|
|
127
|
+
* Returns a node builder state for the given compute node.
|
|
128
|
+
*
|
|
129
|
+
* @param {Node} computeNode - The compute node.
|
|
130
|
+
* @return {NodeBuilderState} The node builder state.
|
|
131
|
+
*/
|
|
85
132
|
getForCompute(computeNode: ComputeNode): NodeBuilderState;
|
|
133
|
+
/**
|
|
134
|
+
* Creates a node builder state for the given node builder.
|
|
135
|
+
*
|
|
136
|
+
* @private
|
|
137
|
+
* @param {NodeBuilder} nodeBuilder - The node builder.
|
|
138
|
+
* @return {NodeBuilderState} The node builder state.
|
|
139
|
+
*/
|
|
86
140
|
_createNodeBuilderState(nodeBuilder: NodeBuilder): NodeBuilderState;
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
141
|
+
/**
|
|
142
|
+
* Returns an environment node for the current configured
|
|
143
|
+
* scene environment.
|
|
144
|
+
*
|
|
145
|
+
* @param {Scene} scene - The scene.
|
|
146
|
+
* @return {Node} A node representing the current scene environment.
|
|
147
|
+
*/
|
|
148
|
+
getEnvironmentNode(scene: Scene): ShaderNodeObject<Node> | null;
|
|
149
|
+
/**
|
|
150
|
+
* Returns a background node for the current configured
|
|
151
|
+
* scene background.
|
|
152
|
+
*
|
|
153
|
+
* @param {Scene} scene - The scene.
|
|
154
|
+
* @return {Node} A node representing the current scene background.
|
|
155
|
+
*/
|
|
156
|
+
getBackgroundNode(scene: Scene): ShaderNodeObject<Node> | null;
|
|
157
|
+
/**
|
|
158
|
+
* Returns a fog node for the current configured scene fog.
|
|
159
|
+
*
|
|
160
|
+
* @param {Scene} scene - The scene.
|
|
161
|
+
* @return {Node} A node representing the current scene fog.
|
|
162
|
+
*/
|
|
163
|
+
getFogNode(scene: Scene): ShaderNodeObject<Node> | null;
|
|
164
|
+
/**
|
|
165
|
+
* Returns a cache key for the given scene and lights node.
|
|
166
|
+
* This key is used by `RenderObject` as a part of the dynamic
|
|
167
|
+
* cache key (a key that must be checked every time the render
|
|
168
|
+
* objects is drawn).
|
|
169
|
+
*
|
|
170
|
+
* @param {Scene} scene - The scene.
|
|
171
|
+
* @param {LightsNode} lightsNode - The lights node.
|
|
172
|
+
* @return {Number} The cache key.
|
|
173
|
+
*/
|
|
174
|
+
getCacheKey(scene: Scene, lightsNode: LightsNode): number;
|
|
175
|
+
/**
|
|
176
|
+
* A boolean that indicates whether tone mapping should be enabled
|
|
177
|
+
* or not.
|
|
178
|
+
*
|
|
179
|
+
* @type {Boolean}
|
|
180
|
+
*/
|
|
92
181
|
get isToneMappingState(): boolean;
|
|
182
|
+
/**
|
|
183
|
+
* If a scene background is configured, this method makes sure to
|
|
184
|
+
* represent the background with a corresponding node-based implementation.
|
|
185
|
+
*
|
|
186
|
+
* @param {Scene} scene - The scene.
|
|
187
|
+
*/
|
|
93
188
|
updateBackground(scene: Scene): void;
|
|
189
|
+
/**
|
|
190
|
+
* This method is part of the caching of nodes which are used to represents the
|
|
191
|
+
* scene's background, fog or environment.
|
|
192
|
+
*
|
|
193
|
+
* @param {String} type - The type of object to cache.
|
|
194
|
+
* @param {Object} object - The object.
|
|
195
|
+
* @param {Function} callback - A callback that produces a node representation for the given object.
|
|
196
|
+
* @param {Boolean} [forceUpdate=false] - Whether an update should be enforced or not.
|
|
197
|
+
* @return {Node} The node representation.
|
|
198
|
+
*/
|
|
199
|
+
getCacheNode(
|
|
200
|
+
type: string,
|
|
201
|
+
object: object,
|
|
202
|
+
callback: () => ShaderNodeObject<Node> | undefined,
|
|
203
|
+
forceUpdate?: boolean,
|
|
204
|
+
): ShaderNodeObject<Node> | undefined;
|
|
205
|
+
/**
|
|
206
|
+
* If a scene fog is configured, this method makes sure to
|
|
207
|
+
* represent the fog with a corresponding node-based implementation.
|
|
208
|
+
*
|
|
209
|
+
* @param {Scene} scene - The scene.
|
|
210
|
+
*/
|
|
94
211
|
updateFog(scene: Scene): void;
|
|
212
|
+
/**
|
|
213
|
+
* If a scene environment is configured, this method makes sure to
|
|
214
|
+
* represent the environment with a corresponding node-based implementation.
|
|
215
|
+
*
|
|
216
|
+
* @param {Scene} scene - The scene.
|
|
217
|
+
*/
|
|
95
218
|
updateEnvironment(scene: Scene): void;
|
|
96
219
|
getNodeFrame(
|
|
97
220
|
renderer?: Renderer,
|
|
@@ -101,14 +224,66 @@ declare class Nodes extends DataMap<{
|
|
|
101
224
|
material?: Material | null,
|
|
102
225
|
): NodeFrame;
|
|
103
226
|
getNodeFrameForRender(renderObject: RenderObject): NodeFrame;
|
|
227
|
+
/**
|
|
228
|
+
* Returns the current output cache key.
|
|
229
|
+
*
|
|
230
|
+
* @return {String} The output cache key.
|
|
231
|
+
*/
|
|
104
232
|
getOutputCacheKey(): string;
|
|
233
|
+
/**
|
|
234
|
+
* Checks if the output configuration (tone mapping and color space) for
|
|
235
|
+
* the given target has changed.
|
|
236
|
+
*
|
|
237
|
+
* @param {Texture} outputTarget - The output target.
|
|
238
|
+
* @return {Boolean} Whether the output configuration has changed or not.
|
|
239
|
+
*/
|
|
105
240
|
hasOutputChange(outputTarget: Texture): boolean;
|
|
106
|
-
|
|
241
|
+
/**
|
|
242
|
+
* Returns a node that represents the output configuration (tone mapping and
|
|
243
|
+
* color space) for the current target.
|
|
244
|
+
*
|
|
245
|
+
* @param {Texture} outputTarget - The output target.
|
|
246
|
+
* @return {Node} The output node.
|
|
247
|
+
*/
|
|
248
|
+
getOutputNode(outputTarget: Texture): ShaderNodeObject<Node>;
|
|
249
|
+
/**
|
|
250
|
+
* Triggers the call of `updateBefore()` methods
|
|
251
|
+
* for all nodes of the given render object.
|
|
252
|
+
*
|
|
253
|
+
* @param {RenderObject} renderObject - The render object.
|
|
254
|
+
*/
|
|
107
255
|
updateBefore(renderObject: RenderObject): void;
|
|
256
|
+
/**
|
|
257
|
+
* Triggers the call of `updateAfter()` methods
|
|
258
|
+
* for all nodes of the given render object.
|
|
259
|
+
*
|
|
260
|
+
* @param {RenderObject} renderObject - The render object.
|
|
261
|
+
*/
|
|
108
262
|
updateAfter(renderObject: RenderObject): void;
|
|
263
|
+
/**
|
|
264
|
+
* Triggers the call of `update()` methods
|
|
265
|
+
* for all nodes of the given compute node.
|
|
266
|
+
*
|
|
267
|
+
* @param {Node} computeNode - The compute node.
|
|
268
|
+
*/
|
|
109
269
|
updateForCompute(computeNode: ComputeNode): void;
|
|
270
|
+
/**
|
|
271
|
+
* Triggers the call of `update()` methods
|
|
272
|
+
* for all nodes of the given compute node.
|
|
273
|
+
*
|
|
274
|
+
* @param {RenderObject} renderObject - The render object.
|
|
275
|
+
*/
|
|
110
276
|
updateForRender(renderObject: RenderObject): void;
|
|
277
|
+
/**
|
|
278
|
+
* Returns `true` if the given render object requires a refresh.
|
|
279
|
+
*
|
|
280
|
+
* @param {RenderObject} renderObject - The render object.
|
|
281
|
+
* @return {Boolean} Whether the given render object requires a refresh or not.
|
|
282
|
+
*/
|
|
111
283
|
needsRefresh(renderObject: RenderObject): boolean;
|
|
284
|
+
/**
|
|
285
|
+
* Frees the internal resources.
|
|
286
|
+
*/
|
|
112
287
|
dispose(): void;
|
|
113
288
|
}
|
|
114
289
|
export default Nodes;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="@webgpu/types" />
|
|
2
2
|
|
|
3
|
-
import { CoordinateSystem } from "../../constants.js";
|
|
3
|
+
import { CoordinateSystem, HalfFloatType, UnsignedByteType } from "../../constants.js";
|
|
4
4
|
import Backend, { BackendParameters } from "../common/Backend.js";
|
|
5
5
|
|
|
6
6
|
export interface WebGPUBackendParameters extends BackendParameters {
|
|
@@ -10,6 +10,7 @@ export interface WebGPUBackendParameters extends BackendParameters {
|
|
|
10
10
|
device?: GPUDevice | undefined;
|
|
11
11
|
powerPreference?: GPUPowerPreference | undefined;
|
|
12
12
|
context?: GPUCanvasContext | undefined;
|
|
13
|
+
outputType?: typeof UnsignedByteType | typeof HalfFloatType | undefined;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
export default class WebGPUBackend extends Backend {
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import NodeLibrary from "../../common/nodes/NodeLibrary.js";
|
|
2
|
+
/**
|
|
3
|
+
* This version of a node library represents a basic version
|
|
4
|
+
* just focusing on lights and tone mapping techniques.
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
* @augments NodeLibrary
|
|
8
|
+
*/
|
|
2
9
|
declare class BasicNodeLibrary extends NodeLibrary {
|
|
10
|
+
/**
|
|
11
|
+
* Constructs a new basic node library.
|
|
12
|
+
*/
|
|
3
13
|
constructor();
|
|
4
14
|
}
|
|
5
15
|
export default BasicNodeLibrary;
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import NodeLibrary from "../../common/nodes/NodeLibrary.js";
|
|
2
|
+
/**
|
|
3
|
+
* This version of a node library represents the standard version
|
|
4
|
+
* used in {@link WebGPURenderer}. It maps lights, tone mapping
|
|
5
|
+
* techniques and materials to node-based implementations.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @augments NodeLibrary
|
|
9
|
+
*/
|
|
2
10
|
declare class StandardNodeLibrary extends NodeLibrary {
|
|
11
|
+
/**
|
|
12
|
+
* Constructs a new standard node library.
|
|
13
|
+
*/
|
|
3
14
|
constructor();
|
|
4
15
|
}
|
|
5
16
|
export default StandardNodeLibrary;
|
|
@@ -51,7 +51,7 @@ export class DataTexture extends Texture {
|
|
|
51
51
|
* @param colorSpace See {@link Texture.colorSpace | .colorSpace}. Default {@link NoColorSpace}
|
|
52
52
|
*/
|
|
53
53
|
constructor(
|
|
54
|
-
data?:
|
|
54
|
+
data?: ArrayBufferView | null,
|
|
55
55
|
width?: number,
|
|
56
56
|
height?: number,
|
|
57
57
|
format?: PixelFormat,
|
|
@@ -111,7 +111,7 @@ export class DataTexture extends Texture {
|
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
export interface TextureImageData {
|
|
114
|
-
data:
|
|
114
|
+
data: ArrayBufferView;
|
|
115
115
|
height: number;
|
|
116
116
|
width: number;
|
|
117
117
|
}
|
three/src/textures/Texture.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
Wrapping,
|
|
11
11
|
} from "../constants.js";
|
|
12
12
|
import { EventDispatcher } from "../core/EventDispatcher.js";
|
|
13
|
+
import { RenderTarget } from "../core/RenderTarget.js";
|
|
13
14
|
import { Matrix3 } from "../math/Matrix3.js";
|
|
14
15
|
import { Vector2 } from "../math/Vector2.js";
|
|
15
16
|
import { CompressedTextureMipmap } from "./CompressedTexture.js";
|
|
@@ -426,6 +427,8 @@ export class Texture extends EventDispatcher<{ dispose: {} }> {
|
|
|
426
427
|
*/
|
|
427
428
|
static DEFAULT_MAPPING: Mapping;
|
|
428
429
|
|
|
430
|
+
renderTarget: RenderTarget | null;
|
|
431
|
+
|
|
429
432
|
/**
|
|
430
433
|
* A callback function, called when the texture is updated _(e.g., when needsUpdate has been set to true and then the texture is used)_.
|
|
431
434
|
*/
|
|
@@ -452,11 +455,8 @@ export class Texture extends EventDispatcher<{ dispose: {} }> {
|
|
|
452
455
|
updateMatrix(): void;
|
|
453
456
|
|
|
454
457
|
/**
|
|
455
|
-
* Make copy of the texture
|
|
456
|
-
*
|
|
457
|
-
* @remarks
|
|
458
|
-
* Besides, cloning a texture does not automatically mark it for a texture upload
|
|
459
|
-
* You have to set {@link needsUpdate | .needsUpdate} to `true` as soon as it's image property (the data source) is fully loaded or ready.
|
|
458
|
+
* Make copy of the texture. Note this is not a "deep copy", the image is shared. Cloning the texture automatically
|
|
459
|
+
* marks it for texture upload.
|
|
460
460
|
*/
|
|
461
461
|
clone(): this;
|
|
462
462
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MagnificationTextureFilter,
|
|
3
|
+
Mapping,
|
|
4
|
+
MinificationTextureFilter,
|
|
5
|
+
PixelFormat,
|
|
6
|
+
TextureDataType,
|
|
7
|
+
Wrapping,
|
|
8
|
+
} from "../constants.js";
|
|
9
|
+
import { VideoTexture } from "./VideoTexture.js";
|
|
10
|
+
|
|
11
|
+
declare class VideoFrameTexture extends VideoTexture {
|
|
12
|
+
constructor(
|
|
13
|
+
mapping?: Mapping,
|
|
14
|
+
wrapS?: Wrapping,
|
|
15
|
+
wrapT?: Wrapping,
|
|
16
|
+
magFilter?: MagnificationTextureFilter,
|
|
17
|
+
minFilter?: MinificationTextureFilter,
|
|
18
|
+
format?: PixelFormat,
|
|
19
|
+
type?: TextureDataType,
|
|
20
|
+
anisotropy?: number,
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
// FIXME Replace with VideoFrame when we no longer need to support TypeScript 5.0
|
|
24
|
+
setFrame(frane: unknown): void;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { VideoFrameTexture };
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { AnimationClip, AnimationMixer, Audio, Bone, Camera, Mesh, Object3D, Quaternion, SkinnedMesh } from "three";
|
|
2
|
-
|
|
3
|
-
import { CCDIKSolver } from "./CCDIKSolver.js";
|
|
4
|
-
import { MMDPhysics } from "./MMDPhysics.js";
|
|
5
|
-
|
|
6
|
-
export interface MMDAnimationHelperParameter {
|
|
7
|
-
sync?: boolean | undefined;
|
|
8
|
-
afterglow?: number | undefined;
|
|
9
|
-
resetPhysicsOnLoop?: boolean | undefined;
|
|
10
|
-
pmxAnimation?: boolean | undefined;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export interface MMDAnimationHelperAddParameter {
|
|
14
|
-
animation?: AnimationClip | AnimationClip[] | undefined;
|
|
15
|
-
physics?: boolean | undefined;
|
|
16
|
-
warmup?: number | undefined;
|
|
17
|
-
unitStep?: number | undefined;
|
|
18
|
-
maxStepNum?: number | undefined;
|
|
19
|
-
gravity?: number | undefined;
|
|
20
|
-
delayTime?: number | undefined;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export interface MMDAnimationHelperPoseParameter {
|
|
24
|
-
resetPose?: boolean | undefined;
|
|
25
|
-
ik?: boolean | undefined;
|
|
26
|
-
grant?: boolean | undefined;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export interface MMDAnimationHelperMixer {
|
|
30
|
-
looped: boolean;
|
|
31
|
-
mixer?: AnimationMixer | undefined;
|
|
32
|
-
ikSolver: CCDIKSolver;
|
|
33
|
-
grantSolver: GrantSolver;
|
|
34
|
-
physics?: MMDPhysics | undefined;
|
|
35
|
-
duration?: number | undefined;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* @deprecated The module has been deprecated and will be removed with r172. Please migrate to
|
|
40
|
-
* https://github.com/takahirox/three-mmd-loader instead.
|
|
41
|
-
*/
|
|
42
|
-
export class MMDAnimationHelper {
|
|
43
|
-
constructor(params?: MMDAnimationHelperParameter);
|
|
44
|
-
meshes: SkinnedMesh[];
|
|
45
|
-
camera: Camera | null;
|
|
46
|
-
cameraTarget: Object3D;
|
|
47
|
-
audio: Audio;
|
|
48
|
-
audioManager: AudioManager;
|
|
49
|
-
configuration: {
|
|
50
|
-
sync: boolean;
|
|
51
|
-
afterglow: number;
|
|
52
|
-
resetPhysicsOnLoop: boolean;
|
|
53
|
-
pmxAnimation: boolean;
|
|
54
|
-
};
|
|
55
|
-
enabled: {
|
|
56
|
-
animation: boolean;
|
|
57
|
-
ik: boolean;
|
|
58
|
-
grant: boolean;
|
|
59
|
-
physics: boolean;
|
|
60
|
-
cameraAnimation: boolean;
|
|
61
|
-
};
|
|
62
|
-
objects: WeakMap<SkinnedMesh | Camera | AudioManager, MMDAnimationHelperMixer>;
|
|
63
|
-
onBeforePhysics: (mesh: SkinnedMesh) => void;
|
|
64
|
-
sharedPhysics: boolean;
|
|
65
|
-
masterPhysics: null;
|
|
66
|
-
|
|
67
|
-
add(object: SkinnedMesh | Camera | Audio, params?: MMDAnimationHelperAddParameter): this;
|
|
68
|
-
remove(object: SkinnedMesh | Camera | Audio): this;
|
|
69
|
-
update(delta: number): this;
|
|
70
|
-
pose(mesh: SkinnedMesh, vpd: object, params?: MMDAnimationHelperPoseParameter): this;
|
|
71
|
-
enable(key: string, enabled: boolean): this;
|
|
72
|
-
createGrantSolver(mesh: SkinnedMesh): GrantSolver;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export interface AudioManagerParameter {
|
|
76
|
-
delayTime?: number | undefined;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export class AudioManager {
|
|
80
|
-
constructor(audio: Audio, params?: AudioManagerParameter);
|
|
81
|
-
audio: Audio;
|
|
82
|
-
elapsedTime: number;
|
|
83
|
-
currentTime: number;
|
|
84
|
-
delayTime: number;
|
|
85
|
-
audioDuration: number;
|
|
86
|
-
duration: number;
|
|
87
|
-
|
|
88
|
-
control(delta: number): this;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export class GrantSolver {
|
|
92
|
-
constructor(mesh: SkinnedMesh, grants: object[]);
|
|
93
|
-
mesh: SkinnedMesh;
|
|
94
|
-
grants: object[];
|
|
95
|
-
|
|
96
|
-
update(): this;
|
|
97
|
-
updateOne(gran: object[]): this;
|
|
98
|
-
addGrantRotation(bone: Bone, q: Quaternion, ratio: number): this;
|
|
99
|
-
}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { Bone, Euler, Matrix4, MeshBasicMaterial, Object3D, Quaternion, SkinnedMesh, Vector3 } from "three";
|
|
2
|
-
|
|
3
|
-
export interface MMDPhysicsParameter {
|
|
4
|
-
unitStep?: number | undefined;
|
|
5
|
-
maxStepNum?: number | undefined;
|
|
6
|
-
gravity?: Vector3 | undefined;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @deprecated The module has been deprecated and will be removed with r172. Please migrate to
|
|
11
|
-
* https://github.com/takahirox/three-mmd-loader instead.
|
|
12
|
-
*/
|
|
13
|
-
export class MMDPhysics {
|
|
14
|
-
constructor(
|
|
15
|
-
mesh: SkinnedMesh,
|
|
16
|
-
rigidBodyParams: object[],
|
|
17
|
-
constraintParams?: object[],
|
|
18
|
-
params?: MMDPhysicsParameter,
|
|
19
|
-
);
|
|
20
|
-
manager: ResourceManager;
|
|
21
|
-
mesh: SkinnedMesh;
|
|
22
|
-
unitStep: number;
|
|
23
|
-
maxStepNum: number;
|
|
24
|
-
gravity: Vector3;
|
|
25
|
-
world: null;
|
|
26
|
-
bodies: RigidBody[];
|
|
27
|
-
constraints: Constraint[];
|
|
28
|
-
|
|
29
|
-
update(delta: number): this;
|
|
30
|
-
reset(): this;
|
|
31
|
-
warmup(cycles: number): this;
|
|
32
|
-
setGravity(gravity: Vector3): this;
|
|
33
|
-
createHelper(): MMDPhysicsHelper;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export class ResourceManager {
|
|
37
|
-
constructor();
|
|
38
|
-
threeVector3s: Vector3[];
|
|
39
|
-
threeMatrix4s: Matrix4[];
|
|
40
|
-
threeQuaternions: Quaternion[];
|
|
41
|
-
threeEulers: Euler[];
|
|
42
|
-
transforms: object[];
|
|
43
|
-
quaternions: object[];
|
|
44
|
-
vector3s: object[];
|
|
45
|
-
|
|
46
|
-
allocThreeVector3(): void;
|
|
47
|
-
freeThreeVector3(v: Vector3): void;
|
|
48
|
-
allocThreeMatrix4(): void;
|
|
49
|
-
freeThreeMatrix4(m: Matrix4): void;
|
|
50
|
-
allocThreeQuaternion(): void;
|
|
51
|
-
freeThreeQuaternion(q: Quaternion): void;
|
|
52
|
-
allocThreeEuler(): void;
|
|
53
|
-
freeThreeEuler(e: Euler): void;
|
|
54
|
-
allocTransform(): void;
|
|
55
|
-
freeTransform(t: object): void;
|
|
56
|
-
allocQuaternion(): void;
|
|
57
|
-
freeQuaternion(q: object): void;
|
|
58
|
-
allocVector3(): void;
|
|
59
|
-
freeVector3(v: object): void;
|
|
60
|
-
setIdentity(): void;
|
|
61
|
-
getBasis(t: object): object;
|
|
62
|
-
getBasisAsMatrix3(t: object): object;
|
|
63
|
-
getOrigin(t: object): object;
|
|
64
|
-
setOrigin(t: object, v: object): void;
|
|
65
|
-
copyOrigin(t1: object, t2: object): void;
|
|
66
|
-
setBasis(t: object, q: object): void;
|
|
67
|
-
setBasisFromMatrix3(t: object, m: object): void;
|
|
68
|
-
setOriginFromArray3(t: object, a: number[]): void;
|
|
69
|
-
setOriginFromThreeVector3(t: object, v: Vector3): void;
|
|
70
|
-
setBasisFromArray3(t: object, a: number[]): void;
|
|
71
|
-
setBasisFromThreeQuaternion(t: object, a: Quaternion): void;
|
|
72
|
-
multiplyTransforms(t1: object, t2: object): object;
|
|
73
|
-
inverseTransform(t: object): object;
|
|
74
|
-
multiplyMatrices3(m1: object, m2: object): object;
|
|
75
|
-
addVector3(v1: object, v2: object): object;
|
|
76
|
-
dotVectors3(v1: object, v2: object): number;
|
|
77
|
-
rowOfMatrix3(m: object, i: number): object;
|
|
78
|
-
columnOfMatrix3(m: object, i: number): object;
|
|
79
|
-
negativeVector3(v: object): object;
|
|
80
|
-
multiplyMatrix3ByVector3(m: object, v: object): object;
|
|
81
|
-
transposeMatrix3(m: object): object;
|
|
82
|
-
quaternionToMatrix3(q: object): object;
|
|
83
|
-
matrix3ToQuaternion(m: object): object;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export class RigidBody {
|
|
87
|
-
constructor(mesh: SkinnedMesh, world: object, params: object, manager: ResourceManager);
|
|
88
|
-
mesh: SkinnedMesh;
|
|
89
|
-
world: object;
|
|
90
|
-
params: object;
|
|
91
|
-
manager: ResourceManager;
|
|
92
|
-
|
|
93
|
-
body: object;
|
|
94
|
-
bone: Bone;
|
|
95
|
-
boneOffsetForm: object;
|
|
96
|
-
boneOffsetFormInverse: object;
|
|
97
|
-
|
|
98
|
-
reset(): this;
|
|
99
|
-
updateFromBone(): this;
|
|
100
|
-
updateBone(): this;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export class Constraint {
|
|
104
|
-
constructor(
|
|
105
|
-
mesh: SkinnedMesh,
|
|
106
|
-
world: object,
|
|
107
|
-
bodyA: RigidBody,
|
|
108
|
-
bodyB: RigidBody,
|
|
109
|
-
params: object,
|
|
110
|
-
manager: ResourceManager,
|
|
111
|
-
);
|
|
112
|
-
|
|
113
|
-
mesh: SkinnedMesh;
|
|
114
|
-
world: object;
|
|
115
|
-
bodyA: RigidBody;
|
|
116
|
-
bodyB: RigidBody;
|
|
117
|
-
params: object;
|
|
118
|
-
manager: ResourceManager;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
export class MMDPhysicsHelper extends Object3D {
|
|
122
|
-
mesh: SkinnedMesh;
|
|
123
|
-
physics: MMDPhysics;
|
|
124
|
-
materials: [MeshBasicMaterial, MeshBasicMaterial, MeshBasicMaterial];
|
|
125
|
-
|
|
126
|
-
constructor(mesh: SkinnedMesh, physics: MMDPhysics);
|
|
127
|
-
dispose(): void;
|
|
128
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Object3D } from "three";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @deprecated The module has been deprecated and will be removed with r172. Please migrate to
|
|
5
|
-
* https://github.com/takahirox/three-mmd-loader instead.
|
|
6
|
-
*/
|
|
7
|
-
export class MMDExporter {
|
|
8
|
-
constructor();
|
|
9
|
-
|
|
10
|
-
parseVpd(skin: Object3D, outputShiftJis: boolean, useOriginalBones: boolean): [] | Uint8Array;
|
|
11
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { AnimationClip, Camera, FileLoader, Loader, LoadingManager, SkinnedMesh } from "three";
|
|
2
|
-
|
|
3
|
-
export interface MMDLoaderAnimationObject {
|
|
4
|
-
animation: AnimationClip;
|
|
5
|
-
mesh: SkinnedMesh;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @deprecated The module has been deprecated and will be removed with r172. Please migrate to
|
|
10
|
-
* https://github.com/takahirox/three-mmd-loader instead.
|
|
11
|
-
*/
|
|
12
|
-
export class MMDLoader extends Loader<SkinnedMesh> {
|
|
13
|
-
constructor(manager?: LoadingManager);
|
|
14
|
-
animationBuilder: object;
|
|
15
|
-
animationPath: string;
|
|
16
|
-
loader: FileLoader;
|
|
17
|
-
meshBuilder: object;
|
|
18
|
-
parser: object | null;
|
|
19
|
-
|
|
20
|
-
loadAnimation(
|
|
21
|
-
url: string,
|
|
22
|
-
object: SkinnedMesh | Camera,
|
|
23
|
-
onLoad: (object: SkinnedMesh | AnimationClip) => void,
|
|
24
|
-
onProgress?: (event: ProgressEvent) => void,
|
|
25
|
-
onError?: (event: ErrorEvent) => void,
|
|
26
|
-
): void;
|
|
27
|
-
loadPMD(
|
|
28
|
-
url: string,
|
|
29
|
-
onLoad: (object: object) => void,
|
|
30
|
-
onProgress?: (event: ProgressEvent) => void,
|
|
31
|
-
onError?: (event: ErrorEvent) => void,
|
|
32
|
-
): void;
|
|
33
|
-
loadPMX(
|
|
34
|
-
url: string,
|
|
35
|
-
onLoad: (object: object) => void,
|
|
36
|
-
onProgress?: (event: ProgressEvent) => void,
|
|
37
|
-
onError?: (event: ErrorEvent) => void,
|
|
38
|
-
): void;
|
|
39
|
-
loadVMD(
|
|
40
|
-
url: string,
|
|
41
|
-
onLoad: (object: object) => void,
|
|
42
|
-
onProgress?: (event: ProgressEvent) => void,
|
|
43
|
-
onError?: (event: ErrorEvent) => void,
|
|
44
|
-
): void;
|
|
45
|
-
loadVPD(
|
|
46
|
-
url: string,
|
|
47
|
-
isUnicode: boolean,
|
|
48
|
-
onLoad: (object: object) => void,
|
|
49
|
-
onProgress?: (event: ProgressEvent) => void,
|
|
50
|
-
onError?: (event: ErrorEvent) => void,
|
|
51
|
-
): void;
|
|
52
|
-
loadWithAnimation(
|
|
53
|
-
url: string,
|
|
54
|
-
vmdUrl: string | string[],
|
|
55
|
-
onLoad: (object: MMDLoaderAnimationObject) => void,
|
|
56
|
-
onProgress?: (event: ProgressEvent) => void,
|
|
57
|
-
onError?: (event: ErrorEvent) => void,
|
|
58
|
-
): void;
|
|
59
|
-
setAnimationPath(animationPath: string): this;
|
|
60
|
-
}
|