@types/three 0.173.0 → 0.174.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/animation/CCDIKSolver.d.ts +3 -2
- three/examples/jsm/loaders/MTLLoader.d.ts +2 -1
- three/examples/jsm/misc/Timer.d.ts +13 -2
- three/examples/jsm/objects/Reflector.d.ts +1 -0
- three/examples/jsm/tsl/math/Bayer.d.ts +4 -0
- three/examples/jsm/tsl/utils/Raymarching.d.ts +9 -0
- three/package.json +2 -2
- three/src/Three.TSL.d.ts +4 -0
- three/src/Three.d.ts +6 -1
- three/src/core/Raycaster.d.ts +4 -0
- three/src/extras/PMREMGenerator.d.ts +15 -2
- three/src/geometries/TorusGeometry.d.ts +5 -6
- three/src/materials/nodes/NodeMaterial.d.ts +2 -1
- three/src/materials/nodes/VolumeNodeMaterial.d.ts +14 -2
- three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +4 -4
- three/src/nodes/Nodes.d.ts +1 -2
- three/src/nodes/TSL.d.ts +1 -0
- three/src/nodes/accessors/BufferAttributeNode.d.ts +25 -22
- three/src/nodes/accessors/Lights.d.ts +1 -1
- three/src/nodes/accessors/MaterialProperties.d.ts +5 -0
- three/src/nodes/accessors/ModelNode.d.ts +1 -0
- three/src/nodes/accessors/Object3DNode.d.ts +7 -5
- three/src/nodes/accessors/Texture3DNode.d.ts +2 -2
- three/src/nodes/core/LightingModel.d.ts +13 -28
- three/src/nodes/core/Node.d.ts +24 -24
- three/src/nodes/core/NodeAttribute.d.ts +3 -3
- three/src/nodes/core/NodeCache.d.ts +2 -2
- three/src/nodes/core/NodeParser.d.ts +1 -1
- three/src/nodes/core/NodeUniform.d.ts +4 -4
- three/src/nodes/core/NodeVar.d.ts +4 -4
- three/src/nodes/core/NodeVarying.d.ts +2 -2
- three/src/nodes/core/StructTypeNode.d.ts +2 -2
- three/src/nodes/core/UniformNode.d.ts +7 -7
- three/src/nodes/core/constants.d.ts +0 -1
- three/src/nodes/display/PassNode.d.ts +10 -1
- three/src/nodes/functions/BSDF/LTC.d.ts +5 -1
- three/src/nodes/functions/VolumetricLightingModel.d.ts +6 -0
- three/src/nodes/lighting/AnalyticLightNode.d.ts +13 -1
- three/src/nodes/lighting/LightingContextNode.d.ts +18 -4
- three/src/nodes/lighting/LightsNode.d.ts +24 -0
- three/src/nodes/lighting/PointLightNode.d.ts +8 -7
- three/src/nodes/lighting/ShadowBaseNode.d.ts +3 -0
- three/src/nodes/tsl/TSLCore.d.ts +3 -0
- three/src/nodes/utils/ReflectorNode.d.ts +1 -0
- three/src/objects/LOD.d.ts +4 -3
- three/src/renderers/common/Animation.d.ts +4 -4
- three/src/renderers/common/Attributes.d.ts +1 -1
- three/src/renderers/common/BindGroup.d.ts +2 -2
- three/src/renderers/common/Binding.d.ts +2 -2
- three/src/renderers/common/Buffer.d.ts +3 -3
- three/src/renderers/common/BufferUtils.d.ts +7 -8
- three/src/renderers/common/BundleGroup.d.ts +2 -2
- three/src/renderers/common/ChainMap.d.ts +3 -3
- three/src/renderers/common/ClippingContext.d.ts +3 -3
- three/src/renderers/common/Color4.d.ts +8 -8
- three/src/renderers/common/ComputePipeline.d.ts +1 -1
- three/src/renderers/common/DataMap.d.ts +2 -2
- three/src/renderers/common/Geometries.d.ts +4 -4
- three/src/renderers/common/Info.d.ts +2 -2
- three/src/renderers/common/Pipeline.d.ts +1 -1
- three/src/renderers/common/Pipelines.d.ts +9 -9
- three/src/renderers/common/ProgrammableStage.d.ts +4 -4
- three/src/renderers/common/RenderContext.d.ts +2 -2
- three/src/renderers/common/RenderContexts.d.ts +3 -3
- three/src/renderers/common/RenderList.d.ts +11 -11
- three/src/renderers/common/RenderObject.d.ts +13 -13
- three/src/renderers/common/RenderObjects.d.ts +3 -3
- three/src/renderers/common/RenderPipeline.d.ts +1 -1
- three/src/renderers/common/Renderer.d.ts +117 -91
- three/src/renderers/common/Textures.d.ts +6 -6
- three/src/renderers/common/TimestampQueryPool.d.ts +13 -1
- three/src/renderers/common/Uniform.d.ts +13 -13
- three/src/renderers/common/UniformBuffer.d.ts +1 -1
- three/src/renderers/common/UniformsGroup.d.ts +13 -13
- three/src/renderers/common/XRManager.d.ts +13 -15
- three/src/renderers/common/XRRenderTarget.d.ts +4 -4
- three/src/renderers/common/extras/PMREMGenerator.d.ts +9 -2
- three/src/renderers/common/nodes/NodeBuilderState.d.ts +3 -3
- three/src/renderers/common/nodes/NodeLibrary.d.ts +11 -11
- three/src/renderers/common/nodes/NodeUniform.d.ts +9 -9
- three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +1 -1
- three/src/renderers/common/nodes/Nodes.d.ts +11 -11
- three/src/renderers/webgl/WebGLState.d.ts +7 -6
|
@@ -13,13 +13,13 @@ declare class Binding {
|
|
|
13
13
|
/**
|
|
14
14
|
* Constructs a new binding.
|
|
15
15
|
*
|
|
16
|
-
* @param {
|
|
16
|
+
* @param {string} [name=''] - The binding's name.
|
|
17
17
|
*/
|
|
18
18
|
constructor(name?: string);
|
|
19
19
|
/**
|
|
20
20
|
* Makes sure binding's resource is visible for the given shader stage.
|
|
21
21
|
*
|
|
22
|
-
* @param {
|
|
22
|
+
* @param {number} visibility - The shader stage.
|
|
23
23
|
*/
|
|
24
24
|
setVisibility(visibility: number): void;
|
|
25
25
|
/**
|
|
@@ -13,14 +13,14 @@ declare class Buffer extends Binding {
|
|
|
13
13
|
/**
|
|
14
14
|
* Constructs a new buffer.
|
|
15
15
|
*
|
|
16
|
-
* @param {
|
|
16
|
+
* @param {string} name - The buffer's name.
|
|
17
17
|
* @param {TypedArray} [buffer=null] - The buffer.
|
|
18
18
|
*/
|
|
19
19
|
constructor(name?: string, buffer?: Float32Array | null);
|
|
20
20
|
/**
|
|
21
21
|
* The buffer's byte length.
|
|
22
22
|
*
|
|
23
|
-
* @type {
|
|
23
|
+
* @type {number}
|
|
24
24
|
* @readonly
|
|
25
25
|
*/
|
|
26
26
|
get byteLength(): number;
|
|
@@ -34,7 +34,7 @@ declare class Buffer extends Binding {
|
|
|
34
34
|
/**
|
|
35
35
|
* Updates the binding.
|
|
36
36
|
*
|
|
37
|
-
* @return {
|
|
37
|
+
* @return {boolean} Whether the buffer has been updated and must be
|
|
38
38
|
* uploaded to the GPU.
|
|
39
39
|
*/
|
|
40
40
|
update(): boolean;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
/** @module BufferUtils **/
|
|
2
1
|
/**
|
|
3
2
|
* This function is usually called with the length in bytes of an array buffer.
|
|
4
3
|
* It returns an padded value which ensure chunk size alignment according to STD140 layout.
|
|
5
4
|
*
|
|
6
5
|
* @function
|
|
7
|
-
* @param {
|
|
8
|
-
* @return {
|
|
6
|
+
* @param {number} floatLength - The buffer length.
|
|
7
|
+
* @return {number} The padded length.
|
|
9
8
|
*/
|
|
10
9
|
declare function getFloatLength(floatLength: number): number;
|
|
11
10
|
/**
|
|
@@ -13,9 +12,9 @@ declare function getFloatLength(floatLength: number): number;
|
|
|
13
12
|
* a total length in bytes with buffer alignment according to STD140 layout.
|
|
14
13
|
*
|
|
15
14
|
* @function
|
|
16
|
-
* @param {
|
|
17
|
-
* @param {
|
|
18
|
-
* @return {
|
|
15
|
+
* @param {number} count - The number of vectors.
|
|
16
|
+
* @param {number} [vectorLength=4] - The vector length.
|
|
17
|
+
* @return {number} The padded length.
|
|
19
18
|
*/
|
|
20
19
|
declare function getVectorLength(count: number, vectorLength?: number): number;
|
|
21
20
|
/**
|
|
@@ -23,8 +22,8 @@ declare function getVectorLength(count: number, vectorLength?: number): number;
|
|
|
23
22
|
* matches a predefined stride (in this case `4`).
|
|
24
23
|
*
|
|
25
24
|
* @function
|
|
26
|
-
* @param {
|
|
27
|
-
* @return {
|
|
25
|
+
* @param {number} vectorLength - The vector length.
|
|
26
|
+
* @return {number} The padded length.
|
|
28
27
|
*/
|
|
29
28
|
declare function getStrideLength(vectorLength: number): number;
|
|
30
29
|
export { getFloatLength, getStrideLength, getVectorLength };
|
|
@@ -23,9 +23,9 @@ declare class BundleGroup extends Group {
|
|
|
23
23
|
/**
|
|
24
24
|
* Set this property to `true` when the bundle group has changed.
|
|
25
25
|
*
|
|
26
|
-
* @type {
|
|
26
|
+
* @type {boolean}
|
|
27
27
|
* @default false
|
|
28
|
-
* @param {
|
|
28
|
+
* @param {boolean} value
|
|
29
29
|
*/
|
|
30
30
|
set needsUpdate(value: boolean);
|
|
31
31
|
}
|
|
@@ -17,14 +17,14 @@ declare class ChainMap<K extends readonly object[], V> {
|
|
|
17
17
|
* Returns the value for the given array of keys.
|
|
18
18
|
*
|
|
19
19
|
* @param {Array<Object>} keys - List of keys.
|
|
20
|
-
* @return {
|
|
20
|
+
* @return {any} The value. Returns `undefined` if no value was found.
|
|
21
21
|
*/
|
|
22
22
|
get(keys: K): V | undefined;
|
|
23
23
|
/**
|
|
24
24
|
* Sets the value for the given keys.
|
|
25
25
|
*
|
|
26
26
|
* @param {Array<Object>} keys - List of keys.
|
|
27
|
-
* @param {
|
|
27
|
+
* @param {any} value - The value to set.
|
|
28
28
|
* @return {ChainMap} A reference to this Chain Map.
|
|
29
29
|
*/
|
|
30
30
|
set(keys: K, value: V): this;
|
|
@@ -32,7 +32,7 @@ declare class ChainMap<K extends readonly object[], V> {
|
|
|
32
32
|
* Deletes a value for the given keys.
|
|
33
33
|
*
|
|
34
34
|
* @param {Array<Object>} keys - The keys.
|
|
35
|
-
* @return {
|
|
35
|
+
* @return {boolean} Returns `true` if the value has been removed successfully and `false` if the value has not be found.
|
|
36
36
|
*/
|
|
37
37
|
delete(keys: K): boolean;
|
|
38
38
|
}
|
|
@@ -27,7 +27,7 @@ declare class ClippingContext {
|
|
|
27
27
|
/**
|
|
28
28
|
* Constructs a new clipping context.
|
|
29
29
|
*
|
|
30
|
-
* @param {ClippingContext
|
|
30
|
+
* @param {?ClippingContext} [parentContext=null] - A reference to the parent clipping context.
|
|
31
31
|
*/
|
|
32
32
|
constructor(parentContext?: ClippingContext | null);
|
|
33
33
|
/**
|
|
@@ -36,7 +36,7 @@ declare class ClippingContext {
|
|
|
36
36
|
*
|
|
37
37
|
* @param {Array<Plane>} source - The source clipping planes.
|
|
38
38
|
* @param {Array<Vector4>} destination - The destination.
|
|
39
|
-
* @param {
|
|
39
|
+
* @param {number} offset - The offset.
|
|
40
40
|
*/
|
|
41
41
|
projectPlanes(source: readonly Plane[], destination: readonly Vector4[], offset: number): void;
|
|
42
42
|
/**
|
|
@@ -63,7 +63,7 @@ declare class ClippingContext {
|
|
|
63
63
|
/**
|
|
64
64
|
* The count of union clipping planes.
|
|
65
65
|
*
|
|
66
|
-
* @type {
|
|
66
|
+
* @type {number}
|
|
67
67
|
* @readonly
|
|
68
68
|
*/
|
|
69
69
|
get unionClippingCount(): number;
|
|
@@ -14,10 +14,10 @@ declare class Color4 extends Color {
|
|
|
14
14
|
* You can also pass a single THREE.Color, hex or
|
|
15
15
|
* string argument to this constructor.
|
|
16
16
|
*
|
|
17
|
-
* @param {
|
|
18
|
-
* @param {
|
|
19
|
-
* @param {
|
|
20
|
-
* @param {
|
|
17
|
+
* @param {number|string} [r=1] - The red value.
|
|
18
|
+
* @param {number} [g=1] - The green value.
|
|
19
|
+
* @param {number} [b=1] - The blue value.
|
|
20
|
+
* @param {number} [a=1] - The alpha value.
|
|
21
21
|
*/
|
|
22
22
|
constructor(color?: ColorRepresentation);
|
|
23
23
|
constructor(r: number, g: number, b: number, a?: number);
|
|
@@ -26,10 +26,10 @@ declare class Color4 extends Color {
|
|
|
26
26
|
* You can also pass a single THREE.Color, hex or
|
|
27
27
|
* string argument to this method.
|
|
28
28
|
*
|
|
29
|
-
* @param {
|
|
30
|
-
* @param {
|
|
31
|
-
* @param {
|
|
32
|
-
* @param {
|
|
29
|
+
* @param {number|string} r - The red value.
|
|
30
|
+
* @param {number} g - The green value.
|
|
31
|
+
* @param {number} b - The blue value.
|
|
32
|
+
* @param {number} [a=1] - The alpha value.
|
|
33
33
|
* @return {Color4} A reference to this object.
|
|
34
34
|
*/
|
|
35
35
|
set(...args: [color: ColorRepresentation] | [r: number, g: number, b: number, a?: number]): this;
|
|
@@ -12,7 +12,7 @@ declare class ComputePipeline extends Pipeline {
|
|
|
12
12
|
/**
|
|
13
13
|
* Constructs a new render pipeline.
|
|
14
14
|
*
|
|
15
|
-
* @param {
|
|
15
|
+
* @param {string} cacheKey - The pipeline's cache key.
|
|
16
16
|
* @param {ProgrammableStage} computeProgram - The pipeline's compute shader.
|
|
17
17
|
*/
|
|
18
18
|
constructor(cacheKey: string, computeProgram: ProgrammableStage);
|
|
@@ -30,7 +30,7 @@ declare class DataMap<
|
|
|
30
30
|
* Deletes the dictionary for the given object.
|
|
31
31
|
*
|
|
32
32
|
* @param {Object} object - The object.
|
|
33
|
-
* @return {Object
|
|
33
|
+
* @return {?Object} The deleted dictionary.
|
|
34
34
|
*/
|
|
35
35
|
delete<K extends M[keyof M]["key"]>(object: K): Extract<M[keyof M], {
|
|
36
36
|
key: K;
|
|
@@ -39,7 +39,7 @@ declare class DataMap<
|
|
|
39
39
|
* Returns `true` if the given object has a dictionary defined.
|
|
40
40
|
*
|
|
41
41
|
* @param {Object} object - The object to test.
|
|
42
|
-
* @return {
|
|
42
|
+
* @return {boolean} Whether a dictionary is defined or not.
|
|
43
43
|
*/
|
|
44
44
|
has(object: M[keyof M]["key"]): boolean;
|
|
45
45
|
/**
|
|
@@ -37,7 +37,7 @@ declare class Geometries extends DataMap<{
|
|
|
37
37
|
* Returns `true` if the given render object has an initialized geometry.
|
|
38
38
|
*
|
|
39
39
|
* @param {RenderObject} renderObject - The render object.
|
|
40
|
-
* @return {
|
|
40
|
+
* @return {boolean} Whether if the given render object has an initialized geometry or not.
|
|
41
41
|
*/
|
|
42
42
|
has(renderObject: RenderObject | BufferGeometry): boolean;
|
|
43
43
|
/**
|
|
@@ -62,14 +62,14 @@ declare class Geometries extends DataMap<{
|
|
|
62
62
|
* Updates the given attribute.
|
|
63
63
|
*
|
|
64
64
|
* @param {BufferAttribute} attribute - The attribute to update.
|
|
65
|
-
* @param {
|
|
65
|
+
* @param {number} type - The attribute type.
|
|
66
66
|
*/
|
|
67
67
|
updateAttribute(attribute: BufferAttribute | InterleavedBufferAttribute, type: AttributeType): void;
|
|
68
68
|
/**
|
|
69
69
|
* Returns the indirect buffer attribute of the given render object.
|
|
70
70
|
*
|
|
71
71
|
* @param {RenderObject} renderObject - The render object.
|
|
72
|
-
* @return {BufferAttribute
|
|
72
|
+
* @return {?BufferAttribute} The indirect attribute. `null` if no indirect drawing is used.
|
|
73
73
|
*/
|
|
74
74
|
getIndirect(renderObject: RenderObject): import("./IndirectStorageBufferAttribute.js").default | null;
|
|
75
75
|
/**
|
|
@@ -77,7 +77,7 @@ declare class Geometries extends DataMap<{
|
|
|
77
77
|
* in a method to return a wireframe index if necessary.
|
|
78
78
|
*
|
|
79
79
|
* @param {RenderObject} renderObject - The render object.
|
|
80
|
-
* @return {BufferAttribute
|
|
80
|
+
* @return {?BufferAttribute} The index. Returns `null` for non-indexed geometries.
|
|
81
81
|
*/
|
|
82
82
|
getIndex(renderObject: RenderObject): BufferAttribute | null;
|
|
83
83
|
}
|
|
@@ -34,8 +34,8 @@ declare class Info {
|
|
|
34
34
|
* This method should be executed per draw call and updates the corresponding metrics.
|
|
35
35
|
*
|
|
36
36
|
* @param {Object3D} object - The 3D object that is going to be rendered.
|
|
37
|
-
* @param {
|
|
38
|
-
* @param {
|
|
37
|
+
* @param {number} count - The vertex or index count.
|
|
38
|
+
* @param {number} instanceCount - The instance count.
|
|
39
39
|
*/
|
|
40
40
|
update(object: Object3D, count: number, instanceCount: number): void;
|
|
41
41
|
/**
|
|
@@ -60,7 +60,7 @@ declare class Pipelines extends DataMap<{
|
|
|
60
60
|
* Returns a render pipeline for the given render object.
|
|
61
61
|
*
|
|
62
62
|
* @param {RenderObject} renderObject - The render object.
|
|
63
|
-
* @param {Array<Promise
|
|
63
|
+
* @param {?Array<Promise>} [promises=null] - An array of compilation promises which is only relevant in context of `Renderer.compileAsync()`.
|
|
64
64
|
* @return {RenderPipeline} The render pipeline.
|
|
65
65
|
*/
|
|
66
66
|
getForRender(renderObject: RenderObject, promises?: Promise<void>[] | null): RenderPipeline;
|
|
@@ -68,7 +68,7 @@ declare class Pipelines extends DataMap<{
|
|
|
68
68
|
* Deletes the pipeline for the given render object.
|
|
69
69
|
*
|
|
70
70
|
* @param {RenderObject} object - The render object.
|
|
71
|
-
* @return {Object
|
|
71
|
+
* @return {?Object} The deleted dictionary.
|
|
72
72
|
*/
|
|
73
73
|
delete(object: ComputeNode | RenderObject): never;
|
|
74
74
|
/**
|
|
@@ -87,7 +87,7 @@ declare class Pipelines extends DataMap<{
|
|
|
87
87
|
* @private
|
|
88
88
|
* @param {Node} computeNode - The compute node.
|
|
89
89
|
* @param {ProgrammableStage} stageCompute - The programmable stage representing the compute shader.
|
|
90
|
-
* @param {
|
|
90
|
+
* @param {string} cacheKey - The cache key.
|
|
91
91
|
* @param {Array<BindGroup>} bindings - The bindings.
|
|
92
92
|
* @return {ComputePipeline} The compute pipeline.
|
|
93
93
|
*/
|
|
@@ -104,8 +104,8 @@ declare class Pipelines extends DataMap<{
|
|
|
104
104
|
* @param {RenderObject} renderObject - The render object.
|
|
105
105
|
* @param {ProgrammableStage} stageVertex - The programmable stage representing the vertex shader.
|
|
106
106
|
* @param {ProgrammableStage} stageFragment - The programmable stage representing the fragment shader.
|
|
107
|
-
* @param {
|
|
108
|
-
* @param {Array<Promise
|
|
107
|
+
* @param {string} cacheKey - The cache key.
|
|
108
|
+
* @param {?Array<Promise>} promises - An array of compilation promises which is only relevant in context of `Renderer.compileAsync()`.
|
|
109
109
|
* @return {ComputePipeline} The compute pipeline.
|
|
110
110
|
*/
|
|
111
111
|
_getRenderPipeline(
|
|
@@ -121,7 +121,7 @@ declare class Pipelines extends DataMap<{
|
|
|
121
121
|
* @private
|
|
122
122
|
* @param {Node} computeNode - The compute node.
|
|
123
123
|
* @param {ProgrammableStage} stageCompute - The programmable stage representing the compute shader.
|
|
124
|
-
* @return {
|
|
124
|
+
* @return {string} The cache key.
|
|
125
125
|
*/
|
|
126
126
|
_getComputeCacheKey(computeNode: ComputeNode, stageCompute: ProgrammableStage): string;
|
|
127
127
|
/**
|
|
@@ -131,7 +131,7 @@ declare class Pipelines extends DataMap<{
|
|
|
131
131
|
* @param {RenderObject} renderObject - The render object.
|
|
132
132
|
* @param {ProgrammableStage} stageVertex - The programmable stage representing the vertex shader.
|
|
133
133
|
* @param {ProgrammableStage} stageFragment - The programmable stage representing the fragment shader.
|
|
134
|
-
* @return {
|
|
134
|
+
* @return {string} The cache key.
|
|
135
135
|
*/
|
|
136
136
|
_getRenderCacheKey(
|
|
137
137
|
renderObject: RenderObject,
|
|
@@ -157,7 +157,7 @@ declare class Pipelines extends DataMap<{
|
|
|
157
157
|
*
|
|
158
158
|
* @private
|
|
159
159
|
* @param {Node} computeNode - The compute node.
|
|
160
|
-
* @return {
|
|
160
|
+
* @return {boolean} Whether the compute pipeline for the given compute node requires an update or not.
|
|
161
161
|
*/
|
|
162
162
|
_needsComputeUpdate(computeNode: ComputeNode): boolean;
|
|
163
163
|
/**
|
|
@@ -165,7 +165,7 @@ declare class Pipelines extends DataMap<{
|
|
|
165
165
|
*
|
|
166
166
|
* @private
|
|
167
167
|
* @param {RenderObject} renderObject - The render object.
|
|
168
|
-
* @return {
|
|
168
|
+
* @return {boolean} Whether the render object for the given render object requires an update or not.
|
|
169
169
|
*/
|
|
170
170
|
_needsRenderUpdate(renderObject: RenderObject): true | void;
|
|
171
171
|
}
|
|
@@ -16,11 +16,11 @@ declare class ProgrammableStage {
|
|
|
16
16
|
/**
|
|
17
17
|
* Constructs a new programmable stage.
|
|
18
18
|
*
|
|
19
|
-
* @param {
|
|
19
|
+
* @param {string} code - The shader code.
|
|
20
20
|
* @param {('vertex'|'fragment'|'compute')} stage - The type of stage.
|
|
21
|
-
* @param {
|
|
22
|
-
* @param {Array<Object
|
|
23
|
-
* @param {Array<Object
|
|
21
|
+
* @param {string} name - The name of the shader.
|
|
22
|
+
* @param {?Array<Object>} [transforms=null] - The transforms (only relevant for compute stages with WebGL 2 which uses Transform Feedback).
|
|
23
|
+
* @param {?Array<Object>} [attributes=null] - The attributes (only relevant for compute stages with WebGL 2 which uses Transform Feedback).
|
|
24
24
|
*/
|
|
25
25
|
constructor(
|
|
26
26
|
code: string,
|
|
@@ -51,7 +51,7 @@ declare class RenderContext {
|
|
|
51
51
|
/**
|
|
52
52
|
* Returns the cache key of this render context.
|
|
53
53
|
*
|
|
54
|
-
* @return {
|
|
54
|
+
* @return {number} The cache key.
|
|
55
55
|
*/
|
|
56
56
|
getCacheKey(): number;
|
|
57
57
|
}
|
|
@@ -61,7 +61,7 @@ declare class RenderContext {
|
|
|
61
61
|
* configure the correct attachments in the respective backend.
|
|
62
62
|
*
|
|
63
63
|
* @param {RenderContext} renderContext - The render context.
|
|
64
|
-
* @return {
|
|
64
|
+
* @return {number} The cache key.
|
|
65
65
|
*/
|
|
66
66
|
export declare function getCacheKey(renderContext: RenderContext): number;
|
|
67
67
|
export default RenderContext;
|
|
@@ -21,14 +21,14 @@ declare class RenderContexts {
|
|
|
21
21
|
*
|
|
22
22
|
* @param {Scene} scene - The scene.
|
|
23
23
|
* @param {Camera} camera - The camera that is used to render the scene.
|
|
24
|
-
* @param {RenderTarget
|
|
24
|
+
* @param {?RenderTarget} [renderTarget=null] - The active render target.
|
|
25
25
|
* @return {RenderContext} The render context.
|
|
26
26
|
*/
|
|
27
27
|
get(scene: Scene, camera: Camera, renderTarget?: RenderTarget | null): RenderContext;
|
|
28
28
|
/**
|
|
29
29
|
* Returns a render context intended for clear operations.
|
|
30
30
|
*
|
|
31
|
-
* @param {RenderTarget
|
|
31
|
+
* @param {?RenderTarget} [renderTarget=null] - The active render target.
|
|
32
32
|
* @return {RenderContext} The render context.
|
|
33
33
|
*/
|
|
34
34
|
getForClear(renderTarget?: RenderTarget | null): RenderContext;
|
|
@@ -36,7 +36,7 @@ declare class RenderContexts {
|
|
|
36
36
|
* Returns a chain map for the given attachment state.
|
|
37
37
|
*
|
|
38
38
|
* @private
|
|
39
|
-
* @param {
|
|
39
|
+
* @param {string} attachmentState - The attachment state.
|
|
40
40
|
* @return {ChainMap} The chain map.
|
|
41
41
|
*/
|
|
42
42
|
_getChainMap(attachmentState: string): ChainMap<readonly [Scene, Camera], RenderContext>;
|
|
@@ -72,9 +72,9 @@ declare class RenderList {
|
|
|
72
72
|
* @param {Object3D} object - The 3D object.
|
|
73
73
|
* @param {BufferGeometry} geometry - The 3D object's geometry.
|
|
74
74
|
* @param {Material} material - The 3D object's material.
|
|
75
|
-
* @param {
|
|
76
|
-
* @param {
|
|
77
|
-
* @param {
|
|
75
|
+
* @param {number} groupOrder - The current group order.
|
|
76
|
+
* @param {number} z - Th 3D object's depth value (z value in clip space).
|
|
77
|
+
* @param {?number} group - {?Object} group - Only relevant for objects using multiple materials. This represents a group entry from the respective `BufferGeometry`.
|
|
78
78
|
* @param {ClippingContext} clippingContext - The current clipping context.
|
|
79
79
|
* @return {Object} The render item.
|
|
80
80
|
*/
|
|
@@ -94,9 +94,9 @@ declare class RenderList {
|
|
|
94
94
|
* @param {Object3D} object - The 3D object.
|
|
95
95
|
* @param {BufferGeometry} geometry - The 3D object's geometry.
|
|
96
96
|
* @param {Material} material - The 3D object's material.
|
|
97
|
-
* @param {
|
|
98
|
-
* @param {
|
|
99
|
-
* @param {
|
|
97
|
+
* @param {number} groupOrder - The current group order.
|
|
98
|
+
* @param {number} z - Th 3D object's depth value (z value in clip space).
|
|
99
|
+
* @param {?number} group - {?Object} group - Only relevant for objects using multiple materials. This represents a group entry from the respective `BufferGeometry`.
|
|
100
100
|
* @param {ClippingContext} clippingContext - The current clipping context.
|
|
101
101
|
*/
|
|
102
102
|
push(
|
|
@@ -115,9 +115,9 @@ declare class RenderList {
|
|
|
115
115
|
* @param {Object3D} object - The 3D object.
|
|
116
116
|
* @param {BufferGeometry} geometry - The 3D object's geometry.
|
|
117
117
|
* @param {Material} material - The 3D object's material.
|
|
118
|
-
* @param {
|
|
119
|
-
* @param {
|
|
120
|
-
* @param {
|
|
118
|
+
* @param {number} groupOrder - The current group order.
|
|
119
|
+
* @param {number} z - Th 3D object's depth value (z value in clip space).
|
|
120
|
+
* @param {?number} group - {?Object} group - Only relevant for objects using multiple materials. This represents a group entry from the respective `BufferGeometry`.
|
|
121
121
|
* @param {ClippingContext} clippingContext - The current clipping context.
|
|
122
122
|
*/
|
|
123
123
|
unshift(
|
|
@@ -144,8 +144,8 @@ declare class RenderList {
|
|
|
144
144
|
/**
|
|
145
145
|
* Sorts the internal render lists.
|
|
146
146
|
*
|
|
147
|
-
* @param {function(
|
|
148
|
-
* @param {function(
|
|
147
|
+
* @param {function(any, any): number} customOpaqueSort - A custom sort function for opaque objects.
|
|
148
|
+
* @param {function(any, any): number} customTransparentSort - A custom sort function for transparent objects.
|
|
149
149
|
*/
|
|
150
150
|
sort(
|
|
151
151
|
customOpaqueSort: ((a: RenderItem, b: RenderItem) => number) | null,
|
|
@@ -107,14 +107,14 @@ declare class RenderObject {
|
|
|
107
107
|
/**
|
|
108
108
|
* Whether the clipping requires an update or not.
|
|
109
109
|
*
|
|
110
|
-
* @type {
|
|
110
|
+
* @type {boolean}
|
|
111
111
|
* @readonly
|
|
112
112
|
*/
|
|
113
113
|
get clippingNeedsUpdate(): boolean;
|
|
114
114
|
/**
|
|
115
115
|
* The number of clipping planes defined in context of hardware clipping.
|
|
116
116
|
*
|
|
117
|
-
* @type {
|
|
117
|
+
* @type {number}
|
|
118
118
|
* @readonly
|
|
119
119
|
*/
|
|
120
120
|
get hardwareClippingPlanes(): number;
|
|
@@ -139,20 +139,20 @@ declare class RenderObject {
|
|
|
139
139
|
/**
|
|
140
140
|
* Returns a binding group by group name of this render object.
|
|
141
141
|
*
|
|
142
|
-
* @param {
|
|
143
|
-
* @return {BindGroup
|
|
142
|
+
* @param {string} name - The name of the binding group.
|
|
143
|
+
* @return {?BindGroup} The bindings.
|
|
144
144
|
*/
|
|
145
145
|
getBindingGroup(name: string): BindGroup | undefined;
|
|
146
146
|
/**
|
|
147
147
|
* Returns the index of the render object's geometry.
|
|
148
148
|
*
|
|
149
|
-
* @return {BufferAttribute
|
|
149
|
+
* @return {?BufferAttribute} The index. Returns `null` for non-indexed geometries.
|
|
150
150
|
*/
|
|
151
151
|
getIndex(): BufferAttribute | null;
|
|
152
152
|
/**
|
|
153
153
|
* Returns the indirect buffer attribute.
|
|
154
154
|
*
|
|
155
|
-
* @return {BufferAttribute
|
|
155
|
+
* @return {?BufferAttribute} The indirect attribute. `null` if no indirect drawing is used.
|
|
156
156
|
*/
|
|
157
157
|
getIndirect(): import("./IndirectStorageBufferAttribute.js").default | null;
|
|
158
158
|
/**
|
|
@@ -189,7 +189,7 @@ declare class RenderObject {
|
|
|
189
189
|
/**
|
|
190
190
|
* Returns the draw parameters for the render object.
|
|
191
191
|
*
|
|
192
|
-
* @return {{vertexCount:
|
|
192
|
+
* @return {{vertexCount: number, firstVertex: number, instanceCount: number, firstInstance: number}} The draw parameters.
|
|
193
193
|
*/
|
|
194
194
|
getDrawParameters(): {
|
|
195
195
|
vertexCount: number;
|
|
@@ -202,7 +202,7 @@ declare class RenderObject {
|
|
|
202
202
|
*
|
|
203
203
|
* The geometry cache key is part of the material cache key.
|
|
204
204
|
*
|
|
205
|
-
* @return {
|
|
205
|
+
* @return {string} The geometry cache key.
|
|
206
206
|
*/
|
|
207
207
|
getGeometryCacheKey(): string;
|
|
208
208
|
/**
|
|
@@ -210,13 +210,13 @@ declare class RenderObject {
|
|
|
210
210
|
*
|
|
211
211
|
* The material cache key is part of the render object cache key.
|
|
212
212
|
*
|
|
213
|
-
* @return {
|
|
213
|
+
* @return {number} The material cache key.
|
|
214
214
|
*/
|
|
215
215
|
getMaterialCacheKey(): number;
|
|
216
216
|
/**
|
|
217
217
|
* Whether the geometry requires an update or not.
|
|
218
218
|
*
|
|
219
|
-
* @type {
|
|
219
|
+
* @type {boolean}
|
|
220
220
|
* @readonly
|
|
221
221
|
*/
|
|
222
222
|
get needsGeometryUpdate(): boolean;
|
|
@@ -234,20 +234,20 @@ declare class RenderObject {
|
|
|
234
234
|
* TODO: Investigate if it's possible to merge both steps so there is only a single place
|
|
235
235
|
* that performs the 'needsUpdate' check.
|
|
236
236
|
*
|
|
237
|
-
* @type {
|
|
237
|
+
* @type {boolean}
|
|
238
238
|
* @readonly
|
|
239
239
|
*/
|
|
240
240
|
get needsUpdate(): boolean;
|
|
241
241
|
/**
|
|
242
242
|
* Returns the dynamic cache key which represents a key that is computed per draw command.
|
|
243
243
|
*
|
|
244
|
-
* @return {
|
|
244
|
+
* @return {number} The cache key.
|
|
245
245
|
*/
|
|
246
246
|
getDynamicCacheKey(): number;
|
|
247
247
|
/**
|
|
248
248
|
* Returns the render object's cache key.
|
|
249
249
|
*
|
|
250
|
-
* @return {
|
|
250
|
+
* @return {number} The cache key.
|
|
251
251
|
*/
|
|
252
252
|
getCacheKey(): number;
|
|
253
253
|
/**
|
|
@@ -56,7 +56,7 @@ declare class RenderObjects {
|
|
|
56
56
|
* @param {LightsNode} lightsNode - The lights node.
|
|
57
57
|
* @param {RenderContext} renderContext - The render context.
|
|
58
58
|
* @param {ClippingContext} clippingContext - The clipping context.
|
|
59
|
-
* @param {
|
|
59
|
+
* @param {?string} passId - An optional ID for identifying the pass.
|
|
60
60
|
* @return {RenderObject} The render object.
|
|
61
61
|
*/
|
|
62
62
|
get(
|
|
@@ -72,7 +72,7 @@ declare class RenderObjects {
|
|
|
72
72
|
/**
|
|
73
73
|
* Returns a chain map for the given pass ID.
|
|
74
74
|
*
|
|
75
|
-
* @param {
|
|
75
|
+
* @param {string} [passId='default'] - The pass ID.
|
|
76
76
|
* @return {ChainMap} The chain map.
|
|
77
77
|
*/
|
|
78
78
|
getChainMap(
|
|
@@ -98,7 +98,7 @@ declare class RenderObjects {
|
|
|
98
98
|
* @param {LightsNode} lightsNode - The lights node.
|
|
99
99
|
* @param {RenderContext} renderContext - The render context.
|
|
100
100
|
* @param {ClippingContext} clippingContext - The clipping context.
|
|
101
|
-
* @param {
|
|
101
|
+
* @param {?string} passId - An optional ID for identifying the pass.
|
|
102
102
|
* @return {RenderObject} The render object.
|
|
103
103
|
*/
|
|
104
104
|
createRenderObject(
|
|
@@ -12,7 +12,7 @@ declare class RenderPipeline extends Pipeline {
|
|
|
12
12
|
/**
|
|
13
13
|
* Constructs a new render pipeline.
|
|
14
14
|
*
|
|
15
|
-
* @param {
|
|
15
|
+
* @param {string} cacheKey - The pipeline's cache key.
|
|
16
16
|
* @param {ProgrammableStage} vertexProgram - The pipeline's vertex shader.
|
|
17
17
|
* @param {ProgrammableStage} fragmentProgram - The pipeline's fragment shader.
|
|
18
18
|
*/
|