@types/three 0.170.0 → 0.172.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/build/three.core.d.ts +1 -0
- three/build/three.core.min.d.ts +1 -0
- three/build/three.tsl.d.ts +1 -0
- three/build/three.tsl.min.d.ts +1 -0
- three/examples/jsm/Addons.d.ts +0 -5
- three/examples/jsm/controls/ArcballControls.d.ts +6 -1
- three/examples/jsm/controls/OrbitControls.d.ts +5 -0
- three/examples/jsm/controls/TransformControls.d.ts +1 -1
- three/examples/jsm/csm/CSMShadowNode.d.ts +2 -4
- three/examples/jsm/exporters/GLTFExporter.d.ts +23 -7
- three/examples/jsm/geometries/DecalGeometry.d.ts +1 -1
- three/examples/jsm/geometries/InstancedPointsGeometry.d.ts +13 -0
- three/examples/jsm/helpers/VertexNormalsHelper.d.ts +2 -0
- three/examples/jsm/lines/LineSegments2.d.ts +3 -1
- three/examples/jsm/materials/LDrawConditionalLineNodeMaterial.d.ts +1 -1
- three/examples/jsm/modifiers/CurveModifier.d.ts +1 -1
- three/examples/jsm/modifiers/CurveModifierGPU.d.ts +1 -1
- three/examples/jsm/objects/InstancedPoints.d.ts +10 -0
- three/examples/jsm/objects/SkyMesh.d.ts +2 -2
- three/examples/jsm/objects/Water2Mesh.d.ts +13 -2
- three/examples/jsm/objects/WaterMesh.d.ts +11 -2
- three/examples/jsm/postprocessing/OutlinePass.d.ts +1 -1
- three/examples/jsm/postprocessing/UnrealBloomPass.d.ts +1 -1
- three/examples/jsm/tsl/display/AfterImageNode.d.ts +2 -1
- three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +1 -1
- three/examples/jsm/tsl/display/AnamorphicNode.d.ts +2 -2
- three/examples/jsm/tsl/display/BleachBypass.d.ts +2 -1
- three/examples/jsm/tsl/display/BloomNode.d.ts +2 -1
- three/examples/jsm/tsl/display/DenoiseNode.d.ts +3 -4
- three/examples/jsm/tsl/display/DepthOfFieldNode.d.ts +2 -1
- three/examples/jsm/tsl/display/DotScreenNode.d.ts +2 -2
- three/examples/jsm/tsl/display/FXAANode.d.ts +2 -1
- three/examples/jsm/tsl/display/FilmNode.d.ts +2 -1
- three/examples/jsm/tsl/display/GTAONode.d.ts +5 -8
- three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +2 -2
- three/examples/jsm/tsl/display/LensflareNode.d.ts +2 -2
- three/examples/jsm/tsl/display/Lut3DNode.d.ts +2 -2
- three/examples/jsm/tsl/display/MotionBlur.d.ts +2 -1
- three/examples/jsm/tsl/display/OutlineNode.d.ts +2 -2
- three/examples/jsm/tsl/display/ParallaxBarrierPassNode.d.ts +1 -1
- three/examples/jsm/tsl/display/PixelationPassNode.d.ts +2 -2
- three/examples/jsm/tsl/display/RGBShiftNode.d.ts +2 -1
- three/examples/jsm/tsl/display/SMAANode.d.ts +2 -1
- three/examples/jsm/tsl/display/SSAAPassNode.d.ts +2 -2
- three/examples/jsm/tsl/display/SSRNode.d.ts +2 -2
- three/examples/jsm/tsl/display/Sepia.d.ts +2 -1
- three/examples/jsm/tsl/display/SobelOperatorNode.d.ts +2 -1
- three/examples/jsm/tsl/display/StereoCompositePassNode.d.ts +1 -2
- three/examples/jsm/tsl/display/StereoPassNode.d.ts +2 -2
- three/examples/jsm/tsl/display/TRAAPassNode.d.ts +2 -2
- three/examples/jsm/tsl/display/TransitionNode.d.ts +2 -1
- three/examples/jsm/tsl/display/hashBlur.d.ts +2 -1
- three/examples/jsm/tsl/lighting/TiledLightsNode.d.ts +2 -1
- three/examples/jsm/utils/ShadowMapViewer.d.ts +2 -2
- three/package.json +4 -4
- three/src/Three.Core.d.ts +159 -0
- three/src/Three.TSL.d.ts +533 -0
- three/src/Three.WebGPU.Nodes.d.ts +14 -195
- three/src/Three.WebGPU.d.ts +14 -196
- three/src/Three.d.ts +2 -158
- three/src/animation/AnimationClip.d.ts +3 -1
- three/src/cameras/CubeCamera.d.ts +19 -2
- three/src/core/Clock.d.ts +4 -6
- three/src/core/InterleavedBuffer.d.ts +12 -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 +9 -5
- 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/LineDashedNodeMaterial.d.ts +3 -0
- three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +6 -6
- three/src/materials/nodes/NodeMaterial.d.ts +7 -1
- three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +56 -0
- three/src/nodes/Nodes.d.ts +2 -7
- three/src/nodes/TSL.d.ts +10 -5
- three/src/nodes/accessors/Arrays.d.ts +7 -0
- three/src/nodes/accessors/BufferAttributeNode.d.ts +117 -0
- three/src/nodes/accessors/BufferNode.d.ts +4 -4
- three/src/nodes/accessors/BuiltinNode.d.ts +14 -0
- three/src/nodes/accessors/ClippingNode.d.ts +6 -0
- three/src/nodes/accessors/InstanceNode.d.ts +15 -3
- three/src/nodes/accessors/InstancedMeshNode.d.ts +11 -0
- three/src/nodes/accessors/Lights.d.ts +15 -0
- three/src/nodes/accessors/MaterialNode.d.ts +3 -3
- 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 +25 -12
- three/src/nodes/accessors/StorageTextureNode.d.ts +5 -3
- three/src/nodes/accessors/TextureNode.d.ts +5 -0
- three/src/nodes/accessors/UniformArrayNode.d.ts +3 -2
- three/src/nodes/core/IndexNode.d.ts +2 -0
- three/src/nodes/core/Node.d.ts +237 -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 +21 -0
- three/src/nodes/core/NodeParser.d.ts +11 -0
- three/src/nodes/core/NodeUniform.d.ts +28 -0
- three/src/nodes/core/NodeUtils.d.ts +7 -0
- three/src/nodes/core/NodeVar.d.ts +12 -0
- three/src/nodes/core/NodeVarying.d.ts +14 -0
- three/src/nodes/core/StackNode.d.ts +6 -1
- three/src/nodes/core/StructTypeNode.d.ts +19 -1
- three/src/nodes/core/UniformNode.d.ts +44 -0
- three/src/nodes/core/VaryingNode.d.ts +3 -0
- three/src/nodes/core/constants.d.ts +41 -0
- three/src/nodes/display/BlendModes.d.ts +32 -0
- three/src/nodes/display/PassNode.d.ts +1 -1
- three/src/nodes/display/ScreenNode.d.ts +5 -0
- three/src/nodes/display/ViewportDepthNode.d.ts +3 -1
- three/src/nodes/fog/Fog.d.ts +26 -0
- three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +88 -0
- three/src/nodes/gpgpu/BarrierNode.d.ts +12 -0
- three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts +13 -0
- three/src/nodes/gpgpu/ComputeNode.d.ts +6 -1
- three/src/nodes/gpgpu/WorkgroupInfoNode.d.ts +19 -0
- three/src/nodes/lighting/AnalyticLightNode.d.ts +11 -0
- three/src/nodes/lighting/LightsNode.d.ts +2 -2
- three/src/nodes/lighting/PointLightNode.d.ts +3 -0
- three/src/nodes/lighting/PointShadowNode.d.ts +30 -0
- three/src/nodes/lighting/ShadowBaseNode.d.ts +15 -0
- three/src/nodes/lighting/ShadowNode.d.ts +28 -4
- three/src/nodes/math/MathNode.d.ts +13 -4
- three/src/nodes/math/OperatorNode.d.ts +3 -0
- three/src/nodes/tsl/TSLBase.d.ts +5 -0
- three/src/nodes/tsl/TSLCore.d.ts +51 -16
- three/src/nodes/utils/EquirectUVNode.d.ts +2 -2
- three/src/nodes/utils/LoopNode.d.ts +23 -2
- three/src/nodes/utils/SplitNode.d.ts +1 -1
- three/src/objects/BatchedMesh.d.ts +4 -4
- three/src/objects/ClippingGroup.d.ts +41 -0
- three/src/renderers/WebGLRenderer.d.ts +10 -8
- three/src/renderers/common/Animation.d.ts +41 -4
- 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 +31 -1
- three/src/renderers/common/ClippingContext.d.ts +61 -14
- three/src/renderers/common/Color4.d.ts +36 -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 +27 -0
- three/src/renderers/common/Pipeline.d.ts +11 -0
- three/src/renderers/common/Pipelines.d.ts +104 -0
- 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 +22 -0
- three/src/renderers/common/RenderContexts.d.ts +42 -3
- three/src/renderers/common/RenderList.d.ts +90 -0
- three/src/renderers/common/RenderLists.d.ts +21 -0
- three/src/renderers/common/RenderObject.d.ts +160 -5
- three/src/renderers/common/RenderObjects.d.ts +56 -0
- three/src/renderers/common/RenderPipeline.d.ts +13 -0
- three/src/renderers/common/Renderer.d.ts +596 -6
- 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/Uniform.d.ts +106 -0
- three/src/renderers/common/UniformBuffer.d.ts +12 -0
- three/src/renderers/common/UniformsGroup.d.ts +104 -0
- three/src/renderers/common/extras/PMREMGenerator.d.ts +15 -1
- three/src/renderers/common/nodes/NodeBuilderState.d.ts +30 -0
- three/src/renderers/common/nodes/NodeLibrary.d.ts +73 -4
- three/src/renderers/common/nodes/NodeUniform.d.ts +161 -0
- three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +14 -2
- three/src/renderers/common/nodes/Nodes.d.ts +185 -11
- three/src/renderers/webgl/WebGLState.d.ts +1 -1
- three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +10 -0
- three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +11 -0
- three/src/textures/Data3DTexture.d.ts +4 -2
- three/src/textures/DataArrayTexture.d.ts +1 -1
- three/src/textures/DataTexture.d.ts +7 -2
- three/src/textures/Texture.d.ts +3 -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/nodes/core/UniformGroup.d.ts +0 -7
- three/src/nodes/display/BlendMode.d.ts +0 -10
- 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
- three/src/nodes/lighting/LightNode.d.ts +0 -18
- three/src/textures/types.d.ts +0 -9
|
@@ -17,8 +17,15 @@ export const hashArray: (array: number[]) => number;
|
|
|
17
17
|
export const hash: (...params: number[]) => number;
|
|
18
18
|
|
|
19
19
|
export function getCacheKey(object: Node, force?: boolean): number;
|
|
20
|
+
|
|
20
21
|
export function getNodeChildren(object: Node): Generator<NodeChild, void>;
|
|
22
|
+
|
|
23
|
+
export function getTypeFromLength(length: number): string | undefined;
|
|
24
|
+
|
|
25
|
+
export function getLengthFromType(type: string): number | undefined;
|
|
26
|
+
|
|
21
27
|
export function getValueType(value: unknown): string | null;
|
|
28
|
+
|
|
22
29
|
export function getValueFromType(
|
|
23
30
|
type: string,
|
|
24
31
|
...params: number[]
|
|
@@ -1,7 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* {@link NodeBuilder} is going to create instances of this class during the build process
|
|
3
|
+
* of nodes. They represent the final shader variables that are going to be generated
|
|
4
|
+
* by the builder. A dictionary of node variables is maintained in {@link NodeBuilder#vars} for
|
|
5
|
+
* this purpose.
|
|
6
|
+
*/
|
|
1
7
|
declare class NodeVar {
|
|
2
8
|
readonly isNodeVar: true;
|
|
3
9
|
name: string;
|
|
4
10
|
type: string | null;
|
|
11
|
+
/**
|
|
12
|
+
* Constructs a new node variable.
|
|
13
|
+
*
|
|
14
|
+
* @param {String} name - The name of the variable.
|
|
15
|
+
* @param {String} type - The type of the variable.
|
|
16
|
+
*/
|
|
5
17
|
constructor(name: string, type: string | null);
|
|
6
18
|
}
|
|
7
19
|
export default NodeVar;
|
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
import NodeVar from "./NodeVar.js";
|
|
2
|
+
/**
|
|
3
|
+
* {@link NodeBuilder} is going to create instances of this class during the build process
|
|
4
|
+
* of nodes. They represent the final shader varyings that are going to be generated
|
|
5
|
+
* by the builder. An array of node varyings is maintained in {@link NodeBuilder#varyings} for
|
|
6
|
+
* this purpose.
|
|
7
|
+
*
|
|
8
|
+
* @augments NodeVar
|
|
9
|
+
*/
|
|
2
10
|
declare class NodeVarying extends NodeVar {
|
|
3
11
|
needsInterpolation: boolean;
|
|
4
12
|
readonly isNodeVarying: true;
|
|
13
|
+
/**
|
|
14
|
+
* Constructs a new node varying.
|
|
15
|
+
*
|
|
16
|
+
* @param {String} name - The name of the varying.
|
|
17
|
+
* @param {String} type - The type of the varying.
|
|
18
|
+
*/
|
|
5
19
|
constructor(name: string, type: string | null);
|
|
6
20
|
}
|
|
7
21
|
export default NodeVarying;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
1
2
|
import Node from "./Node.js";
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
declare class StackNode extends Node {
|
|
4
5
|
isStackNode: true;
|
|
5
6
|
nodes: Node[];
|
|
6
7
|
outputNode: Node | null;
|
|
@@ -25,3 +26,7 @@ export default class StackNode extends Node {
|
|
|
25
26
|
*/
|
|
26
27
|
else(method: () => void): this;
|
|
27
28
|
}
|
|
29
|
+
|
|
30
|
+
export default StackNode;
|
|
31
|
+
|
|
32
|
+
export const stack: () => ShaderNodeObject<StackNode>;
|
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import Node from "./Node.js";
|
|
2
|
+
/**
|
|
3
|
+
* {@link NodeBuilder} is going to create instances of this class during the build process
|
|
4
|
+
* of nodes. They represent the final shader struct data that are going to be generated
|
|
5
|
+
* by the builder. A dictionary of struct types is maintained in {@link NodeBuilder#structs}
|
|
6
|
+
* for this purpose.
|
|
7
|
+
*/
|
|
2
8
|
declare class StructTypeNode extends Node {
|
|
3
9
|
static get type(): string;
|
|
10
|
+
name: string;
|
|
4
11
|
types: string[];
|
|
5
12
|
readonly isStructTypeNode: true;
|
|
6
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Constructs a new struct type node.
|
|
15
|
+
*
|
|
16
|
+
* @param {String} name - The name of the struct.
|
|
17
|
+
* @param {Array<String>} types - An array of types.
|
|
18
|
+
*/
|
|
19
|
+
constructor(name: string, types: string[]);
|
|
20
|
+
/**
|
|
21
|
+
* Returns the member types.
|
|
22
|
+
*
|
|
23
|
+
* @return {Array<String>} The types.
|
|
24
|
+
*/
|
|
7
25
|
getMemberTypes(): string[];
|
|
8
26
|
}
|
|
9
27
|
export default StructTypeNode;
|
|
@@ -4,20 +4,64 @@ import Node from "./Node.js";
|
|
|
4
4
|
import NodeBuilder from "./NodeBuilder.js";
|
|
5
5
|
import NodeFrame from "./NodeFrame.js";
|
|
6
6
|
import UniformGroupNode from "./UniformGroupNode.js";
|
|
7
|
+
/** @module UniformNode **/
|
|
8
|
+
/**
|
|
9
|
+
* Class for representing a uniform.
|
|
10
|
+
*
|
|
11
|
+
* @augments InputNode
|
|
12
|
+
*/
|
|
7
13
|
declare class UniformNode<TValue> extends InputNode<TValue> {
|
|
8
14
|
static get type(): string;
|
|
9
15
|
readonly isUniformNode: true;
|
|
10
16
|
name: string;
|
|
11
17
|
groupNode: UniformGroupNode;
|
|
18
|
+
/**
|
|
19
|
+
* Constructs a new uniform node.
|
|
20
|
+
*
|
|
21
|
+
* @param {Any} value - The value of this node. Usually a JS primitive or three.js object (vector, matrix, color, texture).
|
|
22
|
+
* @param {String?} nodeType - The node type. If no explicit type is defined, the node tries to derive the type from its value.
|
|
23
|
+
*/
|
|
12
24
|
constructor(value: TValue, nodeType?: string | null);
|
|
25
|
+
/**
|
|
26
|
+
* Sets the {@link UniformNode#name} property.
|
|
27
|
+
*
|
|
28
|
+
* @param {String} name - The name of the uniform.
|
|
29
|
+
* @return {UniformNode} A reference to this node.
|
|
30
|
+
*/
|
|
13
31
|
label(name: string): this;
|
|
32
|
+
/**
|
|
33
|
+
* Sets the {@link UniformNode#groupNode} property.
|
|
34
|
+
*
|
|
35
|
+
* @param {UniformGroupNode} group - The uniform group.
|
|
36
|
+
* @return {UniformNode} A reference to this node.
|
|
37
|
+
*/
|
|
14
38
|
setGroup(group: UniformGroupNode): this;
|
|
39
|
+
/**
|
|
40
|
+
* Returns the {@link UniformNode#groupNode}.
|
|
41
|
+
*
|
|
42
|
+
* @return {UniformGroupNode} The uniform group.
|
|
43
|
+
*/
|
|
15
44
|
getGroup(): UniformGroupNode;
|
|
45
|
+
/**
|
|
46
|
+
* By default, this method returns the result of {@link Node#getHash} but derived
|
|
47
|
+
* classes might overwrite this method with a different implementation.
|
|
48
|
+
*
|
|
49
|
+
* @param {NodeBuilder} builder - The current node builder.
|
|
50
|
+
* @return {String} The uniform hash.
|
|
51
|
+
*/
|
|
16
52
|
getUniformHash(builder: NodeBuilder): string;
|
|
17
53
|
onUpdate(callback: (frame: NodeFrame, self: this) => TValue | undefined, updateType: NodeUpdateType): this;
|
|
18
54
|
generate(builder: NodeBuilder, output: string | null): string;
|
|
19
55
|
}
|
|
20
56
|
export default UniformNode;
|
|
57
|
+
/**
|
|
58
|
+
* TSL function for creating a uniform node.
|
|
59
|
+
*
|
|
60
|
+
* @function
|
|
61
|
+
* @param {Any} arg1 - The value of this node. Usually a JS primitive or three.js object (vector, matrix, color, texture).
|
|
62
|
+
* @param {String?} arg2 - The node type. If no explicit type is defined, the node tries to derive the type from its value.
|
|
63
|
+
* @returns {UniformNode}
|
|
64
|
+
*/
|
|
21
65
|
export declare const uniform: <TValue>(
|
|
22
66
|
arg1: InputNode<TValue> | TValue,
|
|
23
67
|
arg2?: Node | string,
|
|
@@ -14,8 +14,11 @@ export default class VaryingNode extends Node {
|
|
|
14
14
|
|
|
15
15
|
export const varying: (node: NodeRepresentation, name?: string) => ShaderNodeObject<VaryingNode>;
|
|
16
16
|
|
|
17
|
+
export const vertexStage: (node: NodeRepresentation) => ShaderNodeObject<VaryingNode>;
|
|
18
|
+
|
|
17
19
|
declare module "../tsl/TSLCore.js" {
|
|
18
20
|
interface NodeElements {
|
|
19
21
|
varying: typeof varying;
|
|
22
|
+
vertexStage: typeof vertexStage;
|
|
20
23
|
}
|
|
21
24
|
}
|
|
@@ -1,13 +1,41 @@
|
|
|
1
|
+
/** @module NodeConstants **/
|
|
2
|
+
/**
|
|
3
|
+
* Possible shader stages.
|
|
4
|
+
*
|
|
5
|
+
* @property {string} VERTEX The vertex shader stage.
|
|
6
|
+
* @property {string} FRAGMENT The fragment shader stage.
|
|
7
|
+
*/
|
|
1
8
|
export declare const NodeShaderStage: {
|
|
2
9
|
readonly VERTEX: "vertex";
|
|
3
10
|
readonly FRAGMENT: "fragment";
|
|
4
11
|
};
|
|
12
|
+
/**
|
|
13
|
+
* Update types of a node.
|
|
14
|
+
*
|
|
15
|
+
* @property {string} NONE The update method is not executed.
|
|
16
|
+
* @property {string} FRAME The update method is executed per frame.
|
|
17
|
+
* @property {string} RENDER The update method is executed per render. A frame might be produced by multiple render calls so this value allows more detailed updates than FRAME.
|
|
18
|
+
* @property {string} OBJECT The update method is executed per {@link Object3D} that uses the node for rendering.
|
|
19
|
+
*/
|
|
5
20
|
export declare const NodeUpdateType: {
|
|
6
21
|
readonly NONE: "none";
|
|
7
22
|
readonly FRAME: "frame";
|
|
8
23
|
readonly RENDER: "render";
|
|
9
24
|
readonly OBJECT: "object";
|
|
10
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* Data types of a node.
|
|
28
|
+
*
|
|
29
|
+
* @property {string} BOOLEAN Boolean type.
|
|
30
|
+
* @property {string} INTEGER Integer type.
|
|
31
|
+
* @property {string} FLOAT Float type.
|
|
32
|
+
* @property {string} VECTOR2 Two-dimensional vector type.
|
|
33
|
+
* @property {string} VECTOR3 Three-dimensional vector type.
|
|
34
|
+
* @property {string} VECTOR4 Four-dimensional vector type.
|
|
35
|
+
* @property {string} MATRIX2 2x2 matrix type.
|
|
36
|
+
* @property {string} MATRIX3 3x3 matrix type.
|
|
37
|
+
* @property {string} MATRIX4 4x4 matrix type.
|
|
38
|
+
*/
|
|
11
39
|
export declare const NodeType: {
|
|
12
40
|
readonly BOOLEAN: "bool";
|
|
13
41
|
readonly INTEGER: "int";
|
|
@@ -19,8 +47,21 @@ export declare const NodeType: {
|
|
|
19
47
|
readonly MATRIX3: "mat3";
|
|
20
48
|
readonly MATRIX4: "mat4";
|
|
21
49
|
};
|
|
50
|
+
/**
|
|
51
|
+
* Access types of a node. These are relevant for compute and storage usage.
|
|
52
|
+
*
|
|
53
|
+
* @property {string} READ_ONLY Read-only access
|
|
54
|
+
* @property {string} WRITE_ONLY Write-only access.
|
|
55
|
+
* @property {string} READ_WRITE Read and write access.
|
|
56
|
+
*/
|
|
57
|
+
export declare const NodeAccess: {
|
|
58
|
+
readonly READ_ONLY: "readOnly";
|
|
59
|
+
readonly WRITE_ONLY: "writeOnly";
|
|
60
|
+
readonly READ_WRITE: "readWrite";
|
|
61
|
+
};
|
|
22
62
|
export type NodeShaderStage = "vertex" | "fragment" | "compute";
|
|
23
63
|
export type NodeUpdateType = "none" | "frame" | "render" | "object";
|
|
64
|
+
export type NodeAccess = "readOnly" | "writeOnly" | "readWrite";
|
|
24
65
|
export declare const defaultShaderStages: NodeShaderStage[];
|
|
25
66
|
export declare const defaultBuildStages: string[];
|
|
26
67
|
export declare const shaderStages: NodeShaderStage[];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import Node from "../core/Node.js";
|
|
2
|
+
import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
3
|
+
|
|
4
|
+
export const blendBurn: (base: NodeRepresentation, blend: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
5
|
+
|
|
6
|
+
export const blendDodge: (base: NodeRepresentation, blend: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
7
|
+
|
|
8
|
+
export const blendScreen: (base: NodeRepresentation, blend: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
9
|
+
|
|
10
|
+
export const blendOverlay: (base: NodeRepresentation, blend: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
11
|
+
|
|
12
|
+
export const blendColor: (base: NodeRepresentation, blend: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated
|
|
16
|
+
*/
|
|
17
|
+
export const burn: (base: NodeRepresentation, blend: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated
|
|
21
|
+
*/
|
|
22
|
+
export const dodge: (base: NodeRepresentation, blend: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated
|
|
26
|
+
*/
|
|
27
|
+
export const screen: (base: NodeRepresentation, blend: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated
|
|
31
|
+
*/
|
|
32
|
+
export const overlay: (base: NodeRepresentation, blend: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
@@ -68,4 +68,4 @@ export default PassNode;
|
|
|
68
68
|
|
|
69
69
|
export const pass: (scene: Scene, camera: Camera, options?: RenderTargetOptions) => ShaderNodeObject<PassNode>;
|
|
70
70
|
export const passTexture: (pass: PassNode, texture: Texture) => ShaderNodeObject<PassTextureNode>;
|
|
71
|
-
export const depthPass: (scene: Scene, camera: Camera) => ShaderNodeObject<PassNode>;
|
|
71
|
+
export const depthPass: (scene: Scene, camera: Camera, options?: RenderTargetOptions) => ShaderNodeObject<PassNode>;
|
|
@@ -37,6 +37,11 @@ export const viewportUV: ShaderNodeObject<Node>;
|
|
|
37
37
|
|
|
38
38
|
// Deprecated
|
|
39
39
|
|
|
40
|
+
/**
|
|
41
|
+
* @deprecated "viewportResolution" is deprecated. Use "screenSize" instead.
|
|
42
|
+
*/
|
|
43
|
+
export const viewportResolution: ShaderNodeObject<ScreenNode>;
|
|
44
|
+
|
|
40
45
|
/**
|
|
41
46
|
* @deprecated "viewportTopLeft" is deprecated. Use "viewportUV" instead.
|
|
42
47
|
*/
|
|
@@ -29,7 +29,9 @@ export const viewZToPerspectiveDepth: (viewZ: Node, near: Node, far: Node) => No
|
|
|
29
29
|
|
|
30
30
|
export const perspectiveDepthToViewZ: (depth: Node, near: Node, far: Node) => Node;
|
|
31
31
|
|
|
32
|
-
export const
|
|
32
|
+
export const viewZToLogarithmicDepth: (viewZ: Node, near: Node, far: Node) => Node;
|
|
33
|
+
|
|
34
|
+
export const logarithmicDepthToViewZ: (depth: Node, near: Node, far: Node) => Node;
|
|
33
35
|
|
|
34
36
|
export const depth: ShaderNodeObject<ViewportDepthNode>;
|
|
35
37
|
export const linearDepth: (valueNode?: Node | null) => ShaderNodeObject<ViewportDepthNode>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import Node from "../core/Node.js";
|
|
2
|
+
import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
3
|
+
|
|
4
|
+
export const rangeFogFactor: (near: NodeRepresentation, far: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
5
|
+
|
|
6
|
+
export const densityFogFactor: (density: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
7
|
+
|
|
8
|
+
export const fog: (color: NodeRepresentation, factor: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated
|
|
12
|
+
*/
|
|
13
|
+
export function rangeFog(
|
|
14
|
+
color: NodeRepresentation,
|
|
15
|
+
near: NodeRepresentation,
|
|
16
|
+
far: NodeRepresentation,
|
|
17
|
+
): ShaderNodeObject<Node>;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated
|
|
21
|
+
*/
|
|
22
|
+
export function densityFog(
|
|
23
|
+
color: NodeRepresentation,
|
|
24
|
+
near: NodeRepresentation,
|
|
25
|
+
far: NodeRepresentation,
|
|
26
|
+
): ShaderNodeObject<Node>;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import Node from "../core/Node.js";
|
|
2
|
+
import TempNode from "../core/TempNode.js";
|
|
3
|
+
import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
4
|
+
|
|
5
|
+
export type AtomicMethod =
|
|
6
|
+
| typeof AtomicFunctionNode.ATOMIC_LOAD
|
|
7
|
+
| typeof AtomicFunctionNode.ATOMIC_STORE
|
|
8
|
+
| typeof AtomicFunctionNode.ATOMIC_ADD
|
|
9
|
+
| typeof AtomicFunctionNode.ATOMIC_SUB
|
|
10
|
+
| typeof AtomicFunctionNode.ATOMIC_MAX
|
|
11
|
+
| typeof AtomicFunctionNode.ATOMIC_MIN
|
|
12
|
+
| typeof AtomicFunctionNode.ATOMIC_AND
|
|
13
|
+
| typeof AtomicFunctionNode.ATOMIC_OR
|
|
14
|
+
| typeof AtomicFunctionNode.ATOMIC_XOR;
|
|
15
|
+
|
|
16
|
+
declare class AtomicFunctionNode extends TempNode {
|
|
17
|
+
method: AtomicMethod;
|
|
18
|
+
pointerNode: Node;
|
|
19
|
+
valueNode: Node;
|
|
20
|
+
storeNode: Node;
|
|
21
|
+
|
|
22
|
+
constructor(method: AtomicMethod, pointerNode: Node, valueNode: Node, storeNode?: Node | null);
|
|
23
|
+
|
|
24
|
+
static ATOMIC_LOAD: "atomicLoad";
|
|
25
|
+
static ATOMIC_STORE: "atomicStore";
|
|
26
|
+
static ATOMIC_ADD: "atomicAdd";
|
|
27
|
+
static ATOMIC_SUB: "atomicSub";
|
|
28
|
+
static ATOMIC_MAX: "atomicMax";
|
|
29
|
+
static ATOMIC_MIN: "atomicMin";
|
|
30
|
+
static ATOMIC_AND: "atomicAnd";
|
|
31
|
+
static ATOMIC_OR: "atomicOr";
|
|
32
|
+
static ATOMIC_XOR: "atomicXor";
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export const atomicFunc: (
|
|
36
|
+
method: AtomicMethod,
|
|
37
|
+
pointerNode: NodeRepresentation,
|
|
38
|
+
valueNode: NodeRepresentation,
|
|
39
|
+
storeNode?: NodeRepresentation | null,
|
|
40
|
+
) => ShaderNodeObject<AtomicFunctionNode>;
|
|
41
|
+
|
|
42
|
+
export const atomicStore: (
|
|
43
|
+
pointerNode: NodeRepresentation,
|
|
44
|
+
valueNode: NodeRepresentation,
|
|
45
|
+
storeNode?: NodeRepresentation | null,
|
|
46
|
+
) => ShaderNodeObject<AtomicFunctionNode>;
|
|
47
|
+
|
|
48
|
+
export const atomicAdd: (
|
|
49
|
+
pointerNode: NodeRepresentation,
|
|
50
|
+
valueNode: NodeRepresentation,
|
|
51
|
+
storeNode?: NodeRepresentation | null,
|
|
52
|
+
) => ShaderNodeObject<AtomicFunctionNode>;
|
|
53
|
+
|
|
54
|
+
export const atomicSub: (
|
|
55
|
+
pointerNode: NodeRepresentation,
|
|
56
|
+
valueNode: NodeRepresentation,
|
|
57
|
+
storeNode?: NodeRepresentation | null,
|
|
58
|
+
) => ShaderNodeObject<AtomicFunctionNode>;
|
|
59
|
+
|
|
60
|
+
export const atomicMax: (
|
|
61
|
+
pointerNode: NodeRepresentation,
|
|
62
|
+
valueNode: NodeRepresentation,
|
|
63
|
+
storeNode?: NodeRepresentation | null,
|
|
64
|
+
) => ShaderNodeObject<AtomicFunctionNode>;
|
|
65
|
+
|
|
66
|
+
export const atomicMin: (
|
|
67
|
+
pointerNode: NodeRepresentation,
|
|
68
|
+
valueNode: NodeRepresentation,
|
|
69
|
+
storeNode?: NodeRepresentation | null,
|
|
70
|
+
) => ShaderNodeObject<AtomicFunctionNode>;
|
|
71
|
+
|
|
72
|
+
export const atomicAnd: (
|
|
73
|
+
pointerNode: NodeRepresentation,
|
|
74
|
+
valueNode: NodeRepresentation,
|
|
75
|
+
storeNode?: NodeRepresentation | null,
|
|
76
|
+
) => ShaderNodeObject<AtomicFunctionNode>;
|
|
77
|
+
|
|
78
|
+
export const atomicOr: (
|
|
79
|
+
pointerNode: NodeRepresentation,
|
|
80
|
+
valueNode: NodeRepresentation,
|
|
81
|
+
storeNode?: NodeRepresentation | null,
|
|
82
|
+
) => ShaderNodeObject<AtomicFunctionNode>;
|
|
83
|
+
|
|
84
|
+
export const atomicXor: (
|
|
85
|
+
pointerNode: NodeRepresentation,
|
|
86
|
+
valueNode: NodeRepresentation,
|
|
87
|
+
storeNode?: NodeRepresentation | null,
|
|
88
|
+
) => ShaderNodeObject<AtomicFunctionNode>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Node from "../core/Node.js";
|
|
2
|
+
import { ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
3
|
+
|
|
4
|
+
declare class BarrierNode extends Node {
|
|
5
|
+
scope: string;
|
|
6
|
+
|
|
7
|
+
constructor(scope: string);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const workgroupBarrier: () => ShaderNodeObject<Node>;
|
|
11
|
+
export const storageBarrier: () => ShaderNodeObject<Node>;
|
|
12
|
+
export const textureBarrier: () => ShaderNodeObject<Node>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Node from "../core/Node.js";
|
|
2
|
+
import { ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
3
|
+
|
|
4
|
+
declare class ComputeBuiltinNode extends Node {
|
|
5
|
+
constructor(builtinName: string, nodeType: string);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export default ComputeBuiltinNode;
|
|
9
|
+
|
|
10
|
+
export const numWorkgroups: ShaderNodeObject<ComputeBuiltinNode>;
|
|
11
|
+
export const workgroupId: ShaderNodeObject<ComputeBuiltinNode>;
|
|
12
|
+
export const localId: ShaderNodeObject<ComputeBuiltinNode>;
|
|
13
|
+
export const subgroupSize: ShaderNodeObject<ComputeBuiltinNode>;
|
|
@@ -8,18 +8,23 @@ export default class ComputeNode extends Node {
|
|
|
8
8
|
count: number;
|
|
9
9
|
workgroupSize: number[];
|
|
10
10
|
dispatchCount: number;
|
|
11
|
+
name: string;
|
|
11
12
|
|
|
12
13
|
onInitFunction: ((args: { renderer: Renderer }) => void) | null;
|
|
13
14
|
|
|
14
15
|
constructor(computeNode: Node, count: number, workgroupSize?: number[]);
|
|
15
16
|
|
|
17
|
+
label(name: string): void;
|
|
18
|
+
|
|
19
|
+
updateDispatchCount(): void;
|
|
20
|
+
|
|
16
21
|
onInit(callback: ((args: { renderer: Renderer }) => void) | null): void;
|
|
17
22
|
}
|
|
18
23
|
|
|
19
24
|
export const compute: (
|
|
20
25
|
node: NodeRepresentation,
|
|
21
26
|
count: number,
|
|
22
|
-
workgroupSize
|
|
27
|
+
workgroupSize?: number[],
|
|
23
28
|
) => ShaderNodeObject<ComputeNode>;
|
|
24
29
|
|
|
25
30
|
declare module "../tsl/TSLCore.js" {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import Node from "../core/Node.js";
|
|
2
|
+
import { ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
3
|
+
|
|
4
|
+
declare class WorkgroupInfoNode extends Node {
|
|
5
|
+
bufferType: string;
|
|
6
|
+
bufferCount: number;
|
|
7
|
+
|
|
8
|
+
readonly isWorkgroupInfoNode: true;
|
|
9
|
+
|
|
10
|
+
elementType: string;
|
|
11
|
+
|
|
12
|
+
scope: string;
|
|
13
|
+
|
|
14
|
+
constructor(scope: string, bufferType: string, bufferCount?: number);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default WorkgroupInfoNode;
|
|
18
|
+
|
|
19
|
+
export const workgroupArray: (type: string, count?: number) => ShaderNodeObject<WorkgroupInfoNode>;
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import { Light } from "../../lights/Light.js";
|
|
2
|
+
import Node from "../core/Node.js";
|
|
3
|
+
import { ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
2
4
|
import LightingNode from "./LightingNode.js";
|
|
5
|
+
import ShadowNode from "./ShadowNode.js";
|
|
6
|
+
|
|
7
|
+
declare module "../../lights/LightShadow.js" {
|
|
8
|
+
export interface LightShadow {
|
|
9
|
+
shadowNode?: Node;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
3
12
|
|
|
4
13
|
export default class AnalyticLightNode<T extends Light> extends LightingNode {
|
|
5
14
|
light: T | null;
|
|
6
15
|
|
|
7
16
|
constructor(light?: T | null);
|
|
17
|
+
|
|
18
|
+
setupShadowNode(): ShaderNodeObject<ShadowNode>;
|
|
8
19
|
}
|
|
@@ -2,14 +2,14 @@ import { Light } from "../../lights/Light.js";
|
|
|
2
2
|
import Node from "../core/Node.js";
|
|
3
3
|
import { NodeBuilder } from "../Nodes.js";
|
|
4
4
|
import { ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
5
|
-
import
|
|
5
|
+
import LightingNode from "./LightingNode.js";
|
|
6
6
|
|
|
7
7
|
declare class LightsNode extends Node {
|
|
8
8
|
constructor();
|
|
9
9
|
|
|
10
10
|
setupLightsNode(builder: NodeBuilder): void;
|
|
11
11
|
|
|
12
|
-
setupLights(builder: NodeBuilder, lightNodes:
|
|
12
|
+
setupLights(builder: NodeBuilder, lightNodes: LightingNode[]): void;
|
|
13
13
|
|
|
14
14
|
setLights(lights: Light[]): this;
|
|
15
15
|
|
|
@@ -2,6 +2,7 @@ import { PointLight } from "../../lights/PointLight.js";
|
|
|
2
2
|
import Node from "../core/Node.js";
|
|
3
3
|
import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
4
4
|
import AnalyticLightNode from "./AnalyticLightNode.js";
|
|
5
|
+
import PointShadowNode from "./PointShadowNode.js";
|
|
5
6
|
|
|
6
7
|
export const directPointLight: (
|
|
7
8
|
color: NodeRepresentation,
|
|
@@ -15,6 +16,8 @@ declare class PointLightNode extends AnalyticLightNode<PointLight> {
|
|
|
15
16
|
decayExponentNode: Node;
|
|
16
17
|
|
|
17
18
|
constructor(light?: PointLight | null);
|
|
19
|
+
|
|
20
|
+
setupShadowNode(): ShaderNodeObject<PointShadowNode>;
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
export default PointLightNode;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Light } from "../../lights/Light.js";
|
|
2
|
+
import { LightShadow } from "../../lights/LightShadow.js";
|
|
3
|
+
import Node from "../core/Node.js";
|
|
4
|
+
import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
5
|
+
import ShadowNode from "./ShadowNode.js";
|
|
6
|
+
|
|
7
|
+
export const cubeToUV: (pos: NodeRepresentation, texelSizeY: NodeRepresentation) => ShaderNodeObject<Node>;
|
|
8
|
+
|
|
9
|
+
export const BasicPointShadowFilter: (
|
|
10
|
+
depthTexture: NodeRepresentation,
|
|
11
|
+
bd3D: NodeRepresentation,
|
|
12
|
+
dp: NodeRepresentation,
|
|
13
|
+
texelSize: NodeRepresentation,
|
|
14
|
+
) => ShaderNodeObject<Node>;
|
|
15
|
+
|
|
16
|
+
export const PointShadowFilter: (
|
|
17
|
+
depthTexture: NodeRepresentation,
|
|
18
|
+
bd3D: NodeRepresentation,
|
|
19
|
+
dp: NodeRepresentation,
|
|
20
|
+
texelSize: NodeRepresentation,
|
|
21
|
+
shadow: NodeRepresentation,
|
|
22
|
+
) => ShaderNodeObject<Node>;
|
|
23
|
+
|
|
24
|
+
declare class PointShadowNode extends ShadowNode {
|
|
25
|
+
constructor(light: Light, shadow: LightShadow | null);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export default PointShadowNode;
|
|
29
|
+
|
|
30
|
+
export const pointShadow: (light: Light, shadow?: LightShadow | null) => ShaderNodeObject<PointShadowNode>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Light } from "../../lights/Light.js";
|
|
2
|
+
import Node from "../core/Node.js";
|
|
3
|
+
import { ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
4
|
+
|
|
5
|
+
declare class ShadowBaseNode extends Node {
|
|
6
|
+
light: Light;
|
|
7
|
+
|
|
8
|
+
readonly isShadowBasedNode: true;
|
|
9
|
+
|
|
10
|
+
constructor(light: Light);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const shadowPositionWorld: ShaderNodeObject<Node>;
|
|
14
|
+
|
|
15
|
+
export default ShadowBaseNode;
|
|
@@ -1,12 +1,36 @@
|
|
|
1
1
|
import { Light } from "../../lights/Light.js";
|
|
2
2
|
import { LightShadow } from "../../lights/LightShadow.js";
|
|
3
3
|
import Node from "../core/Node.js";
|
|
4
|
-
import { ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
4
|
+
import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
5
|
+
import ShadowBaseNode from "./ShadowBaseNode.js";
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
export const BasicShadowFilter: (
|
|
8
|
+
depthTexture: NodeRepresentation,
|
|
9
|
+
shadowCoord: NodeRepresentation,
|
|
10
|
+
) => ShaderNodeObject<Node>;
|
|
11
|
+
|
|
12
|
+
export const PCFShadowFilter: (
|
|
13
|
+
depthTexture: NodeRepresentation,
|
|
14
|
+
shadowCoord: NodeRepresentation,
|
|
15
|
+
shadow: NodeRepresentation,
|
|
16
|
+
) => ShaderNodeObject<Node>;
|
|
17
|
+
|
|
18
|
+
export const PCFSoftShadowFilter: (
|
|
19
|
+
depthTexture: NodeRepresentation,
|
|
20
|
+
shadowCoord: NodeRepresentation,
|
|
21
|
+
shadow: NodeRepresentation,
|
|
22
|
+
) => ShaderNodeObject<Node>;
|
|
23
|
+
|
|
24
|
+
export const VSMShadowFilter: (
|
|
25
|
+
depthTexture: NodeRepresentation,
|
|
26
|
+
shadowCoord: NodeRepresentation,
|
|
27
|
+
) => ShaderNodeObject<Node>;
|
|
28
|
+
|
|
29
|
+
declare class ShadowNode extends ShadowBaseNode {
|
|
30
|
+
constructor(light: Light, shadow: LightShadow | null);
|
|
8
31
|
}
|
|
9
32
|
|
|
10
33
|
export default ShadowNode;
|
|
11
34
|
|
|
12
|
-
export const shadow: (light: Light, shadow
|
|
35
|
+
export const shadow: (light: Light, shadow?: LightShadow) => ShaderNodeObject<ShadowNode>;
|
|
36
|
+
export const shadows: ShaderNodeObject<Node>;
|