@types/three 0.182.0 → 0.183.1
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 -3
- three/examples/jsm/controls/OrbitControls.d.ts +39 -0
- three/examples/jsm/effects/AnaglyphEffect.d.ts +4 -0
- three/examples/jsm/environments/ColorEnvironment.d.ts +9 -0
- three/examples/jsm/gpgpu/BitonicSort.d.ts +5 -5
- three/examples/jsm/helpers/AnimationPathHelper.d.ts +38 -0
- three/examples/jsm/helpers/ViewHelper.d.ts +4 -1
- three/examples/jsm/inspector/tabs/Parameters.d.ts +3 -0
- three/examples/jsm/inspector/ui/Item.d.ts +5 -0
- three/examples/jsm/libs/meshopt_decoder.module.d.ts +1 -1
- three/examples/jsm/lights/LightProbeGenerator.d.ts +11 -5
- three/examples/jsm/loaders/ColladaLoader.d.ts +27 -4
- three/examples/jsm/objects/SkyMesh.d.ts +11 -6
- three/examples/jsm/objects/Water2Mesh.d.ts +7 -7
- three/examples/jsm/objects/WaterMesh.d.ts +6 -6
- three/examples/jsm/postprocessing/EffectComposer.d.ts +9 -10
- three/examples/jsm/postprocessing/UnrealBloomPass.d.ts +4 -9
- three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +30 -0
- three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -1
- three/examples/jsm/tsl/display/BilateralBlurNode.d.ts +27 -0
- three/examples/jsm/tsl/display/BloomNode.d.ts +5 -5
- three/examples/jsm/tsl/display/CRT.d.ts +22 -0
- three/examples/jsm/tsl/display/DenoiseNode.d.ts +5 -5
- three/examples/jsm/tsl/display/DotScreenNode.d.ts +4 -6
- three/examples/jsm/tsl/display/GTAONode.d.ts +8 -8
- three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +4 -2
- three/examples/jsm/tsl/display/GodraysNode.d.ts +20 -0
- three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -6
- three/examples/jsm/tsl/display/Lut3DNode.d.ts +5 -5
- three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -1
- three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -6
- three/examples/jsm/tsl/display/PixelationPassNode.d.ts +10 -10
- three/examples/jsm/tsl/display/RGBShiftNode.d.ts +2 -2
- three/examples/jsm/tsl/display/RetroPassNode.d.ts +17 -0
- three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -1
- three/examples/jsm/tsl/display/SSGINode.d.ts +11 -11
- three/examples/jsm/tsl/display/SSRNode.d.ts +6 -6
- three/examples/jsm/tsl/display/SSSNode.d.ts +5 -5
- three/examples/jsm/tsl/display/Shape.d.ts +3 -0
- three/examples/jsm/tsl/display/TransitionNode.d.ts +3 -3
- three/examples/jsm/tsl/display/boxBlur.d.ts +1 -1
- three/examples/jsm/tsl/display/depthAwareBlend.d.ts +15 -0
- three/examples/jsm/tsl/display/hashBlur.d.ts +1 -1
- three/examples/jsm/tsl/math/Bayer.d.ts +2 -0
- three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -2
- three/package.json +3 -3
- three/src/Three.Core.d.ts +1 -1
- three/src/Three.TSL.d.ts +6 -11
- three/src/Three.WebGPU.Nodes.d.ts +2 -0
- three/src/Three.WebGPU.d.ts +3 -0
- three/src/Three.d.ts +2 -2
- three/src/animation/AnimationClip.d.ts +1 -1
- three/src/animation/KeyframeTrack.d.ts +19 -5
- three/src/animation/PropertyMixer.d.ts +5 -4
- three/src/audio/Audio.d.ts +224 -157
- three/src/audio/AudioAnalyser.d.ts +32 -27
- three/src/audio/AudioContext.d.ts +12 -12
- three/src/audio/AudioListener.d.ts +44 -65
- three/src/audio/PositionalAudio.d.ts +69 -62
- three/src/cameras/ArrayCamera.d.ts +21 -24
- three/src/cameras/Camera.d.ts +14 -53
- three/src/cameras/CubeCamera.d.ts +32 -28
- three/src/cameras/OrthographicCamera.d.ts +70 -100
- three/src/cameras/PerspectiveCamera.d.ts +133 -146
- three/src/cameras/StereoCamera.d.ts +24 -30
- three/src/constants.d.ts +14 -2
- three/src/core/Clock.d.ts +3 -0
- three/src/core/Object3D.d.ts +31 -7
- three/src/geometries/TorusGeometry.d.ts +22 -3
- three/src/helpers/ArrowHelper.d.ts +34 -50
- three/src/helpers/AxesHelper.d.ts +22 -36
- three/src/helpers/Box3Helper.d.ts +14 -25
- three/src/helpers/BoxHelper.d.ts +28 -39
- three/src/helpers/CameraHelper.d.ts +31 -52
- three/src/helpers/DirectionalLightHelper.d.ts +32 -53
- three/src/helpers/GridHelper.d.ts +15 -29
- three/src/helpers/HemisphereLightHelper.d.ts +26 -49
- three/src/helpers/PlaneHelper.d.ts +21 -33
- three/src/helpers/PointLightHelper.d.ts +25 -50
- three/src/helpers/PolarGridHelper.d.ts +19 -32
- three/src/helpers/SkeletonHelper.d.ts +26 -50
- three/src/helpers/SpotLightHelper.d.ts +28 -55
- three/src/lights/AmbientLight.d.ts +15 -23
- three/src/lights/DirectionalLight.d.ts +40 -82
- three/src/lights/DirectionalLightShadow.d.ts +6 -61
- three/src/lights/HemisphereLight.d.ts +20 -47
- three/src/lights/Light.d.ts +18 -48
- three/src/lights/LightProbe.d.ts +24 -29
- three/src/lights/LightShadow.d.ts +107 -91
- three/src/lights/PointLight.d.ts +36 -77
- three/src/lights/PointLightShadow.d.ts +9 -6
- three/src/lights/RectAreaLight.d.ts +39 -59
- three/src/lights/SpotLight.d.ts +62 -116
- three/src/lights/SpotLightShadow.d.ts +17 -59
- three/src/lights/webgpu/IESSpotLight.d.ts +13 -1
- three/src/lights/webgpu/ProjectorLight.d.ts +9 -10
- three/src/materials/MeshLambertMaterial.d.ts +6 -0
- three/src/materials/MeshPhongMaterial.d.ts +6 -0
- three/src/materials/nodes/Line2NodeMaterial.d.ts +0 -6
- three/src/materials/nodes/LineBasicNodeMaterial.d.ts +0 -4
- three/src/materials/nodes/MeshBasicNodeMaterial.d.ts +1 -2
- three/src/materials/nodes/MeshLambertNodeMaterial.d.ts +0 -2
- three/src/materials/nodes/MeshNormalNodeMaterial.d.ts +0 -2
- three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +5 -8
- three/src/materials/nodes/MeshToonNodeMaterial.d.ts +0 -4
- three/src/materials/nodes/NodeMaterial.d.ts +9 -3
- three/src/materials/nodes/SpriteNodeMaterial.d.ts +0 -3
- three/src/materials/nodes/VolumeNodeMaterial.d.ts +0 -2
- three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +39 -93
- three/src/math/Color.d.ts +1 -0
- three/src/math/Vector3.d.ts +2 -2
- three/src/math/interpolants/BezierInterpolant.d.ts +7 -0
- three/src/nodes/Nodes.d.ts +55 -35
- three/src/nodes/TSL.d.ts +2 -5
- three/src/nodes/accessors/Arrays.d.ts +19 -10
- three/src/nodes/accessors/BufferAttributeNode.d.ts +99 -33
- three/src/nodes/accessors/BufferNode.d.ts +21 -7
- three/src/nodes/accessors/Camera.d.ts +10 -10
- three/src/nodes/accessors/CubeTextureNode.d.ts +1 -1
- three/src/nodes/accessors/InstanceNode.d.ts +6 -0
- three/src/nodes/accessors/Lights.d.ts +9 -6
- three/src/nodes/accessors/MaterialNode.d.ts +1 -3
- three/src/nodes/accessors/MaterialProperties.d.ts +4 -4
- three/src/nodes/accessors/MaterialReferenceNode.d.ts +1 -1
- three/src/nodes/accessors/ModelNode.d.ts +34 -17
- three/src/nodes/accessors/MorphNode.d.ts +1 -1
- three/src/nodes/accessors/Normal.d.ts +13 -15
- three/src/nodes/accessors/Object3DNode.d.ts +35 -16
- three/src/nodes/accessors/Position.d.ts +9 -7
- three/src/nodes/accessors/ReferenceNode.d.ts +16 -7
- three/src/nodes/accessors/ReflectVector.d.ts +4 -5
- three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -1
- three/src/nodes/accessors/SceneProperties.d.ts +5 -0
- three/src/nodes/accessors/SkinningNode.d.ts +5 -3
- three/src/nodes/accessors/StorageBufferNode.d.ts +49 -22
- three/src/nodes/accessors/StorageTextureNode.d.ts +1 -1
- three/src/nodes/accessors/Tangent.d.ts +5 -7
- three/src/nodes/accessors/Texture3DNode.d.ts +1 -1
- three/src/nodes/accessors/TextureBicubic.d.ts +3 -2
- three/src/nodes/accessors/TextureNode.d.ts +19 -18
- three/src/nodes/accessors/UV.d.ts +1 -1
- three/src/nodes/accessors/UniformArrayNode.d.ts +10 -8
- three/src/nodes/accessors/UserDataNode.d.ts +1 -1
- three/src/nodes/accessors/VelocityNode.d.ts +3 -3
- three/src/nodes/accessors/VertexColorNode.d.ts +1 -1
- three/src/nodes/code/FunctionCallNode.d.ts +0 -1
- three/src/nodes/code/FunctionNode.d.ts +7 -3
- three/src/nodes/core/ArrayNode.d.ts +2 -3
- three/src/nodes/core/AttributeNode.d.ts +12 -6
- three/src/nodes/core/BypassNode.d.ts +2 -3
- three/src/nodes/core/ConstNode.d.ts +10 -3
- three/src/nodes/core/ContextNode.d.ts +23 -28
- three/src/nodes/core/IndexNode.d.ts +1 -1
- three/src/nodes/core/InputNode.d.ts +12 -4
- three/src/nodes/core/InspectorNode.d.ts +2 -3
- three/src/nodes/core/IsolateNode.d.ts +2 -7
- three/src/nodes/core/MRTNode.d.ts +7 -0
- three/src/nodes/core/Node.d.ts +258 -39
- three/src/nodes/core/NodeAttribute.d.ts +30 -5
- three/src/nodes/core/NodeBuilder.d.ts +5 -3
- three/src/nodes/core/NodeCache.d.ts +24 -48
- three/src/nodes/core/NodeError.d.ts +9 -0
- three/src/nodes/core/NodeParser.d.ts +2 -0
- three/src/nodes/core/NodeUniform.d.ts +33 -9
- three/src/nodes/core/NodeVar.d.ts +33 -5
- three/src/nodes/core/NodeVarying.d.ts +32 -4
- three/src/nodes/core/ParameterNode.d.ts +11 -4
- three/src/nodes/core/PropertyNode.d.ts +45 -35
- three/src/nodes/core/StackTrace.d.ts +9 -0
- three/src/nodes/core/StructType.d.ts +3 -1
- three/src/nodes/core/StructTypeNode.d.ts +19 -5
- three/src/nodes/core/TempNode.d.ts +9 -3
- three/src/nodes/core/UniformNode.d.ts +53 -15
- three/src/nodes/core/VarNode.d.ts +15 -14
- three/src/nodes/core/VaryingNode.d.ts +14 -19
- three/src/nodes/core/constants.d.ts +9 -4
- three/src/nodes/display/BlendModes.d.ts +7 -27
- three/src/nodes/display/ColorAdjustment.d.ts +8 -9
- three/src/nodes/display/ColorSpaceNode.d.ts +2 -8
- three/src/nodes/display/FrontFacingNode.d.ts +1 -1
- three/src/nodes/display/PassNode.d.ts +9 -5
- three/src/nodes/display/RenderOutputNode.d.ts +3 -7
- three/src/nodes/display/ScreenNode.d.ts +25 -17
- three/src/nodes/display/ToneMappingNode.d.ts +3 -7
- three/src/nodes/display/ViewportDepthNode.d.ts +11 -7
- three/src/nodes/display/ViewportTextureNode.d.ts +2 -0
- three/src/nodes/fog/Fog.d.ts +5 -3
- three/src/nodes/geometry/RangeNode.d.ts +51 -9
- three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +2 -0
- three/src/nodes/gpgpu/BarrierNode.d.ts +2 -0
- three/src/nodes/gpgpu/ComputeNode.d.ts +2 -7
- three/src/nodes/lighting/AnalyticLightNode.d.ts +1 -1
- three/src/nodes/lighting/HemisphereLightNode.d.ts +3 -2
- three/src/nodes/lighting/LightProbeNode.d.ts +1 -1
- three/src/nodes/lighting/LightUtils.d.ts +1 -1
- three/src/nodes/lighting/LightingContextNode.d.ts +1 -1
- three/src/nodes/lighting/SpotLightNode.d.ts +0 -6
- three/src/nodes/materialx/MaterialXNodes.d.ts +11 -11
- three/src/nodes/math/BitcountNode.d.ts +2 -0
- three/src/nodes/math/ConditionalNode.d.ts +43 -22
- three/src/nodes/math/Hash.d.ts +1 -1
- three/src/nodes/math/MathNode.d.ts +603 -267
- three/src/nodes/math/MathUtils.d.ts +9 -5
- three/src/nodes/math/OperatorNode.d.ts +490 -227
- three/src/nodes/math/TriNoise3D.d.ts +3 -3
- three/src/nodes/pmrem/PMREMNode.d.ts +1 -1
- three/src/nodes/procedural/Checker.d.ts +1 -1
- three/src/nodes/tsl/TSLCore.d.ts +1683 -224
- three/src/nodes/utils/ArrayElementNode.d.ts +9 -4
- three/src/nodes/utils/DebugNode.d.ts +2 -5
- three/src/nodes/utils/Discard.d.ts +2 -3
- three/src/nodes/utils/FlipNode.d.ts +11 -0
- three/src/nodes/utils/LoopNode.d.ts +17 -13
- three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -1
- three/src/nodes/utils/Oscillators.d.ts +4 -4
- three/src/nodes/utils/Packing.d.ts +3 -3
- three/src/nodes/utils/PostProcessingUtils.d.ts +5 -5
- three/src/nodes/utils/RemapNode.d.ts +33 -39
- three/src/nodes/utils/RotateNode.d.ts +17 -8
- three/src/nodes/utils/SplitNode.d.ts +1 -2
- three/src/nodes/utils/SpriteSheetUV.d.ts +7 -0
- three/src/nodes/utils/StorageArrayElementNode.d.ts +18 -9
- three/src/nodes/utils/Timer.d.ts +4 -4
- three/src/nodes/utils/TriplanarTextures.d.ts +2 -2
- three/src/nodes/utils/UVUtils.d.ts +6 -4
- three/src/objects/BatchedMesh.d.ts +6 -4
- three/src/objects/InstancedMesh.d.ts +32 -24
- three/src/renderers/WebGLRenderer.d.ts +4 -93
- three/src/renderers/common/Animation.d.ts +46 -9
- three/src/renderers/common/Attributes.d.ts +11 -13
- three/src/renderers/common/Backend.d.ts +0 -2
- three/src/renderers/common/Background.d.ts +17 -15
- three/src/renderers/common/BindGroup.d.ts +27 -13
- three/src/renderers/common/Binding.d.ts +15 -3
- three/src/renderers/common/Bindings.d.ts +41 -17
- three/src/renderers/common/BlendMode.d.ts +22 -0
- three/src/renderers/common/Buffer.d.ts +35 -11
- three/src/renderers/common/BufferUtils.d.ts +3 -4
- three/src/renderers/common/BundleGroup.d.ts +16 -6
- three/src/renderers/common/CanvasTarget.d.ts +76 -13
- three/src/renderers/common/ChainMap.d.ts +12 -9
- three/src/renderers/common/ClippingContext.d.ts +61 -10
- three/src/renderers/common/Color4.d.ts +10 -5
- three/src/renderers/common/ComputePipeline.d.ts +16 -2
- three/src/renderers/common/Constants.d.ts +5 -3
- three/src/renderers/common/CubeRenderTarget.d.ts +24 -7
- three/src/renderers/common/DataMap.d.ts +10 -18
- three/src/renderers/common/Geometries.d.ts +39 -20
- three/src/renderers/common/Info.d.ts +62 -9
- three/src/renderers/common/InspectorBase.d.ts +19 -7
- three/src/renderers/common/Lighting.d.ts +2 -6
- three/src/renderers/common/Pipeline.d.ts +14 -2
- three/src/renderers/common/Pipelines.d.ts +58 -60
- three/src/renderers/common/PostProcessing.d.ts +14 -17
- three/src/renderers/common/ProgrammableStage.d.ts +48 -8
- three/src/renderers/common/RenderBundle.d.ts +4 -2
- three/src/renderers/common/RenderBundles.d.ts +6 -3
- three/src/renderers/common/RenderContext.d.ts +175 -7
- three/src/renderers/common/RenderContexts.d.ts +20 -25
- three/src/renderers/common/RenderList.d.ts +77 -11
- three/src/renderers/common/RenderLists.d.ts +16 -4
- three/src/renderers/common/RenderObject.d.ts +223 -47
- three/src/renderers/common/RenderObjectPipeline.d.ts +33 -0
- three/src/renderers/common/RenderObjects.d.ts +55 -22
- three/src/renderers/common/RenderPipeline.d.ts +20 -17
- three/src/renderers/common/Renderer.d.ts +625 -207
- three/src/renderers/common/Textures.d.ts +24 -46
- three/src/renderers/common/TimestampQueryPool.d.ts +62 -8
- three/src/renderers/common/Uniform.d.ts +143 -58
- three/src/renderers/common/UniformBuffer.d.ts +7 -5
- three/src/renderers/common/UniformsGroup.d.ts +50 -35
- three/src/renderers/common/XRManager.d.ts +321 -83
- three/src/renderers/common/XRRenderTarget.d.ts +49 -6
- three/src/renderers/common/nodes/NodeBuilderState.d.ts +75 -15
- three/src/renderers/common/nodes/NodeLibrary.d.ts +25 -5
- three/src/renderers/common/nodes/{Nodes.d.ts → NodeManager.d.ts} +54 -73
- three/src/renderers/common/nodes/NodeUniform.d.ts +60 -70
- three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +23 -4
- three/src/renderers/shaders/UniformsLib.d.ts +0 -3
- three/src/renderers/webgl/WebGLAttributes.d.ts +9 -7
- three/src/renderers/webgl/WebGLEnvironments.d.ts +8 -0
- three/src/renderers/webgl/WebGLExtensions.d.ts +1 -1
- three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +9 -5
- three/src/renderers/webgl/WebGLLights.d.ts +19 -18
- three/src/renderers/webgl/WebGLObjects.d.ts +15 -2
- three/src/renderers/webgl/WebGLProgram.d.ts +2 -10
- three/src/renderers/webgl/WebGLPrograms.d.ts +2 -2
- three/src/renderers/webgl/WebGLRenderLists.d.ts +1 -3
- three/src/renderers/webgl/WebGLShadowMap.d.ts +0 -5
- three/src/renderers/webgl/WebGLState.d.ts +305 -28
- three/src/renderers/webgl/WebGLTextures.d.ts +10 -9
- three/src/renderers/webgl/WebGLUniforms.d.ts +0 -7
- three/src/renderers/webgpu/WebGPUBackend.d.ts +0 -1
- three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +2 -4
- three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +15 -4
- three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +1 -1
- three/src/scenes/Fog.d.ts +31 -37
- three/src/scenes/FogExp2.d.ts +26 -31
- three/src/scenes/Scene.d.ts +51 -65
- three/src/textures/CompressedArrayTexture.d.ts +1 -1
- three/src/textures/DataArrayTexture.d.ts +1 -1
- three/src/utils.d.ts +5 -0
- three/examples/jsm/materials/MeshGouraudMaterial.d.ts +0 -18
- three/examples/jsm/materials/MeshPostProcessingMaterial.d.ts +0 -13
- three/examples/jsm/shaders/GodRaysShader.d.ts +0 -44
- three/src/nodes/accessors/SceneNode.d.ts +0 -21
- three/src/nodes/code/ScriptableNode.d.ts +0 -21
- three/src/nodes/code/ScriptableValueNode.d.ts +0 -9
- three/src/nodes/display/PosterizeNode.d.ts +0 -13
- three/src/nodes/utils/SpriteSheetUVNode.d.ts +0 -15
- three/src/renderers/webgl/WebGLCubeMaps.d.ts +0 -8
- three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +0 -9
|
@@ -5,6 +5,7 @@ import { InterleavedBufferAttribute } from "../../core/InterleavedBufferAttribut
|
|
|
5
5
|
import InputNode from "../core/InputNode.js";
|
|
6
6
|
import Node from "../core/Node.js";
|
|
7
7
|
import NodeBuilder from "../core/NodeBuilder.js";
|
|
8
|
+
|
|
8
9
|
/**
|
|
9
10
|
* In earlier `three.js` versions it was only possible to define attribute data
|
|
10
11
|
* on geometry level. With `BufferAttributeNode`, it is also possible to do this
|
|
@@ -27,15 +28,7 @@ import NodeBuilder from "../core/NodeBuilder.js";
|
|
|
27
28
|
* ```
|
|
28
29
|
* @augments InputNode
|
|
29
30
|
*/
|
|
30
|
-
declare class
|
|
31
|
-
static get type(): string;
|
|
32
|
-
readonly isBufferNode: true;
|
|
33
|
-
bufferType: string | null;
|
|
34
|
-
bufferStride: number;
|
|
35
|
-
bufferOffset: number;
|
|
36
|
-
usage: Usage;
|
|
37
|
-
instanced: boolean;
|
|
38
|
-
attribute: BufferAttribute | InterleavedBufferAttribute | null;
|
|
31
|
+
declare class BufferAttributeNodeClass extends InputNode<unknown, TypedArray | InterleavedBuffer | BufferAttribute> {
|
|
39
32
|
/**
|
|
40
33
|
* Constructs a new buffer attribute node.
|
|
41
34
|
*
|
|
@@ -45,11 +38,62 @@ declare class BufferAttributeNode extends InputNode<TypedArray | InterleavedBuff
|
|
|
45
38
|
* @param {number} [bufferOffset=0] - The buffer offset.
|
|
46
39
|
*/
|
|
47
40
|
constructor(
|
|
48
|
-
value:
|
|
41
|
+
value: BufferAttribute | InterleavedBuffer | TypedArray,
|
|
49
42
|
bufferType?: string | null,
|
|
50
43
|
bufferStride?: number,
|
|
51
44
|
bufferOffset?: number,
|
|
52
45
|
);
|
|
46
|
+
/**
|
|
47
|
+
* This flag can be used for type testing.
|
|
48
|
+
*
|
|
49
|
+
* @type {boolean}
|
|
50
|
+
* @readonly
|
|
51
|
+
* @default true
|
|
52
|
+
*/
|
|
53
|
+
readonly isBufferNode: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* The buffer type (e.g. `'vec3'`).
|
|
56
|
+
*
|
|
57
|
+
* @type {?string}
|
|
58
|
+
* @default null
|
|
59
|
+
*/
|
|
60
|
+
bufferType: string | null;
|
|
61
|
+
/**
|
|
62
|
+
* The buffer stride.
|
|
63
|
+
*
|
|
64
|
+
* @type {number}
|
|
65
|
+
* @default 0
|
|
66
|
+
*/
|
|
67
|
+
bufferStride: number;
|
|
68
|
+
/**
|
|
69
|
+
* The buffer offset.
|
|
70
|
+
*
|
|
71
|
+
* @type {number}
|
|
72
|
+
* @default 0
|
|
73
|
+
*/
|
|
74
|
+
bufferOffset: number;
|
|
75
|
+
/**
|
|
76
|
+
* The usage property. Set this to `THREE.DynamicDrawUsage` via `.setUsage()`,
|
|
77
|
+
* if you are planning to update the attribute data per frame.
|
|
78
|
+
*
|
|
79
|
+
* @type {number}
|
|
80
|
+
* @default StaticDrawUsage
|
|
81
|
+
*/
|
|
82
|
+
usage: Usage;
|
|
83
|
+
/**
|
|
84
|
+
* Whether the attribute is instanced or not.
|
|
85
|
+
*
|
|
86
|
+
* @type {boolean}
|
|
87
|
+
* @default false
|
|
88
|
+
*/
|
|
89
|
+
instanced: boolean;
|
|
90
|
+
/**
|
|
91
|
+
* A reference to the buffer attribute.
|
|
92
|
+
*
|
|
93
|
+
* @type {?BufferAttribute}
|
|
94
|
+
* @default null
|
|
95
|
+
*/
|
|
96
|
+
attribute: BufferAttribute | InterleavedBufferAttribute | null;
|
|
53
97
|
/**
|
|
54
98
|
* This method is overwritten since the attribute data might be shared
|
|
55
99
|
* and thus the hash should be shared as well.
|
|
@@ -65,7 +109,7 @@ declare class BufferAttributeNode extends InputNode<TypedArray | InterleavedBuff
|
|
|
65
109
|
* @param {NodeBuilder} builder - The current node builder.
|
|
66
110
|
* @return {string} The node type.
|
|
67
111
|
*/
|
|
68
|
-
getNodeType(builder: NodeBuilder): string
|
|
112
|
+
getNodeType(builder: NodeBuilder): string;
|
|
69
113
|
/**
|
|
70
114
|
* Depending on which value was passed to the node, `setup()` behaves
|
|
71
115
|
* differently. If no instance of `BufferAttribute` was passed, the method
|
|
@@ -73,14 +117,14 @@ declare class BufferAttributeNode extends InputNode<TypedArray | InterleavedBuff
|
|
|
73
117
|
*
|
|
74
118
|
* @param {NodeBuilder} builder - The current node builder.
|
|
75
119
|
*/
|
|
76
|
-
setup(builder: NodeBuilder):
|
|
120
|
+
setup(builder: NodeBuilder): undefined;
|
|
77
121
|
/**
|
|
78
122
|
* Generates the code snippet of the buffer attribute node.
|
|
79
123
|
*
|
|
80
124
|
* @param {NodeBuilder} builder - The current node builder.
|
|
81
125
|
* @return {string} The generated code snippet.
|
|
82
126
|
*/
|
|
83
|
-
generate(builder: NodeBuilder): string
|
|
127
|
+
generate(builder: NodeBuilder): string;
|
|
84
128
|
/**
|
|
85
129
|
* Overwrites the default implementation to return a fixed value `'bufferAttribute'`.
|
|
86
130
|
*
|
|
@@ -103,11 +147,33 @@ declare class BufferAttributeNode extends InputNode<TypedArray | InterleavedBuff
|
|
|
103
147
|
*/
|
|
104
148
|
setInstanced(value: boolean): this;
|
|
105
149
|
}
|
|
150
|
+
|
|
151
|
+
declare const BufferAttributeNode: {
|
|
152
|
+
/**
|
|
153
|
+
* Constructs a new buffer attribute node.
|
|
154
|
+
*
|
|
155
|
+
* @param {BufferAttribute|InterleavedBuffer|TypedArray} value - The attribute data.
|
|
156
|
+
* @param {?string} [bufferType=null] - The buffer type (e.g. `'vec3'`).
|
|
157
|
+
* @param {number} [bufferStride=0] - The buffer stride.
|
|
158
|
+
* @param {number} [bufferOffset=0] - The buffer offset.
|
|
159
|
+
*/
|
|
160
|
+
new<TNodeType>(
|
|
161
|
+
value: TypedArray | InterleavedBuffer | BufferAttribute,
|
|
162
|
+
bufferType?: string | null,
|
|
163
|
+
bufferStride?: number,
|
|
164
|
+
bufferOffset?: number,
|
|
165
|
+
): BufferAttributeNode<TNodeType>;
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
type BufferAttributeNode<TNodeType> =
|
|
169
|
+
& InputNode<TNodeType, TypedArray | InterleavedBuffer | BufferAttribute>
|
|
170
|
+
& BufferAttributeNodeClass;
|
|
171
|
+
|
|
106
172
|
export default BufferAttributeNode;
|
|
173
|
+
|
|
107
174
|
/**
|
|
108
175
|
* TSL function for creating a buffer attribute node.
|
|
109
176
|
*
|
|
110
|
-
* @tsl
|
|
111
177
|
* @function
|
|
112
178
|
* @param {BufferAttribute|InterleavedBuffer|TypedArray} array - The attribute data.
|
|
113
179
|
* @param {?string} [type=null] - The buffer type (e.g. `'vec3'`).
|
|
@@ -115,17 +181,17 @@ export default BufferAttributeNode;
|
|
|
115
181
|
* @param {number} [offset=0] - The buffer offset.
|
|
116
182
|
* @returns {BufferAttributeNode|Node}
|
|
117
183
|
*/
|
|
118
|
-
export declare const bufferAttribute: (
|
|
184
|
+
export declare const bufferAttribute: <TNodeType>(
|
|
119
185
|
array: BufferAttribute | InterleavedBuffer | TypedArray,
|
|
120
|
-
type?:
|
|
186
|
+
type?: TNodeType | null,
|
|
121
187
|
stride?: number,
|
|
122
188
|
offset?: number,
|
|
123
|
-
) => Node
|
|
189
|
+
) => Node<TNodeType>;
|
|
190
|
+
|
|
124
191
|
/**
|
|
125
192
|
* TSL function for creating a buffer attribute node but with dynamic draw usage.
|
|
126
193
|
* Use this function if attribute data are updated per frame.
|
|
127
194
|
*
|
|
128
|
-
* @tsl
|
|
129
195
|
* @function
|
|
130
196
|
* @param {BufferAttribute|InterleavedBuffer|TypedArray} array - The attribute data.
|
|
131
197
|
* @param {?string} [type=null] - The buffer type (e.g. `'vec3'`).
|
|
@@ -133,16 +199,16 @@ export declare const bufferAttribute: (
|
|
|
133
199
|
* @param {number} [offset=0] - The buffer offset.
|
|
134
200
|
* @returns {BufferAttributeNode|Node}
|
|
135
201
|
*/
|
|
136
|
-
export declare const dynamicBufferAttribute: (
|
|
202
|
+
export declare const dynamicBufferAttribute: <TNodeType>(
|
|
137
203
|
array: BufferAttribute | InterleavedBuffer | TypedArray,
|
|
138
|
-
type?:
|
|
204
|
+
type?: TNodeType | null,
|
|
139
205
|
stride?: number,
|
|
140
206
|
offset?: number,
|
|
141
|
-
) => Node
|
|
207
|
+
) => Node<TNodeType>;
|
|
208
|
+
|
|
142
209
|
/**
|
|
143
210
|
* TSL function for creating a buffer attribute node but with enabled instancing
|
|
144
211
|
*
|
|
145
|
-
* @tsl
|
|
146
212
|
* @function
|
|
147
213
|
* @param {BufferAttribute|InterleavedBuffer|TypedArray} array - The attribute data.
|
|
148
214
|
* @param {?string} [type=null] - The buffer type (e.g. `'vec3'`).
|
|
@@ -150,16 +216,16 @@ export declare const dynamicBufferAttribute: (
|
|
|
150
216
|
* @param {number} [offset=0] - The buffer offset.
|
|
151
217
|
* @returns {BufferAttributeNode|Node}
|
|
152
218
|
*/
|
|
153
|
-
export declare const instancedBufferAttribute: (
|
|
219
|
+
export declare const instancedBufferAttribute: <TNodeType>(
|
|
154
220
|
array: BufferAttribute | InterleavedBuffer | TypedArray,
|
|
155
|
-
type?:
|
|
221
|
+
type?: TNodeType | null,
|
|
156
222
|
stride?: number,
|
|
157
223
|
offset?: number,
|
|
158
|
-
) => Node
|
|
224
|
+
) => Node<TNodeType>;
|
|
225
|
+
|
|
159
226
|
/**
|
|
160
227
|
* TSL function for creating a buffer attribute node but with dynamic draw usage and enabled instancing
|
|
161
228
|
*
|
|
162
|
-
* @tsl
|
|
163
229
|
* @function
|
|
164
230
|
* @param {BufferAttribute|InterleavedBuffer|TypedArray} array - The attribute data.
|
|
165
231
|
* @param {?string} [type=null] - The buffer type (e.g. `'vec3'`).
|
|
@@ -167,15 +233,15 @@ export declare const instancedBufferAttribute: (
|
|
|
167
233
|
* @param {number} [offset=0] - The buffer offset.
|
|
168
234
|
* @returns {BufferAttributeNode|Node}
|
|
169
235
|
*/
|
|
170
|
-
export declare const instancedDynamicBufferAttribute: (
|
|
236
|
+
export declare const instancedDynamicBufferAttribute: <TNodeType>(
|
|
171
237
|
array: BufferAttribute | InterleavedBuffer | TypedArray,
|
|
172
|
-
type?:
|
|
238
|
+
type?: TNodeType | null,
|
|
173
239
|
stride?: number,
|
|
174
240
|
offset?: number,
|
|
175
|
-
) => Node
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
241
|
+
) => Node<TNodeType>;
|
|
242
|
+
|
|
243
|
+
declare module "./BufferNode.js" {
|
|
244
|
+
interface BufferNodeExtensions<TNodeType, TValue> {
|
|
245
|
+
toAttribute: () => BufferAttributeNode<TNodeType>;
|
|
180
246
|
}
|
|
181
247
|
}
|
|
@@ -1,17 +1,31 @@
|
|
|
1
1
|
import UniformNode from "../core/UniformNode.js";
|
|
2
|
-
import { NodeOrType } from "../tsl/TSLCore.js";
|
|
3
2
|
|
|
4
|
-
export
|
|
3
|
+
export interface BufferNodeInterface {
|
|
5
4
|
isBufferNode: true;
|
|
6
5
|
|
|
7
6
|
bufferType: string;
|
|
8
7
|
bufferCount: number;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
declare const BufferNode: {
|
|
11
|
+
new<TNodeType, TValue>(value: TValue, bufferType: TNodeType, bufferCount?: number): BufferNode<TNodeType, TValue>;
|
|
12
|
+
};
|
|
9
13
|
|
|
10
|
-
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
15
|
+
export interface BufferNodeExtensions<TNodeType, TValue> {
|
|
11
16
|
}
|
|
12
17
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
type BufferNode<TNodeType, TValue> =
|
|
19
|
+
& UniformNode<TNodeType, TValue>
|
|
20
|
+
& BufferNodeInterface
|
|
21
|
+
& BufferNodeExtensions<TNodeType, TValue>;
|
|
22
|
+
|
|
23
|
+
export default BufferNode;
|
|
24
|
+
|
|
25
|
+
export const buffer: <TNodeType, TValue>(
|
|
26
|
+
value: TValue,
|
|
27
|
+
type: TNodeType,
|
|
16
28
|
count: number,
|
|
17
|
-
) => BufferNode<TValue>;
|
|
29
|
+
) => BufferNode<TNodeType, TValue>;
|
|
30
|
+
|
|
31
|
+
export {};
|
|
@@ -4,13 +4,13 @@ import { Vector3 } from "../../math/Vector3.js";
|
|
|
4
4
|
import { Vector4 } from "../../math/Vector4.js";
|
|
5
5
|
import UniformNode from "../core/UniformNode.js";
|
|
6
6
|
|
|
7
|
-
export const cameraIndex: UniformNode<number>;
|
|
8
|
-
export const cameraNear: UniformNode<number>;
|
|
9
|
-
export const cameraFar: UniformNode<number>;
|
|
10
|
-
export const cameraProjectionMatrix: UniformNode<Matrix4>;
|
|
11
|
-
export const cameraProjectionMatrixInverse: UniformNode<Matrix4>;
|
|
12
|
-
export const cameraViewMatrix: UniformNode<Matrix4>;
|
|
13
|
-
export const cameraWorldMatrix: UniformNode<Matrix4>;
|
|
14
|
-
export const cameraNormalMatrix: UniformNode<Matrix3>;
|
|
15
|
-
export const cameraPosition: UniformNode<Vector3>;
|
|
16
|
-
export const cameraViewport: UniformNode<Vector4>;
|
|
7
|
+
export const cameraIndex: UniformNode<"uint", number>;
|
|
8
|
+
export const cameraNear: UniformNode<"float", number>;
|
|
9
|
+
export const cameraFar: UniformNode<"float", number>;
|
|
10
|
+
export const cameraProjectionMatrix: UniformNode<"mat4", Matrix4>;
|
|
11
|
+
export const cameraProjectionMatrixInverse: UniformNode<"mat4", Matrix4>;
|
|
12
|
+
export const cameraViewMatrix: UniformNode<"mat4", Matrix4>;
|
|
13
|
+
export const cameraWorldMatrix: UniformNode<"mat4", Matrix4>;
|
|
14
|
+
export const cameraNormalMatrix: UniformNode<"mat3", Matrix3>;
|
|
15
|
+
export const cameraPosition: UniformNode<"vec3", Vector3>;
|
|
16
|
+
export const cameraViewport: UniformNode<"vec4", Vector4>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { InstancedBufferAttribute } from "../../core/InstancedBufferAttribute.js";
|
|
2
|
+
import { InstancedInterleavedBuffer } from "../../core/InstancedInterleavedBuffer.js";
|
|
2
3
|
import StorageInstancedBufferAttribute from "../../renderers/common/StorageInstancedBufferAttribute.js";
|
|
3
4
|
import Node from "../core/Node.js";
|
|
4
5
|
|
|
@@ -10,6 +11,11 @@ export default class InstanceNode extends Node {
|
|
|
10
11
|
instanceMatrixNode: Node | null;
|
|
11
12
|
instanceColorNode: Node | null;
|
|
12
13
|
|
|
14
|
+
buffer: InstancedInterleavedBuffer | null;
|
|
15
|
+
bufferColor: InstancedBufferAttribute | null;
|
|
16
|
+
|
|
17
|
+
previousInstancedMatrixNode: Node | null;
|
|
18
|
+
|
|
13
19
|
constructor(
|
|
14
20
|
count: number,
|
|
15
21
|
instanceMatrix: InstancedBufferAttribute | StorageInstancedBufferAttribute,
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { Light } from "../../lights/Light.js";
|
|
2
|
+
import { Matrix4 } from "../../math/Matrix4.js";
|
|
3
|
+
import { Vector3 } from "../../math/Vector3.js";
|
|
2
4
|
import Node from "../core/Node.js";
|
|
5
|
+
import UniformNode from "../core/UniformNode.js";
|
|
3
6
|
|
|
4
|
-
export function lightShadowMatrix(light: Light):
|
|
7
|
+
export function lightShadowMatrix(light: Light): UniformNode<"mat4", Matrix4>;
|
|
5
8
|
|
|
6
|
-
export function lightProjectionUV(light: Light, position?: Node): Node
|
|
9
|
+
export function lightProjectionUV(light: Light, position?: Node): Node<"vec3">;
|
|
7
10
|
|
|
8
|
-
export function lightPosition(light: Light):
|
|
11
|
+
export function lightPosition(light: Light): UniformNode<"vec3", Vector3>;
|
|
9
12
|
|
|
10
|
-
export function lightTargetPosition(light: Light):
|
|
13
|
+
export function lightTargetPosition(light: Light): UniformNode<"vec3", Vector3>;
|
|
11
14
|
|
|
12
|
-
export function lightViewPosition(light: Light):
|
|
15
|
+
export function lightViewPosition(light: Light): UniformNode<"vec3", Vector3>;
|
|
13
16
|
|
|
14
|
-
export const lightTargetDirection: (light: Light) => Node
|
|
17
|
+
export const lightTargetDirection: (light: Light) => Node<"vec3">;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { Vector2 } from "../../math/Vector2.js";
|
|
2
1
|
import Node from "../core/Node.js";
|
|
3
|
-
import UniformNode from "../core/UniformNode.js";
|
|
4
2
|
|
|
5
3
|
export type MaterialNodeScope =
|
|
6
4
|
| typeof MaterialNode.ALPHA_TEST
|
|
@@ -125,4 +123,4 @@ export const materialPointSize: MaterialNode;
|
|
|
125
123
|
export const materialDispersion: MaterialNode;
|
|
126
124
|
export const materialLightMap: MaterialNode;
|
|
127
125
|
export const materialAO: MaterialNode;
|
|
128
|
-
export const materialAnisotropyVector:
|
|
126
|
+
export const materialAnisotropyVector: MaterialNode;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Node from "../core/Node.js";
|
|
2
2
|
import UniformNode from "../core/UniformNode.js";
|
|
3
3
|
|
|
4
|
-
export const materialRefractionRatio: UniformNode<number>;
|
|
4
|
+
export const materialRefractionRatio: UniformNode<"float", number>;
|
|
5
5
|
|
|
6
|
-
export const materialEnvIntensity:
|
|
6
|
+
export const materialEnvIntensity: Node<"float">;
|
|
7
7
|
|
|
8
|
-
export const materialEnvRotation:
|
|
8
|
+
export const materialEnvRotation: Node<"mat4">;
|
|
@@ -2,7 +2,7 @@ import { Material } from "../../materials/Material.js";
|
|
|
2
2
|
import { NodeOrType } from "../tsl/TSLCore.js";
|
|
3
3
|
import ReferenceNode from "./ReferenceNode.js";
|
|
4
4
|
|
|
5
|
-
export default class MaterialReferenceNode extends ReferenceNode<Material | null> {
|
|
5
|
+
export default class MaterialReferenceNode extends ReferenceNode<unknown, Material | null> {
|
|
6
6
|
readonly isMaterialReferenceNode: true;
|
|
7
7
|
|
|
8
8
|
constructor(property: string, inputType: string, material?: Material | null);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Matrix3 } from "../../math/Matrix3.js";
|
|
1
2
|
import { Matrix4 } from "../../math/Matrix4.js";
|
|
2
3
|
import Node from "../core/Node.js";
|
|
3
4
|
import { UniformNode } from "../Nodes.js";
|
|
@@ -6,27 +7,43 @@ import Object3DNode from "./Object3DNode.js";
|
|
|
6
7
|
/**
|
|
7
8
|
* Similar to {@link Object3DNode} but the object comes from {@link NodeFrame}
|
|
8
9
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
10
|
+
declare const ModelNode: {
|
|
11
|
+
new(scope: typeof ModelNode.WORLD_MATRIX): ModelNode<"mat4">;
|
|
12
|
+
new(scope: typeof ModelNode.POSITION): ModelNode<"vec3">;
|
|
13
|
+
new(scope: typeof ModelNode.SCALE): ModelNode<"vec3">;
|
|
14
|
+
new(scope: typeof ModelNode.VIEW_POSITION): ModelNode<"vec3">;
|
|
15
|
+
new(scope: typeof ModelNode.DIRECTION): ModelNode<"vec3">;
|
|
16
|
+
new(scope: typeof ModelNode.RADIUS): ModelNode<"float">;
|
|
17
|
+
|
|
18
|
+
WORLD_MATRIX: "worldMatrix";
|
|
19
|
+
POSITION: "position";
|
|
20
|
+
SCALE: "scale";
|
|
21
|
+
VIEW_POSITION: "viewPosition";
|
|
22
|
+
DIRECTION: "direction";
|
|
23
|
+
RADIUS: "radius";
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
type ModelNode<TNodeType> = Object3DNode<TNodeType>;
|
|
27
|
+
|
|
28
|
+
export default Object3DNode;
|
|
29
|
+
|
|
30
|
+
export const modelDirection: ModelNode<"vec3">;
|
|
31
|
+
export const modelWorldMatrix: ModelNode<"mat4">;
|
|
32
|
+
export const modelPosition: ModelNode<"vec3">;
|
|
33
|
+
export const modelScale: ModelNode<"vec3">;
|
|
34
|
+
export const modelViewPosition: ModelNode<"vec3">;
|
|
35
|
+
export const modelRadius: ModelNode<"float">;
|
|
36
|
+
export const modelNormalMatrix: UniformNode<"mat3", Matrix3>;
|
|
37
|
+
export const modelWorldMatrixInverse: UniformNode<"mat4", Matrix4>;
|
|
38
|
+
|
|
39
|
+
export const modelViewMatrix: Node<"mat4">;
|
|
23
40
|
|
|
24
41
|
// GPU Precision
|
|
25
42
|
|
|
26
|
-
export const mediumpModelViewMatrix: Node
|
|
43
|
+
export const mediumpModelViewMatrix: Node<"mat4">;
|
|
27
44
|
|
|
28
45
|
// CPU Precision
|
|
29
46
|
|
|
30
|
-
export const highpModelViewMatrix: Node
|
|
47
|
+
export const highpModelViewMatrix: Node<"mat4">;
|
|
31
48
|
|
|
32
|
-
export const highpModelNormalViewMatrix: Node
|
|
49
|
+
export const highpModelNormalViewMatrix: Node<"mat3">;
|
|
@@ -1,38 +1,36 @@
|
|
|
1
|
-
import AttributeNode from "../core/AttributeNode.js";
|
|
2
1
|
import Node from "../core/Node.js";
|
|
3
|
-
import VarNode from "../core/VarNode.js";
|
|
4
2
|
|
|
5
|
-
export const normalGeometry:
|
|
3
|
+
export const normalGeometry: Node<"vec3">;
|
|
6
4
|
|
|
7
|
-
export const normalLocal:
|
|
5
|
+
export const normalLocal: Node<"vec3">;
|
|
8
6
|
|
|
9
|
-
export const normalFlat:
|
|
7
|
+
export const normalFlat: Node<"vec3">;
|
|
10
8
|
|
|
11
|
-
export const normalViewGeometry:
|
|
9
|
+
export const normalViewGeometry: Node<"vec3">;
|
|
12
10
|
|
|
13
|
-
export const normalWorldGeometry:
|
|
11
|
+
export const normalWorldGeometry: Node<"vec3">;
|
|
14
12
|
|
|
15
|
-
export const normalView:
|
|
13
|
+
export const normalView: Node<"vec3">;
|
|
16
14
|
|
|
17
|
-
export const normalWorld:
|
|
15
|
+
export const normalWorld: Node<"vec3">;
|
|
18
16
|
|
|
19
|
-
export const clearcoatNormalView:
|
|
17
|
+
export const clearcoatNormalView: Node<"vec3">;
|
|
20
18
|
|
|
21
|
-
export const transformNormal: (normal: Node, matrix?: Node) => Node
|
|
19
|
+
export const transformNormal: (normal: Node, matrix?: Node) => Node<"vec3">;
|
|
22
20
|
|
|
23
|
-
export const transformNormalToView: (normal: Node) => Node
|
|
21
|
+
export const transformNormalToView: (normal: Node) => Node<"vec3">;
|
|
24
22
|
|
|
25
23
|
/**
|
|
26
24
|
* @deprecated since r178. Use `normalView` instead.
|
|
27
25
|
*/
|
|
28
|
-
export const transformedNormalView:
|
|
26
|
+
export const transformedNormalView: Node<"vec3">;
|
|
29
27
|
|
|
30
28
|
/**
|
|
31
29
|
* @deprecated since r178. Use `normalWorld` instead.
|
|
32
30
|
*/
|
|
33
|
-
export const transformedNormalWorld:
|
|
31
|
+
export const transformedNormalWorld: Node<"vec3">;
|
|
34
32
|
|
|
35
33
|
/**
|
|
36
34
|
* @deprecated since r178. Use `clearcoatNormalView` instead.
|
|
37
35
|
*/
|
|
38
|
-
export const transformedClearcoatNormalView:
|
|
36
|
+
export const transformedClearcoatNormalView: Node<"vec3">;
|
|
@@ -1,23 +1,42 @@
|
|
|
1
1
|
import { Object3D } from "../../core/Object3D.js";
|
|
2
2
|
import Node from "../core/Node.js";
|
|
3
3
|
|
|
4
|
-
export
|
|
5
|
-
|
|
4
|
+
export type Object3DNodeScope =
|
|
5
|
+
| typeof Object3DNode.WORLD_MATRIX
|
|
6
|
+
| typeof Object3DNode.POSITION
|
|
7
|
+
| typeof Object3DNode.SCALE
|
|
8
|
+
| typeof Object3DNode.VIEW_POSITION
|
|
9
|
+
| typeof Object3DNode.DIRECTION
|
|
10
|
+
| typeof Object3DNode.RADIUS;
|
|
11
|
+
|
|
12
|
+
interface Object3DNodeInterface {
|
|
13
|
+
scope: Object3DNodeScope;
|
|
6
14
|
object3d: Object3D | null;
|
|
15
|
+
}
|
|
7
16
|
|
|
8
|
-
|
|
17
|
+
declare const Object3DNode: {
|
|
18
|
+
new(scope: typeof Object3DNode.WORLD_MATRIX, object3d?: Object3D | null): Object3DNode<"mat4">;
|
|
19
|
+
new(scope: typeof Object3DNode.POSITION, object3d?: Object3D | null): Object3DNode<"vec3">;
|
|
20
|
+
new(scope: typeof Object3DNode.SCALE, object3d?: Object3D | null): Object3DNode<"vec3">;
|
|
21
|
+
new(scope: typeof Object3DNode.VIEW_POSITION, object3d?: Object3D | null): Object3DNode<"vec3">;
|
|
22
|
+
new(scope: typeof Object3DNode.DIRECTION, object3d?: Object3D | null): Object3DNode<"vec3">;
|
|
23
|
+
new(scope: typeof Object3DNode.RADIUS, object3d?: Object3D | null): Object3DNode<"float">;
|
|
9
24
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
25
|
+
WORLD_MATRIX: "worldMatrix";
|
|
26
|
+
POSITION: "position";
|
|
27
|
+
SCALE: "scale";
|
|
28
|
+
VIEW_POSITION: "viewPosition";
|
|
29
|
+
DIRECTION: "direction";
|
|
30
|
+
RADIUS: "radius";
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
type Object3DNode<TNodeType> = Node<TNodeType> & Object3DNodeInterface;
|
|
34
|
+
|
|
35
|
+
export default Object3DNode;
|
|
17
36
|
|
|
18
|
-
export const objectDirection: (object3d: Object3D | null) => Object3DNode
|
|
19
|
-
export const objectWorldMatrix: (object3d: Object3D | null) => Object3DNode
|
|
20
|
-
export const objectPosition: (object3d: Object3D | null) => Object3DNode
|
|
21
|
-
export const objectScale: (object3d: Object3D | null) => Object3DNode
|
|
22
|
-
export const objectViewPosition: (object3d: Object3D | null) => Object3DNode
|
|
23
|
-
export const objectRadius: (object3d: Object3D | null) => Object3DNode
|
|
37
|
+
export const objectDirection: (object3d: Object3D | null) => Object3DNode<"vec3">;
|
|
38
|
+
export const objectWorldMatrix: (object3d: Object3D | null) => Object3DNode<"mat4">;
|
|
39
|
+
export const objectPosition: (object3d: Object3D | null) => Object3DNode<"vec3">;
|
|
40
|
+
export const objectScale: (object3d: Object3D | null) => Object3DNode<"vec3">;
|
|
41
|
+
export const objectViewPosition: (object3d: Object3D | null) => Object3DNode<"vec3">;
|
|
42
|
+
export const objectRadius: (object3d: Object3D | null) => Object3DNode<"float">;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import AttributeNode from "../core/AttributeNode.js";
|
|
1
2
|
import Node from "../core/Node.js";
|
|
2
3
|
|
|
3
|
-
export const
|
|
4
|
-
export const
|
|
5
|
-
export const
|
|
6
|
-
export const
|
|
7
|
-
export const
|
|
8
|
-
export const
|
|
9
|
-
export const
|
|
4
|
+
export const clipSpace: Node<"vec4">;
|
|
5
|
+
export const positionGeometry: AttributeNode<"vec3">;
|
|
6
|
+
export const positionLocal: AttributeNode<"vec3">;
|
|
7
|
+
export const positionPrevious: AttributeNode<"vec3">;
|
|
8
|
+
export const positionWorld: Node<"vec3">;
|
|
9
|
+
export const positionWorldDirection: Node<"vec3">;
|
|
10
|
+
export const positionView: Node<"vec3">;
|
|
11
|
+
export const positionViewDirection: Node<"vec3">;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Node from "../core/Node.js";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
interface ReferenceNodeInterface<T> extends Node {
|
|
4
4
|
property: string;
|
|
5
5
|
|
|
6
6
|
uniformType: string;
|
|
@@ -12,17 +12,26 @@ declare class ReferenceNode<T> extends Node {
|
|
|
12
12
|
reference: T | null;
|
|
13
13
|
node: Node | null;
|
|
14
14
|
|
|
15
|
-
constructor(property: string, uniformType: string, object?: T | null, count?: number | null);
|
|
16
|
-
|
|
17
15
|
setNodeType(uniformType: string): void;
|
|
18
16
|
}
|
|
19
17
|
|
|
18
|
+
declare const ReferenceNode: {
|
|
19
|
+
new<TNodeType, T>(
|
|
20
|
+
property: string,
|
|
21
|
+
uniformType: TNodeType,
|
|
22
|
+
object?: T | null,
|
|
23
|
+
count?: number | null,
|
|
24
|
+
): ReferenceNode<TNodeType, T>;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
type ReferenceNode<TNodeType, T> = ReferenceNodeInterface<T> & Node<TNodeType>;
|
|
28
|
+
|
|
20
29
|
export default ReferenceNode;
|
|
21
30
|
|
|
22
|
-
export const reference: <T>(name: string, type:
|
|
23
|
-
export const referenceBuffer: <T>(
|
|
31
|
+
export const reference: <const TNodeType, T>(name: string, type: TNodeType, object: T) => ReferenceNode<TNodeType, T>;
|
|
32
|
+
export const referenceBuffer: <const TNodeType, T>(
|
|
24
33
|
name: string,
|
|
25
|
-
type:
|
|
34
|
+
type: TNodeType,
|
|
26
35
|
count: number,
|
|
27
36
|
object: T,
|
|
28
|
-
) => ReferenceNode<T>;
|
|
37
|
+
) => ReferenceNode<TNodeType, T>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import Node from "../core/Node.js";
|
|
2
|
-
import VarNode from "../core/VarNode.js";
|
|
3
2
|
|
|
4
|
-
export const reflectView: Node
|
|
5
|
-
export const refractView: Node
|
|
3
|
+
export const reflectView: Node<"vec3">;
|
|
4
|
+
export const refractView: Node<"vec3">;
|
|
6
5
|
|
|
7
|
-
export const reflectVector:
|
|
8
|
-
export const refractVector:
|
|
6
|
+
export const reflectVector: Node<"vec3">;
|
|
7
|
+
export const refractVector: Node<"vec3">;
|