@nativescript/canvas-three 2.0.0-webgpu.3 → 2.0.0-webgpu.31
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.
- package/index.d.ts +2 -1
- package/index.js +3 -2
- package/index.js.map +1 -1
- package/package.json +2 -3
- package/three/src/Three.Legacy.d.ts +20 -0
- package/three/src/Three.WebGPU.d.ts +180 -0
- package/three/src/Three.d.ts +189 -0
- package/three/src/animation/AnimationAction.d.ts +86 -0
- package/three/src/animation/AnimationClip.d.ts +50 -0
- package/three/src/animation/AnimationMixer.d.ts +35 -0
- package/three/src/animation/AnimationObjectGroup.d.ts +17 -0
- package/three/src/animation/AnimationUtils.d.ts +40 -0
- package/three/src/animation/KeyframeTrack.d.ts +55 -0
- package/three/src/animation/PropertyBinding.d.ts +43 -0
- package/three/src/animation/PropertyMixer.d.ts +17 -0
- package/three/src/animation/tracks/BooleanKeyframeTrack.d.ts +10 -0
- package/three/src/animation/tracks/ColorKeyframeTrack.d.ts +11 -0
- package/three/src/animation/tracks/NumberKeyframeTrack.d.ts +11 -0
- package/three/src/animation/tracks/QuaternionKeyframeTrack.d.ts +11 -0
- package/three/src/animation/tracks/StringKeyframeTrack.d.ts +10 -0
- package/three/src/animation/tracks/VectorKeyframeTrack.d.ts +11 -0
- package/three/src/audio/Audio.d.ts +270 -0
- package/three/src/audio/AudioAnalyser.d.ts +58 -0
- package/three/src/audio/AudioContext.d.ts +19 -0
- package/three/src/audio/AudioListener.d.ts +96 -0
- package/three/src/audio/PositionalAudio.d.ts +101 -0
- package/three/src/cameras/ArrayCamera.d.ts +32 -0
- package/three/src/cameras/Camera.d.ts +74 -0
- package/three/src/cameras/CubeCamera.d.ts +68 -0
- package/three/src/cameras/OrthographicCamera.d.ts +167 -0
- package/three/src/cameras/PerspectiveCamera.d.ts +254 -0
- package/three/src/cameras/StereoCamera.d.ts +50 -0
- package/three/src/constants.d.ts +802 -0
- package/three/src/core/BufferAttribute.d.ts +592 -0
- package/three/src/core/BufferGeometry.d.ts +417 -0
- package/three/src/core/Clock.d.ts +72 -0
- package/three/src/core/EventDispatcher.d.ts +74 -0
- package/three/src/core/GLBufferAttribute.d.ts +121 -0
- package/three/src/core/InstancedBufferAttribute.d.ts +32 -0
- package/three/src/core/InstancedBufferGeometry.d.ts +37 -0
- package/three/src/core/InstancedInterleavedBuffer.d.ts +22 -0
- package/three/src/core/InterleavedBuffer.d.ts +162 -0
- package/three/src/core/InterleavedBufferAttribute.d.ts +201 -0
- package/three/src/core/Layers.d.ts +72 -0
- package/three/src/core/Object3D.d.ts +644 -0
- package/three/src/core/Raycaster.d.ts +199 -0
- package/three/src/core/RenderTarget.d.ts +89 -0
- package/three/src/core/Uniform.d.ts +38 -0
- package/three/src/core/UniformsGroup.d.ts +33 -0
- package/three/src/extras/DataUtils.d.ts +22 -0
- package/three/src/extras/Earcut.d.ts +15 -0
- package/three/src/extras/ImageUtils.d.ts +30 -0
- package/three/src/extras/PMREMGenerator.d.ts +82 -0
- package/three/src/extras/ShapeUtils.d.ts +25 -0
- package/three/src/extras/TextureUtils.d.ts +37 -0
- package/three/src/extras/core/Curve.d.ts +162 -0
- package/three/src/extras/core/CurvePath.d.ts +77 -0
- package/three/src/extras/core/Interpolations.d.ts +36 -0
- package/three/src/extras/core/Path.d.ts +148 -0
- package/three/src/extras/core/Shape.d.ts +86 -0
- package/three/src/extras/core/ShapePath.d.ts +98 -0
- package/three/src/extras/curves/ArcCurve.d.ts +34 -0
- package/three/src/extras/curves/CatmullRomCurve3.d.ts +77 -0
- package/three/src/extras/curves/CubicBezierCurve.d.ts +72 -0
- package/three/src/extras/curves/CubicBezierCurve3.d.ts +72 -0
- package/three/src/extras/curves/Curves.d.ts +10 -0
- package/three/src/extras/curves/EllipseCurve.d.ts +106 -0
- package/three/src/extras/curves/LineCurve.d.ts +42 -0
- package/three/src/extras/curves/LineCurve3.d.ts +42 -0
- package/three/src/extras/curves/QuadraticBezierCurve.d.ts +64 -0
- package/three/src/extras/curves/QuadraticBezierCurve3.d.ts +64 -0
- package/three/src/extras/curves/SplineCurve.d.ts +52 -0
- package/three/src/geometries/BoxGeometry.d.ts +52 -0
- package/three/src/geometries/CapsuleGeometry.d.ts +48 -0
- package/three/src/geometries/CircleGeometry.d.ts +51 -0
- package/three/src/geometries/ConeGeometry.d.ts +56 -0
- package/three/src/geometries/CylinderGeometry.d.ts +55 -0
- package/three/src/geometries/DodecahedronGeometry.d.ts +25 -0
- package/three/src/geometries/EdgesGeometry.d.ts +41 -0
- package/three/src/geometries/ExtrudeGeometry.d.ts +139 -0
- package/three/src/geometries/Geometries.d.ts +21 -0
- package/three/src/geometries/IcosahedronGeometry.d.ts +26 -0
- package/three/src/geometries/LatheGeometry.d.ts +55 -0
- package/three/src/geometries/OctahedronGeometry.d.ts +25 -0
- package/three/src/geometries/PlaneGeometry.d.ts +48 -0
- package/three/src/geometries/PolyhedronGeometry.d.ts +54 -0
- package/three/src/geometries/RingGeometry.d.ts +52 -0
- package/three/src/geometries/ShapeGeometry.d.ts +53 -0
- package/three/src/geometries/SphereGeometry.d.ts +59 -0
- package/three/src/geometries/TetrahedronGeometry.d.ts +25 -0
- package/three/src/geometries/TorusGeometry.d.ts +49 -0
- package/three/src/geometries/TorusKnotGeometry.d.ts +52 -0
- package/three/src/geometries/TubeGeometry.d.ts +80 -0
- package/three/src/geometries/WireframeGeometry.d.ts +40 -0
- package/three/src/helpers/ArrowHelper.d.ts +86 -0
- package/three/src/helpers/AxesHelper.d.ts +50 -0
- package/three/src/helpers/Box3Helper.d.ts +44 -0
- package/three/src/helpers/BoxHelper.d.ts +64 -0
- package/three/src/helpers/CameraHelper.d.ts +80 -0
- package/three/src/helpers/DirectionalLightHelper.d.ts +81 -0
- package/three/src/helpers/GridHelper.d.ts +47 -0
- package/three/src/helpers/HemisphereLightHelper.d.ts +72 -0
- package/three/src/helpers/PlaneHelper.d.ts +50 -0
- package/three/src/helpers/PointLightHelper.d.ts +73 -0
- package/three/src/helpers/PolarGridHelper.d.ts +48 -0
- package/three/src/helpers/SkeletonHelper.d.ts +78 -0
- package/three/src/helpers/SpotLightHelper.d.ts +77 -0
- package/three/src/lights/AmbientLight.d.ts +36 -0
- package/three/src/lights/DirectionalLight.d.ts +103 -0
- package/three/src/lights/DirectionalLightShadow.d.ts +73 -0
- package/three/src/lights/HemisphereLight.d.ts +61 -0
- package/three/src/lights/Light.d.ts +82 -0
- package/three/src/lights/LightProbe.d.ts +47 -0
- package/three/src/lights/LightShadow.d.ts +169 -0
- package/three/src/lights/PointLight.d.ts +102 -0
- package/three/src/lights/PointLightShadow.d.ts +22 -0
- package/three/src/lights/RectAreaLight.d.ts +82 -0
- package/three/src/lights/SpotLight.d.ts +157 -0
- package/three/src/lights/SpotLightShadow.d.ts +72 -0
- package/three/src/lights/webgpu/IESSpotLight.d.ts +6 -0
- package/three/src/loaders/AnimationLoader.d.ts +9 -0
- package/three/src/loaders/AudioLoader.d.ts +6 -0
- package/three/src/loaders/BufferGeometryLoader.d.ts +10 -0
- package/three/src/loaders/Cache.d.ts +21 -0
- package/three/src/loaders/CompressedTextureLoader.d.ts +9 -0
- package/three/src/loaders/CubeTextureLoader.d.ts +9 -0
- package/three/src/loaders/DataTextureLoader.d.ts +9 -0
- package/three/src/loaders/FileLoader.d.ts +14 -0
- package/three/src/loaders/ImageBitmapLoader.d.ts +17 -0
- package/three/src/loaders/ImageLoader.d.ts +12 -0
- package/three/src/loaders/Loader.d.ts +45 -0
- package/three/src/loaders/LoaderUtils.d.ts +10 -0
- package/three/src/loaders/LoadingManager.d.ts +65 -0
- package/three/src/loaders/MaterialLoader.d.ts +19 -0
- package/three/src/loaders/ObjectLoader.d.ts +25 -0
- package/three/src/loaders/TextureLoader.d.ts +13 -0
- package/three/src/materials/LineBasicMaterial.d.ts +60 -0
- package/three/src/materials/LineDashedMaterial.d.ts +40 -0
- package/three/src/materials/Material.d.ts +608 -0
- package/three/src/materials/Materials.d.ts +18 -0
- package/three/src/materials/MeshBasicMaterial.d.ts +139 -0
- package/three/src/materials/MeshDepthMaterial.d.ts +76 -0
- package/three/src/materials/MeshDistanceMaterial.d.ts +62 -0
- package/three/src/materials/MeshLambertMaterial.d.ts +204 -0
- package/three/src/materials/MeshMatcapMaterial.d.ts +117 -0
- package/three/src/materials/MeshNormalMaterial.d.ts +93 -0
- package/three/src/materials/MeshPhongMaterial.d.ts +228 -0
- package/three/src/materials/MeshPhysicalMaterial.d.ts +236 -0
- package/three/src/materials/MeshStandardMaterial.d.ts +218 -0
- package/three/src/materials/MeshToonMaterial.d.ts +178 -0
- package/three/src/materials/PointsMaterial.d.ts +61 -0
- package/three/src/materials/RawShaderMaterial.d.ts +14 -0
- package/three/src/materials/ShaderMaterial.d.ts +175 -0
- package/three/src/materials/ShadowMaterial.d.ts +39 -0
- package/three/src/materials/SpriteMaterial.d.ts +66 -0
- package/three/src/math/Box2.d.ts +48 -0
- package/three/src/math/Box3.d.ts +66 -0
- package/three/src/math/Color.d.ts +358 -0
- package/three/src/math/ColorManagement.d.ts +37 -0
- package/three/src/math/Cylindrical.d.ts +26 -0
- package/three/src/math/Euler.d.ts +50 -0
- package/three/src/math/Frustum.d.ts +30 -0
- package/three/src/math/Interpolant.d.ts +10 -0
- package/three/src/math/Line3.d.ts +29 -0
- package/three/src/math/MathUtils.d.ts +131 -0
- package/three/src/math/Matrix2.d.ts +48 -0
- package/three/src/math/Matrix3.d.ts +154 -0
- package/three/src/math/Matrix4.d.ts +217 -0
- package/three/src/math/Plane.d.ts +47 -0
- package/three/src/math/Quaternion.d.ts +173 -0
- package/three/src/math/Ray.d.ts +55 -0
- package/three/src/math/Sphere.d.ts +47 -0
- package/three/src/math/Spherical.d.ts +27 -0
- package/three/src/math/SphericalHarmonics3.d.ts +50 -0
- package/three/src/math/Triangle.d.ts +54 -0
- package/three/src/math/Vector2.d.ts +321 -0
- package/three/src/math/Vector3.d.ts +301 -0
- package/three/src/math/Vector4.d.ts +239 -0
- package/three/src/math/interpolants/CubicInterpolant.d.ts +7 -0
- package/three/src/math/interpolants/DiscreteInterpolant.d.ts +7 -0
- package/three/src/math/interpolants/LinearInterpolant.d.ts +7 -0
- package/three/src/math/interpolants/QuaternionLinearInterpolant.d.ts +7 -0
- package/three/src/nodes/Nodes.d.ts +231 -0
- package/three/src/nodes/accessors/AccessorsUtils.d.ts +9 -0
- package/three/src/nodes/accessors/BatchNode.d.ts +14 -0
- package/three/src/nodes/accessors/BitangentNode.d.ts +9 -0
- package/three/src/nodes/accessors/BufferAttributeNode.d.ts +28 -0
- package/three/src/nodes/accessors/BufferNode.d.ts +13 -0
- package/three/src/nodes/accessors/CameraNode.d.ts +15 -0
- package/three/src/nodes/accessors/ClippingNode.d.ts +16 -0
- package/three/src/nodes/accessors/CubeTextureNode.d.ts +24 -0
- package/three/src/nodes/accessors/InstanceNode.d.ts +13 -0
- package/three/src/nodes/accessors/MaterialNode.d.ts +130 -0
- package/three/src/nodes/accessors/MaterialReferenceNode.d.ts +9 -0
- package/three/src/nodes/accessors/ModelNode.d.ts +20 -0
- package/three/src/nodes/accessors/ModelViewProjectionNode.d.ts +8 -0
- package/three/src/nodes/accessors/NormalNode.d.ts +12 -0
- package/three/src/nodes/accessors/Object3DNode.d.ts +26 -0
- package/three/src/nodes/accessors/PointUVNode.d.ts +10 -0
- package/three/src/nodes/accessors/PositionNode.d.ts +9 -0
- package/three/src/nodes/accessors/ReferenceNode.d.ts +22 -0
- package/three/src/nodes/accessors/ReflectVectorNode.d.ts +9 -0
- package/three/src/nodes/accessors/RendererReferenceNode.d.ts +11 -0
- package/three/src/nodes/accessors/SkinningNode.d.ts +20 -0
- package/three/src/nodes/accessors/StorageBufferNode.d.ts +26 -0
- package/three/src/nodes/accessors/StorageTextureNode.d.ts +28 -0
- package/three/src/nodes/accessors/TangentNode.d.ts +12 -0
- package/three/src/nodes/accessors/Texture3DNode.d.ts +13 -0
- package/three/src/nodes/accessors/TextureBicubicNode.d.ts +18 -0
- package/three/src/nodes/accessors/TextureNode.d.ts +37 -0
- package/three/src/nodes/accessors/UVNode.d.ts +4 -0
- package/three/src/nodes/accessors/UniformsNode.d.ts +23 -0
- package/three/src/nodes/accessors/UserDataNode.d.ts +11 -0
- package/three/src/nodes/accessors/VertexColorNode.d.ts +12 -0
- package/three/src/nodes/code/CodeNode.d.ts +23 -0
- package/three/src/nodes/code/ExpressionNode.d.ts +9 -0
- package/three/src/nodes/code/FunctionCallNode.d.ts +22 -0
- package/three/src/nodes/code/FunctionNode.d.ts +38 -0
- package/three/src/nodes/core/AssignNode.d.ts +18 -0
- package/three/src/nodes/core/AttributeNode.d.ts +15 -0
- package/three/src/nodes/core/BypassNode.d.ts +18 -0
- package/three/src/nodes/core/CacheNode.d.ts +20 -0
- package/three/src/nodes/core/ConstNode.d.ts +9 -0
- package/three/src/nodes/core/ContextNode.d.ts +21 -0
- package/three/src/nodes/core/IndexNode.d.ts +20 -0
- package/three/src/nodes/core/InputNode.d.ts +15 -0
- package/three/src/nodes/core/LightingModel.d.ts +46 -0
- package/three/src/nodes/core/MRTNode.d.ts +19 -0
- package/three/src/nodes/core/Node.d.ts +117 -0
- package/three/src/nodes/core/NodeAttribute.d.ts +9 -0
- package/three/src/nodes/core/NodeBuilder.d.ts +133 -0
- package/three/src/nodes/core/NodeCache.d.ts +49 -0
- package/three/src/nodes/core/NodeCode.d.ts +4 -0
- package/three/src/nodes/core/NodeFrame.d.ts +34 -0
- package/three/src/nodes/core/NodeFunction.d.ts +13 -0
- package/three/src/nodes/core/NodeFunctionInput.d.ts +7 -0
- package/three/src/nodes/core/NodeKeywords.d.ts +17 -0
- package/three/src/nodes/core/NodeParser.d.ts +5 -0
- package/three/src/nodes/core/NodeUniform.d.ts +14 -0
- package/three/src/nodes/core/NodeUtils.d.ts +18 -0
- package/three/src/nodes/core/NodeVar.d.ts +7 -0
- package/three/src/nodes/core/NodeVarying.d.ts +7 -0
- package/three/src/nodes/core/OutputStructNode.d.ts +12 -0
- package/three/src/nodes/core/PropertyNode.d.ts +43 -0
- package/three/src/nodes/core/StackNode.d.ts +17 -0
- package/three/src/nodes/core/StructTypeNode.d.ts +8 -0
- package/three/src/nodes/core/TempNode.d.ts +10 -0
- package/three/src/nodes/core/UniformGroup.d.ts +7 -0
- package/three/src/nodes/core/UniformGroupNode.d.ts +21 -0
- package/three/src/nodes/core/UniformNode.d.ts +20 -0
- package/three/src/nodes/core/VarNode.d.ts +28 -0
- package/three/src/nodes/core/VaryingNode.d.ts +21 -0
- package/three/src/nodes/core/constants.d.ts +27 -0
- package/three/src/nodes/display/AfterImageNode.d.ts +25 -0
- package/three/src/nodes/display/AnamorphicNode.d.ts +26 -0
- package/three/src/nodes/display/BlendModeNode.d.ts +43 -0
- package/three/src/nodes/display/BloomNode.d.ts +30 -0
- package/three/src/nodes/display/ColorAdjustmentNode.d.ts +35 -0
- package/three/src/nodes/display/ColorSpaceNode.d.ts +32 -0
- package/three/src/nodes/display/DenoiseNode.d.ts +32 -0
- package/three/src/nodes/display/DepthOfFieldNode.d.ts +24 -0
- package/three/src/nodes/display/DotScreenNode.d.ts +22 -0
- package/three/src/nodes/display/FXAANode.d.ts +19 -0
- package/three/src/nodes/display/FilmNode.d.ts +21 -0
- package/three/src/nodes/display/FrontFacingNode.d.ts +10 -0
- package/three/src/nodes/display/GTAONode.d.ts +42 -0
- package/three/src/nodes/display/GaussianBlurNode.d.ts +27 -0
- package/three/src/nodes/display/Lut3DNode.d.ts +25 -0
- package/three/src/nodes/display/NormalMapNode.d.ts +21 -0
- package/three/src/nodes/display/PassNode.d.ts +62 -0
- package/three/src/nodes/display/PixelationPassNode.d.ts +41 -0
- package/three/src/nodes/display/PosterizeNode.d.ts +17 -0
- package/three/src/nodes/display/RGBShiftNode.d.ts +24 -0
- package/three/src/nodes/display/RenderOutputNode.d.ts +24 -0
- package/three/src/nodes/display/SobelOperatorNode.d.ts +17 -0
- package/three/src/nodes/display/ToneMappingNode.d.ts +25 -0
- package/three/src/nodes/display/TransitionNode.d.ts +27 -0
- package/three/src/nodes/display/ViewportDepthNode.d.ts +28 -0
- package/three/src/nodes/display/ViewportDepthTextureNode.d.ts +9 -0
- package/three/src/nodes/display/ViewportNode.d.ts +25 -0
- package/three/src/nodes/display/ViewportSharedTextureNode.d.ts +15 -0
- package/three/src/nodes/display/ViewportTextureNode.d.ts +25 -0
- package/three/src/nodes/fog/FogExp2Node.d.ts +18 -0
- package/three/src/nodes/fog/FogNode.d.ts +21 -0
- package/three/src/nodes/fog/FogRangeNode.d.ts +19 -0
- package/three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +7 -0
- package/three/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +7 -0
- package/three/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +7 -0
- package/three/src/nodes/functions/BSDF/DFGApprox.d.ts +11 -0
- package/three/src/nodes/functions/BSDF/D_GGX.d.ts +10 -0
- package/three/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +8 -0
- package/three/src/nodes/functions/BSDF/F_Schlick.d.ts +7 -0
- package/three/src/nodes/functions/BSDF/LTC.d.ts +7 -0
- package/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +7 -0
- package/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +7 -0
- package/three/src/nodes/functions/BasicLightingModel.d.ts +7 -0
- package/three/src/nodes/functions/PhongLightingModel.d.ts +7 -0
- package/three/src/nodes/functions/PhysicalLightingModel.d.ts +23 -0
- package/three/src/nodes/functions/ShadowMaskModel.d.ts +9 -0
- package/three/src/nodes/functions/ToonLightingModel.d.ts +3 -0
- package/three/src/nodes/functions/material/getGeometryRoughness.d.ts +6 -0
- package/three/src/nodes/functions/material/getRoughness.d.ts +7 -0
- package/three/src/nodes/geometry/RangeNode.d.ts +19 -0
- package/three/src/nodes/gpgpu/ComputeNode.d.ts +20 -0
- package/three/src/nodes/lighting/AONode.d.ts +8 -0
- package/three/src/nodes/lighting/AnalyticLightNode.d.ts +8 -0
- package/three/src/nodes/lighting/BasicEnvironmentNode.d.ts +10 -0
- package/three/src/nodes/lighting/BasicLightMapNode.d.ts +8 -0
- package/three/src/nodes/lighting/EnvironmentNode.d.ts +8 -0
- package/three/src/nodes/lighting/HemisphereLightNode.d.ts +13 -0
- package/three/src/nodes/lighting/IrradianceNode.d.ts +8 -0
- package/three/src/nodes/lighting/LightUtils.d.ts +5 -0
- package/three/src/nodes/lighting/LightingContextNode.d.ts +22 -0
- package/three/src/nodes/lighting/LightingNode.d.ts +7 -0
- package/three/src/nodes/lighting/LightsNode.d.ts +19 -0
- package/three/src/nodes/lighting/PointLightNode.d.ts +10 -0
- package/three/src/nodes/lighting/RectAreaLightNode.d.ts +21 -0
- package/three/src/nodes/lighting/SpotLightNode.d.ts +15 -0
- package/three/src/nodes/loaders/NodeLoader.d.ts +16 -0
- package/three/src/nodes/loaders/NodeMaterialLoader.d.ts +8 -0
- package/three/src/nodes/loaders/NodeObjectLoader.d.ts +10 -0
- package/three/src/nodes/materials/Line2NodeMaterial.d.ts +53 -0
- package/three/src/nodes/materials/LineBasicNodeMaterial.d.ts +21 -0
- package/three/src/nodes/materials/Materials.d.ts +15 -0
- package/three/src/nodes/materials/MeshBasicNodeMaterial.d.ts +35 -0
- package/three/src/nodes/materials/MeshMatcapNodeMaterial.d.ts +31 -0
- package/three/src/nodes/materials/MeshNormalNodeMaterial.d.ts +27 -0
- package/three/src/nodes/materials/MeshPhongNodeMaterial.d.ts +55 -0
- package/three/src/nodes/materials/MeshPhysicalNodeMaterial.d.ts +87 -0
- package/three/src/nodes/materials/MeshSSSNodeMaterial.d.ts +16 -0
- package/three/src/nodes/materials/MeshStandardNodeMaterial.d.ts +55 -0
- package/three/src/nodes/materials/MeshToonNodeMaterial.d.ts +41 -0
- package/three/src/nodes/materials/NodeMaterial.d.ts +124 -0
- package/three/src/nodes/materials/PointsNodeMaterial.d.ts +21 -0
- package/three/src/nodes/materials/ShadowNodeMaterial.d.ts +16 -0
- package/three/src/nodes/materials/SpriteNodeMaterial.d.ts +25 -0
- package/three/src/nodes/materials/VolumeNodeMaterial.d.ts +10 -0
- package/three/src/nodes/materialx/MaterialXNodes.d.ts +36 -0
- package/three/src/nodes/materialx/lib/mx_hsv.d.ts +6 -0
- package/three/src/nodes/materialx/lib/mx_noise.d.ts +139 -0
- package/three/src/nodes/materialx/lib/mx_transform_color.d.ts +4 -0
- package/three/src/nodes/math/CondNode.d.ts +18 -0
- package/three/src/nodes/math/HashNode.d.ts +16 -0
- package/three/src/nodes/math/MathNode.d.ts +253 -0
- package/three/src/nodes/math/MathUtils.d.ts +16 -0
- package/three/src/nodes/math/OperatorNode.d.ts +61 -0
- package/three/src/nodes/math/TriNoise3D.d.ts +8 -0
- package/three/src/nodes/pmrem/PMREMNode.d.ts +16 -0
- package/three/src/nodes/procedural/CheckerNode.d.ts +15 -0
- package/three/src/nodes/shadernode/ShaderNode.d.ts +226 -0
- package/three/src/nodes/utils/ArrayElementNode.d.ts +9 -0
- package/three/src/nodes/utils/ConvertNode.d.ts +7 -0
- package/three/src/nodes/utils/DiscardNode.d.ts +17 -0
- package/three/src/nodes/utils/EquirectUVNode.d.ts +8 -0
- package/three/src/nodes/utils/JoinNode.d.ts +10 -0
- package/three/src/nodes/utils/MatcapUVNode.d.ts +8 -0
- package/three/src/nodes/utils/MaxMipLevelNode.d.ts +14 -0
- package/three/src/nodes/utils/OscNode.d.ts +21 -0
- package/three/src/nodes/utils/PackingNode.d.ts +24 -0
- package/three/src/nodes/utils/RTTNode.d.ts +40 -0
- package/three/src/nodes/utils/ReflectorNode.d.ts +32 -0
- package/three/src/nodes/utils/RemapNode.d.ts +24 -0
- package/three/src/nodes/utils/RotateNode.d.ts +18 -0
- package/three/src/nodes/utils/RotateUVNode.d.ts +19 -0
- package/three/src/nodes/utils/SplitNode.d.ts +15 -0
- package/three/src/nodes/utils/SpriteSheetUVNode.d.ts +12 -0
- package/three/src/nodes/utils/StoargeArrayElementNode.d.ts +22 -0
- package/three/src/nodes/utils/TimerNode.d.ts +21 -0
- package/three/src/nodes/utils/TriplanarTexturesNode.d.ts +25 -0
- package/three/src/objects/BatchedMesh.d.ts +193 -0
- package/three/src/objects/Bone.d.ts +36 -0
- package/three/src/objects/Group.d.ts +43 -0
- package/three/src/objects/InstancedMesh.d.ts +175 -0
- package/three/src/objects/LOD.d.ts +104 -0
- package/three/src/objects/Line.d.ts +83 -0
- package/three/src/objects/LineLoop.d.ts +36 -0
- package/three/src/objects/LineSegments.d.ts +37 -0
- package/three/src/objects/Mesh.d.ts +90 -0
- package/three/src/objects/Points.d.ts +62 -0
- package/three/src/objects/Skeleton.d.ts +120 -0
- package/three/src/objects/SkinnedMesh.d.ts +156 -0
- package/three/src/objects/Sprite.d.ts +65 -0
- package/three/src/renderers/WebGL3DRenderTarget.d.ts +29 -0
- package/three/src/renderers/WebGLArrayRenderTarget.d.ts +29 -0
- package/three/src/renderers/WebGLCubeRenderTarget.d.ts +18 -0
- package/three/src/renderers/WebGLRenderTarget.d.ts +8 -0
- package/three/src/renderers/WebGLRenderer.d.ts +516 -0
- package/three/src/renderers/common/Animation.d.ts +13 -0
- package/three/src/renderers/common/Attributes.d.ts +22 -0
- package/three/src/renderers/common/Backend.d.ts +19 -0
- package/three/src/renderers/common/Background.d.ts +23 -0
- package/three/src/renderers/common/BindGroup.d.ts +9 -0
- package/three/src/renderers/common/Binding.d.ts +8 -0
- package/three/src/renderers/common/Bindings.d.ts +35 -0
- package/three/src/renderers/common/Buffer.d.ts +11 -0
- package/three/src/renderers/common/BufferUtils.d.ts +4 -0
- package/three/src/renderers/common/ChainMap.d.ts +9 -0
- package/three/src/renderers/common/ClippingContext.d.ts +23 -0
- package/three/src/renderers/common/Color4.d.ts +10 -0
- package/three/src/renderers/common/ComputePipeline.d.ts +8 -0
- package/three/src/renderers/common/Constants.d.ts +9 -0
- package/three/src/renderers/common/CubeRenderTarget.d.ts +10 -0
- package/three/src/renderers/common/DataMap.d.ts +30 -0
- package/three/src/renderers/common/Geometries.d.ts +31 -0
- package/three/src/renderers/common/Info.d.ts +34 -0
- package/three/src/renderers/common/Pipeline.d.ts +6 -0
- package/three/src/renderers/common/Pipelines.d.ts +53 -0
- package/three/src/renderers/common/PostProcessing.d.ts +21 -0
- package/three/src/renderers/common/ProgrammableStage.d.ts +10 -0
- package/three/src/renderers/common/QuadMesh.d.ts +14 -0
- package/three/src/renderers/common/RenderBundle.d.ts +9 -0
- package/three/src/renderers/common/RenderBundles.d.ts +11 -0
- package/three/src/renderers/common/RenderContext.d.ts +41 -0
- package/three/src/renderers/common/RenderContexts.d.ts +15 -0
- package/three/src/renderers/common/RenderList.d.ts +42 -0
- package/three/src/renderers/common/RenderLists.d.ts +11 -0
- package/three/src/renderers/common/RenderObject.d.ts +61 -0
- package/three/src/renderers/common/RenderObjects.d.ts +31 -0
- package/three/src/renderers/common/RenderPipeline.d.ts +8 -0
- package/three/src/renderers/common/Renderer.d.ts +183 -0
- package/three/src/renderers/common/SampledTexture.d.ts +27 -0
- package/three/src/renderers/common/Sampler.d.ts +11 -0
- package/three/src/renderers/common/StorageBufferAttribute.d.ts +7 -0
- package/three/src/renderers/common/StorageInstancedBufferAttribute.d.ts +8 -0
- package/three/src/renderers/common/StorageTexture.d.ts +5 -0
- package/three/src/renderers/common/Textures.d.ts +67 -0
- package/three/src/renderers/common/Uniform.d.ts +45 -0
- package/three/src/renderers/common/UniformBuffer.d.ts +6 -0
- package/three/src/renderers/common/UniformsGroup.d.ts +23 -0
- package/three/src/renderers/common/extras/PMREMGenerator.d.ts +9 -0
- package/three/src/renderers/common/nodes/NodeBuilderState.d.ts +19 -0
- package/three/src/renderers/common/nodes/NodeSampledTexture.d.ts +24 -0
- package/three/src/renderers/common/nodes/NodeSampler.d.ts +12 -0
- package/three/src/renderers/common/nodes/NodeUniform.d.ts +45 -0
- package/three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +10 -0
- package/three/src/renderers/common/nodes/Nodes.d.ts +98 -0
- package/three/src/renderers/shaders/ShaderChunk.d.ts +143 -0
- package/three/src/renderers/shaders/ShaderLib.d.ts +29 -0
- package/three/src/renderers/shaders/UniformsLib.d.ts +189 -0
- package/three/src/renderers/shaders/UniformsUtils.d.ts +14 -0
- package/three/src/renderers/webgl/WebGLAttributes.d.ts +21 -0
- package/three/src/renderers/webgl/WebGLBindingStates.d.ts +20 -0
- package/three/src/renderers/webgl/WebGLBufferRenderer.d.ts +12 -0
- package/three/src/renderers/webgl/WebGLCapabilities.d.ts +35 -0
- package/three/src/renderers/webgl/WebGLClipping.d.ts +26 -0
- package/three/src/renderers/webgl/WebGLCubeMaps.d.ts +8 -0
- package/three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +9 -0
- package/three/src/renderers/webgl/WebGLExtensions.d.ts +7 -0
- package/three/src/renderers/webgl/WebGLGeometries.d.ts +13 -0
- package/three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +10 -0
- package/three/src/renderers/webgl/WebGLInfo.d.ts +39 -0
- package/three/src/renderers/webgl/WebGLLights.d.ts +49 -0
- package/three/src/renderers/webgl/WebGLObjects.d.ts +6 -0
- package/three/src/renderers/webgl/WebGLProgram.d.ts +30 -0
- package/three/src/renderers/webgl/WebGLPrograms.d.ts +218 -0
- package/three/src/renderers/webgl/WebGLProperties.d.ts +8 -0
- package/three/src/renderers/webgl/WebGLRenderLists.d.ts +52 -0
- package/three/src/renderers/webgl/WebGLShader.d.ts +1 -0
- package/three/src/renderers/webgl/WebGLShadowMap.d.ts +38 -0
- package/three/src/renderers/webgl/WebGLState.d.ts +71 -0
- package/three/src/renderers/webgl/WebGLTextures.d.ts +22 -0
- package/three/src/renderers/webgl/WebGLUniforms.d.ts +12 -0
- package/three/src/renderers/webgl/WebGLUniformsGroups.d.ts +17 -0
- package/three/src/renderers/webgl/WebGLUtils.d.ts +8 -0
- package/three/src/renderers/webgl-fallback/WebGLBackend.d.ts +14 -0
- package/three/src/renderers/webgpu/WebGPUBackend.d.ts +21 -0
- package/three/src/renderers/webgpu/WebGPURenderer.d.ts +10 -0
- package/three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +75 -0
- package/three/src/renderers/webgpu/nodes/WGSLNodeFunction.d.ts +6 -0
- package/three/src/renderers/webgpu/nodes/WGSLNodeParser.d.ts +6 -0
- package/three/src/renderers/webgpu/utils/WebGPUConstants.d.ts +328 -0
- package/three/src/renderers/webxr/WebXRController.d.ts +63 -0
- package/three/src/renderers/webxr/WebXRDepthSensing.d.ts +22 -0
- package/three/src/renderers/webxr/WebXRManager.d.ts +87 -0
- package/three/src/scenes/Fog.d.ts +77 -0
- package/three/src/scenes/FogExp2.d.ts +66 -0
- package/three/src/scenes/Scene.d.ts +118 -0
- package/three/src/textures/CanvasTexture.d.ts +34 -0
- package/three/src/textures/CompressedArrayTexture.d.ts +61 -0
- package/three/src/textures/CompressedCubeTexture.d.ts +9 -0
- package/three/src/textures/CompressedTexture.d.ts +74 -0
- package/three/src/textures/CubeTexture.d.ts +82 -0
- package/three/src/textures/Data3DTexture.d.ts +96 -0
- package/three/src/textures/DataArrayTexture.d.ts +123 -0
- package/three/src/textures/DataTexture.d.ts +92 -0
- package/three/src/textures/DepthTexture.d.ts +85 -0
- package/three/src/textures/FramebufferTexture.d.ts +62 -0
- package/three/src/textures/Source.d.ts +75 -0
- package/three/src/textures/Texture.d.ts +445 -0
- package/three/src/textures/VideoTexture.d.ts +73 -0
- package/three/src/textures/types.d.ts +9 -0
- package/three/src/utils.d.ts +3 -0
- package/three/three.webgpu.d.ts +1 -0
- package/three.webgpu.d.ts +1 -0
- package/three.webgpu.js +63045 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { EventDispatcher } from '../../core/EventDispatcher.js';
|
|
2
|
+
import { NodeUpdateType } from './constants.js';
|
|
3
|
+
import NodeBuilder from './NodeBuilder.js';
|
|
4
|
+
import NodeFrame from './NodeFrame.js';
|
|
5
|
+
interface NodeJSONMeta {
|
|
6
|
+
textures: {
|
|
7
|
+
[key: string]: unknown;
|
|
8
|
+
};
|
|
9
|
+
images: {
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
};
|
|
12
|
+
nodes: {
|
|
13
|
+
[key: string]: NodeJSONIntermediateOutputData;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
interface NodeJSONMetadata {
|
|
17
|
+
version: number;
|
|
18
|
+
type: 'Node';
|
|
19
|
+
generator: 'Node.toJSON';
|
|
20
|
+
}
|
|
21
|
+
interface NodeJSONInputNodes {
|
|
22
|
+
[property: string]:
|
|
23
|
+
| string[]
|
|
24
|
+
| {
|
|
25
|
+
[index: string]: string | undefined;
|
|
26
|
+
}
|
|
27
|
+
| string
|
|
28
|
+
| undefined;
|
|
29
|
+
}
|
|
30
|
+
export interface NodeJSONInputData {
|
|
31
|
+
inputNodes?: NodeJSONInputNodes | undefined;
|
|
32
|
+
meta: {
|
|
33
|
+
textures: {
|
|
34
|
+
[key: string]: unknown;
|
|
35
|
+
};
|
|
36
|
+
nodes: {
|
|
37
|
+
[key: string]: Node;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export interface NodeJSONIntermediateOutputData {
|
|
42
|
+
uuid: string;
|
|
43
|
+
type: string | undefined;
|
|
44
|
+
meta?: NodeJSONMeta | undefined;
|
|
45
|
+
metadata?: NodeJSONMetadata;
|
|
46
|
+
inputNodes?: NodeJSONInputNodes | undefined;
|
|
47
|
+
textures?: unknown[];
|
|
48
|
+
images?: unknown[];
|
|
49
|
+
nodes?: NodeJSONIntermediateOutputData[];
|
|
50
|
+
}
|
|
51
|
+
interface NodeJSONOutputData {
|
|
52
|
+
uuid: string;
|
|
53
|
+
type: string | undefined;
|
|
54
|
+
metadata?: NodeJSONMetadata;
|
|
55
|
+
inputNodes?: NodeJSONInputNodes | undefined;
|
|
56
|
+
textures?: unknown[];
|
|
57
|
+
images?: unknown[];
|
|
58
|
+
nodes?: NodeJSONOutputData[];
|
|
59
|
+
}
|
|
60
|
+
declare class Node extends EventDispatcher<{
|
|
61
|
+
dispose: {};
|
|
62
|
+
}> {
|
|
63
|
+
nodeType: string | null;
|
|
64
|
+
updateType: NodeUpdateType;
|
|
65
|
+
updateBeforeType: NodeUpdateType;
|
|
66
|
+
updateAfterType: NodeUpdateType;
|
|
67
|
+
uuid: string;
|
|
68
|
+
version: number;
|
|
69
|
+
_cacheKey: string | null;
|
|
70
|
+
_cacheKeyVersion: number;
|
|
71
|
+
global: boolean;
|
|
72
|
+
readonly isNode: true;
|
|
73
|
+
readonly id: number;
|
|
74
|
+
self?: this;
|
|
75
|
+
constructor(nodeType?: string | null);
|
|
76
|
+
set needsUpdate(value: boolean);
|
|
77
|
+
get type(): string | undefined;
|
|
78
|
+
onUpdate(callback: (this: this, frame: NodeFrame) => unknown, updateType: NodeUpdateType): this;
|
|
79
|
+
onFrameUpdate(callback: (this: this, frame: NodeFrame) => void): this;
|
|
80
|
+
onRenderUpdate(callback: (this: this, frame: NodeFrame) => void): this;
|
|
81
|
+
onObjectUpdate(callback: (this: this, frame: NodeFrame) => void): this;
|
|
82
|
+
onReference(callback: (this: this, frame: NodeBuilder | NodeFrame) => unknown): this;
|
|
83
|
+
getSelf(): this;
|
|
84
|
+
updateReference(state: NodeBuilder | NodeFrame): unknown;
|
|
85
|
+
isGlobal(builder: NodeBuilder): boolean;
|
|
86
|
+
getChildren(): Generator<Node, void, unknown>;
|
|
87
|
+
dispose(): void;
|
|
88
|
+
traverse(callback: (node: Node) => void): void;
|
|
89
|
+
getCacheKey(force?: boolean): string;
|
|
90
|
+
getHash(builder: NodeBuilder): string;
|
|
91
|
+
getUpdateType(): NodeUpdateType;
|
|
92
|
+
getUpdateBeforeType(): NodeUpdateType;
|
|
93
|
+
getUpdateAfterType(): NodeUpdateType;
|
|
94
|
+
getElementType(builder: NodeBuilder): 'bool' | 'int' | 'float' | 'vec2' | 'vec3' | 'vec4' | 'uint' | null;
|
|
95
|
+
getNodeType(builder: NodeBuilder): string | null;
|
|
96
|
+
getShared(builder: NodeBuilder): Node;
|
|
97
|
+
setup(builder: NodeBuilder): unknown;
|
|
98
|
+
increaseUsage(builder: NodeBuilder): number;
|
|
99
|
+
analyze(builder: NodeBuilder): void;
|
|
100
|
+
generate(builder: NodeBuilder, output?: string | null): string | null | undefined;
|
|
101
|
+
updateBefore(frame: NodeFrame): void;
|
|
102
|
+
updateAfter(frame: NodeFrame): void;
|
|
103
|
+
update(frame: NodeFrame): void;
|
|
104
|
+
build(builder: NodeBuilder, output?: string | null): string | null;
|
|
105
|
+
getSerializeChildren(): Generator<import('./NodeUtils.js').NodeChild, void, unknown>;
|
|
106
|
+
serialize(json: NodeJSONIntermediateOutputData): void;
|
|
107
|
+
deserialize(json: NodeJSONInputData): void;
|
|
108
|
+
toJSON(meta?: NodeJSONMeta | string): NodeJSONOutputData;
|
|
109
|
+
}
|
|
110
|
+
export default Node;
|
|
111
|
+
export declare function addNodeClass(
|
|
112
|
+
type: string,
|
|
113
|
+
nodeClass: {
|
|
114
|
+
new (...args: any[]): Node;
|
|
115
|
+
}
|
|
116
|
+
): void;
|
|
117
|
+
export declare function createNodeFromType(type: string): Node | undefined;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { BufferGeometry } from '../../core/BufferGeometry.js';
|
|
2
|
+
import { Object3D } from '../../core/Object3D.js';
|
|
3
|
+
import { Material } from '../../materials/Material.js';
|
|
4
|
+
import Renderer from '../../renderers/common/Renderer.js';
|
|
5
|
+
import { Texture } from '../../textures/Texture.js';
|
|
6
|
+
import FogNode from '../fog/FogNode.js';
|
|
7
|
+
import LightsNode from '../lighting/LightsNode.js';
|
|
8
|
+
import { NodeShaderStage } from './constants.js';
|
|
9
|
+
import Node from './Node.js';
|
|
10
|
+
import NodeAttribute from './NodeAttribute.js';
|
|
11
|
+
import NodeCache from './NodeCache.js';
|
|
12
|
+
import NodeParser from './NodeParser.js';
|
|
13
|
+
import NodeUniform from './NodeUniform.js';
|
|
14
|
+
import NodeVar from './NodeVar.js';
|
|
15
|
+
import NodeVarying from './NodeVarying.js';
|
|
16
|
+
import StackNode from './StackNode.js';
|
|
17
|
+
|
|
18
|
+
export type BuildStageOption = 'construct' | 'analyze' | 'generate';
|
|
19
|
+
|
|
20
|
+
export interface FlowData {
|
|
21
|
+
code: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface NodeData {
|
|
25
|
+
vertex: { [key: string]: unknown };
|
|
26
|
+
fragment: { [key: string]: unknown };
|
|
27
|
+
compute: { [key: string]: unknown };
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export type NodeBuilderContext = { [key: string]: unknown };
|
|
31
|
+
|
|
32
|
+
export default abstract class NodeBuilder {
|
|
33
|
+
object: Object3D;
|
|
34
|
+
material: Material;
|
|
35
|
+
geometry: BufferGeometry;
|
|
36
|
+
renderer: Renderer;
|
|
37
|
+
parser: NodeParser;
|
|
38
|
+
|
|
39
|
+
nodes: Node[];
|
|
40
|
+
updateNodes: Node[];
|
|
41
|
+
hashNodes: { [hash: string]: Node };
|
|
42
|
+
|
|
43
|
+
lightsNode: LightsNode;
|
|
44
|
+
fogNode: FogNode;
|
|
45
|
+
|
|
46
|
+
vertexShader: string;
|
|
47
|
+
fragmentShader: string;
|
|
48
|
+
computeShader: string;
|
|
49
|
+
|
|
50
|
+
cache: NodeCache;
|
|
51
|
+
globalCache: NodeCache;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @TODO used to be missing. check the actual type later
|
|
55
|
+
*/
|
|
56
|
+
flowsData: any;
|
|
57
|
+
|
|
58
|
+
shaderStage: NodeShaderStage | null;
|
|
59
|
+
buildStage: BuildStageOption | null;
|
|
60
|
+
stack: StackNode;
|
|
61
|
+
|
|
62
|
+
setHashNode(node: Node, hash: string): void;
|
|
63
|
+
addNode(node: Node): void;
|
|
64
|
+
get currentNode(): Node;
|
|
65
|
+
isFilteredTexture(texture: Texture): boolean;
|
|
66
|
+
getMethod(method: string): string;
|
|
67
|
+
getNodeFromHash(hash: string): Node;
|
|
68
|
+
|
|
69
|
+
addFlow(shaderStage: NodeShaderStage, node: Node): Node;
|
|
70
|
+
|
|
71
|
+
setContext(context: NodeBuilderContext): void;
|
|
72
|
+
getContext(): NodeBuilderContext;
|
|
73
|
+
setCache(cache: NodeCache): void;
|
|
74
|
+
getCache(): NodeCache;
|
|
75
|
+
getCacheFromNode(node: Node, parent?: boolean): NodeCache;
|
|
76
|
+
isAvailable(name: string): boolean;
|
|
77
|
+
|
|
78
|
+
abstract getInstanceIndex(): string;
|
|
79
|
+
|
|
80
|
+
abstract getDrawIndex(): string | null;
|
|
81
|
+
|
|
82
|
+
abstract getFrontFacing(): string;
|
|
83
|
+
|
|
84
|
+
abstract getFragCoord(): string;
|
|
85
|
+
|
|
86
|
+
isFlipY(): boolean;
|
|
87
|
+
|
|
88
|
+
// @TODO: rename to .generateConst()
|
|
89
|
+
getConst(type: string, value?: unknown): Node;
|
|
90
|
+
getType(type: string): string;
|
|
91
|
+
|
|
92
|
+
generateMethod(method: string): string;
|
|
93
|
+
|
|
94
|
+
getAttribute(name: string, type: string): NodeAttribute;
|
|
95
|
+
|
|
96
|
+
getPropertyName<TValue>(node: NodeVar | NodeUniform<TValue>, shaderStage: NodeShaderStage): string;
|
|
97
|
+
isVector(type: string): boolean;
|
|
98
|
+
|
|
99
|
+
isMatrix(type: string): boolean;
|
|
100
|
+
isReference(type: string): boolean;
|
|
101
|
+
getElementType(type: string): string | null;
|
|
102
|
+
getComponentType(type: string): string | null;
|
|
103
|
+
getVectorType(type: string): string;
|
|
104
|
+
getTypeFromLength(length: number): string;
|
|
105
|
+
getTypeLength(type: string): number;
|
|
106
|
+
getVectorFromMatrix(type: string): string;
|
|
107
|
+
getDataFromNode(node: Node, shaderStage?: NodeShaderStage): NodeData;
|
|
108
|
+
getNodeProperties(node: Node, shaderStage?: NodeShaderStage): { [key: string]: unknown };
|
|
109
|
+
getUniformFromNode(node: Node, type: string, shaderStage?: NodeShaderStage, name?: string | null): NodeUniform<string>;
|
|
110
|
+
getVarFromNode(node: Node, type: string, shaderStage?: NodeShaderStage): NodeVar;
|
|
111
|
+
getVaryFromNode(node: Node, type: string): NodeVarying;
|
|
112
|
+
getCodeFromNode(node: Node, type: string, shaderStage?: NodeShaderStage): string;
|
|
113
|
+
addFlowCode(code: string): void;
|
|
114
|
+
getFlowData(node: Node, shaderStage: NodeShaderStage): FlowData;
|
|
115
|
+
flowNode(node: Node): FlowData;
|
|
116
|
+
flowChildNode(node: Node, output?: string | null): FlowData;
|
|
117
|
+
flowNodeFromShaderStage(shaderStage: NodeShaderStage, node: Node, output?: string | null, propertyName?: string): FlowData;
|
|
118
|
+
hasGeometryAttribute(name: string): boolean;
|
|
119
|
+
abstract getAttributes(shaderStage: NodeShaderStage): string;
|
|
120
|
+
abstract getVaryings(shaderStage: NodeShaderStage): string;
|
|
121
|
+
getVars(shaderStage: NodeShaderStage): string;
|
|
122
|
+
abstract getUniforms(stage: NodeShaderStage): string;
|
|
123
|
+
getCodes(shaderStage: NodeShaderStage): string;
|
|
124
|
+
getHash(): string;
|
|
125
|
+
setShaderStage(shaderStage: NodeShaderStage): void;
|
|
126
|
+
getShaderStage(): NodeShaderStage;
|
|
127
|
+
setBuildStage(buildStage: BuildStageOption): void;
|
|
128
|
+
getBuildStage(): BuildStageOption;
|
|
129
|
+
abstract buildCode(): void;
|
|
130
|
+
build(): this;
|
|
131
|
+
format(snippet: string, fromType: string, toType: string): string;
|
|
132
|
+
getSignature(): string;
|
|
133
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { BufferAttribute, TypedArray } from '../../core/BufferAttribute.js';
|
|
2
|
+
import { InterleavedBuffer } from '../../core/InterleavedBuffer.js';
|
|
3
|
+
import BufferAttributeNode from '../accessors/BufferAttributeNode.js';
|
|
4
|
+
import Node from './Node.js';
|
|
5
|
+
import NodeAttribute from './NodeAttribute.js';
|
|
6
|
+
import NodeCode from './NodeCode.js';
|
|
7
|
+
import NodeUniform from './NodeUniform.js';
|
|
8
|
+
import NodeVar from './NodeVar.js';
|
|
9
|
+
import NodeVarying from './NodeVarying.js';
|
|
10
|
+
export interface ShaderStageNodeData {
|
|
11
|
+
properties?:
|
|
12
|
+
| ({
|
|
13
|
+
outputNode: Node | null;
|
|
14
|
+
initialized?: boolean | undefined;
|
|
15
|
+
} & {
|
|
16
|
+
[K in `node${string}`]?: Node | undefined;
|
|
17
|
+
})
|
|
18
|
+
| undefined;
|
|
19
|
+
bufferAttribute?: NodeAttribute | undefined;
|
|
20
|
+
structType?: Node | undefined;
|
|
21
|
+
uniform?: NodeUniform<unknown> | undefined;
|
|
22
|
+
variable?: NodeVar | undefined;
|
|
23
|
+
varying?: NodeVarying | undefined;
|
|
24
|
+
code?: NodeCode | undefined;
|
|
25
|
+
usageCount?: number | undefined;
|
|
26
|
+
snippet?: string | undefined;
|
|
27
|
+
propertyName?: string | undefined;
|
|
28
|
+
propertySizeName?: string | undefined;
|
|
29
|
+
}
|
|
30
|
+
interface NodeData {
|
|
31
|
+
vertex?: ShaderStageNodeData | undefined;
|
|
32
|
+
fragment?: ShaderStageNodeData | undefined;
|
|
33
|
+
compute?: ShaderStageNodeData | undefined;
|
|
34
|
+
any?: ShaderStageNodeData | undefined;
|
|
35
|
+
}
|
|
36
|
+
interface BufferAttributeData {
|
|
37
|
+
node: BufferAttributeNode;
|
|
38
|
+
}
|
|
39
|
+
declare class NodeCache {
|
|
40
|
+
id: number;
|
|
41
|
+
nodesData: WeakMap<Node | TypedArray | InterleavedBuffer | BufferAttribute, NodeData | BufferAttributeData>;
|
|
42
|
+
parent: NodeCache | null;
|
|
43
|
+
constructor(parent?: NodeCache | null);
|
|
44
|
+
getData(node: Node): NodeData | undefined;
|
|
45
|
+
getData(node: TypedArray | InterleavedBuffer | BufferAttribute): BufferAttributeData | undefined;
|
|
46
|
+
setData(node: Node, data: NodeData): void;
|
|
47
|
+
setData(node: TypedArray | InterleavedBuffer | BufferAttribute, data: BufferAttributeData): void;
|
|
48
|
+
}
|
|
49
|
+
export default NodeCache;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Camera } from '../../cameras/Camera.js';
|
|
2
|
+
import { Object3D } from '../../core/Object3D.js';
|
|
3
|
+
import { Material } from '../../materials/Material.js';
|
|
4
|
+
import Renderer from '../../renderers/common/Renderer.js';
|
|
5
|
+
import { Scene } from '../../scenes/Scene.js';
|
|
6
|
+
import Node from './Node.js';
|
|
7
|
+
|
|
8
|
+
export default class NodeFrame {
|
|
9
|
+
time: number;
|
|
10
|
+
deltaTime: number;
|
|
11
|
+
|
|
12
|
+
frameId: number;
|
|
13
|
+
renderId: number;
|
|
14
|
+
|
|
15
|
+
startTime: number | null;
|
|
16
|
+
|
|
17
|
+
frameMap: WeakMap<Node, number>;
|
|
18
|
+
frameBeforeMap: WeakMap<Node, number>;
|
|
19
|
+
renderMap: WeakMap<Node, number>;
|
|
20
|
+
renderBeforeMap: WeakMap<Node, number>;
|
|
21
|
+
|
|
22
|
+
renderer: Renderer | null;
|
|
23
|
+
material: Material | null;
|
|
24
|
+
camera: Camera | null;
|
|
25
|
+
object: Object3D | null;
|
|
26
|
+
scene: Scene | null;
|
|
27
|
+
|
|
28
|
+
constructor();
|
|
29
|
+
|
|
30
|
+
updateBeforeNode(node: Node): void;
|
|
31
|
+
|
|
32
|
+
updateNode(node: Node): void;
|
|
33
|
+
update(): void;
|
|
34
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import NodeFunctionInput from './NodeFunctionInput.js';
|
|
2
|
+
|
|
3
|
+
export default abstract class NodeFunction {
|
|
4
|
+
isNodeFunction: true;
|
|
5
|
+
type: string;
|
|
6
|
+
inputs: NodeFunctionInput[];
|
|
7
|
+
name: string;
|
|
8
|
+
precision: string;
|
|
9
|
+
|
|
10
|
+
constructor(type: string, inputs: NodeFunctionInput[], name?: string, precision?: string);
|
|
11
|
+
|
|
12
|
+
abstract getCode(name?: string): string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Node from './Node.js';
|
|
2
|
+
import NodeBuilder from './NodeBuilder.js';
|
|
3
|
+
declare class NodeKeywords {
|
|
4
|
+
keywords: string[];
|
|
5
|
+
nodes: {
|
|
6
|
+
[name: string]: Node;
|
|
7
|
+
};
|
|
8
|
+
keywordsCallback: {
|
|
9
|
+
[name: string]: (name: string) => Node;
|
|
10
|
+
};
|
|
11
|
+
constructor();
|
|
12
|
+
getNode(name: string): Node;
|
|
13
|
+
addKeyword(name: string, callback: (name: string) => Node): this;
|
|
14
|
+
parse(code: string): Node[];
|
|
15
|
+
include(builder: NodeBuilder, code: string): void;
|
|
16
|
+
}
|
|
17
|
+
export default NodeKeywords;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import UniformNode from './UniformNode.js';
|
|
2
|
+
declare class NodeUniform<TValue> {
|
|
3
|
+
readonly isNodeUniform: true;
|
|
4
|
+
name: string;
|
|
5
|
+
type: string | null;
|
|
6
|
+
node: UniformNode<TValue>;
|
|
7
|
+
needsUpdate: boolean | undefined;
|
|
8
|
+
constructor(name: string, type: string | null, node: UniformNode<TValue>);
|
|
9
|
+
get value(): TValue;
|
|
10
|
+
set value(val: TValue);
|
|
11
|
+
get id(): number;
|
|
12
|
+
get groupNode(): import('./UniformGroupNode.js').default;
|
|
13
|
+
}
|
|
14
|
+
export default NodeUniform;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Color } from '../../math/Color.js';
|
|
2
|
+
import { Matrix3 } from '../../math/Matrix3.js';
|
|
3
|
+
import { Matrix4 } from '../../math/Matrix4.js';
|
|
4
|
+
import { Vector2 } from '../../math/Vector2.js';
|
|
5
|
+
import { Vector3 } from '../../math/Vector3.js';
|
|
6
|
+
import { Vector4 } from '../../math/Vector4.js';
|
|
7
|
+
import Node from './Node.js';
|
|
8
|
+
|
|
9
|
+
export interface NodeChild {
|
|
10
|
+
property: string;
|
|
11
|
+
index?: number | string;
|
|
12
|
+
childNode: Node;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function getCacheKey(object: Node, force?: boolean): string;
|
|
16
|
+
export function getNodeChildren(object: Node): Generator<NodeChild, void>;
|
|
17
|
+
export function getValueType(value: unknown): string | null;
|
|
18
|
+
export function getValueFromType(type: string, ...params: number[]): Color | Vector2 | Vector3 | Vector4 | Matrix3 | Matrix4 | boolean | number | string | ArrayBufferLike | null;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
|
|
2
|
+
import Node from './Node.js';
|
|
3
|
+
|
|
4
|
+
export default class OutputStructNode extends Node {
|
|
5
|
+
members: Node[];
|
|
6
|
+
|
|
7
|
+
readonly isOutputStructNode: true;
|
|
8
|
+
|
|
9
|
+
constructor(...members: Node[]);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const outputStruct: (...members: Node[]) => ShaderNodeObject<OutputStructNode>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
|
|
2
|
+
import Node from './Node.js';
|
|
3
|
+
|
|
4
|
+
export default class PropertyNode extends Node {
|
|
5
|
+
name: string | null;
|
|
6
|
+
varying: boolean;
|
|
7
|
+
|
|
8
|
+
readonly isPropertyNode: true;
|
|
9
|
+
|
|
10
|
+
constructor(nodeType?: string | null, name?: string | null, varying?: boolean);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const property: (type?: string | null, name?: string | null) => ShaderNodeObject<PropertyNode>;
|
|
14
|
+
export const varyingProperty: (type?: string | null, name?: string | null) => ShaderNodeObject<PropertyNode>;
|
|
15
|
+
|
|
16
|
+
export const diffuseColor: ShaderNodeObject<PropertyNode>;
|
|
17
|
+
export const emissive: ShaderNodeObject<PropertyNode>;
|
|
18
|
+
export const roughness: ShaderNodeObject<PropertyNode>;
|
|
19
|
+
export const metalness: ShaderNodeObject<PropertyNode>;
|
|
20
|
+
export const clearcoat: ShaderNodeObject<PropertyNode>;
|
|
21
|
+
export const clearcoatRoughness: ShaderNodeObject<PropertyNode>;
|
|
22
|
+
export const sheen: ShaderNodeObject<PropertyNode>;
|
|
23
|
+
export const sheenRoughness: ShaderNodeObject<PropertyNode>;
|
|
24
|
+
export const iridescence: ShaderNodeObject<PropertyNode>;
|
|
25
|
+
export const iridescenceIOR: ShaderNodeObject<PropertyNode>;
|
|
26
|
+
export const iridescenceThickness: ShaderNodeObject<PropertyNode>;
|
|
27
|
+
export const alphaT: ShaderNodeObject<PropertyNode>;
|
|
28
|
+
export const anisotropy: ShaderNodeObject<PropertyNode>;
|
|
29
|
+
export const anisotropyT: ShaderNodeObject<PropertyNode>;
|
|
30
|
+
export const anisotropyB: ShaderNodeObject<PropertyNode>;
|
|
31
|
+
export const specularColor: ShaderNodeObject<PropertyNode>;
|
|
32
|
+
export const specularF90: ShaderNodeObject<PropertyNode>;
|
|
33
|
+
export const shininess: ShaderNodeObject<PropertyNode>;
|
|
34
|
+
export const output: ShaderNodeObject<PropertyNode>;
|
|
35
|
+
export const dashSize: ShaderNodeObject<PropertyNode>;
|
|
36
|
+
export const gapSize: ShaderNodeObject<PropertyNode>;
|
|
37
|
+
export const pointWidth: ShaderNodeObject<PropertyNode>;
|
|
38
|
+
export const ior: ShaderNodeObject<PropertyNode>;
|
|
39
|
+
export const transmission: ShaderNodeObject<PropertyNode>;
|
|
40
|
+
export const thickness: ShaderNodeObject<PropertyNode>;
|
|
41
|
+
export const attenuationDistance: ShaderNodeObject<PropertyNode>;
|
|
42
|
+
export const attenuationColor: ShaderNodeObject<PropertyNode>;
|
|
43
|
+
export const dispersion: ShaderNodeObject<PropertyNode>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Node from './Node.js';
|
|
2
|
+
|
|
3
|
+
export default class StackNode extends Node {
|
|
4
|
+
isStackNode: true;
|
|
5
|
+
nodes: Node[];
|
|
6
|
+
outputNode: Node | null;
|
|
7
|
+
|
|
8
|
+
constructor();
|
|
9
|
+
|
|
10
|
+
add(node: Node): this;
|
|
11
|
+
|
|
12
|
+
if(boolNode: Node, method: () => void): this;
|
|
13
|
+
|
|
14
|
+
elseIf(node: Node, method: () => void): this;
|
|
15
|
+
|
|
16
|
+
else(node: Node, method: () => void): this;
|
|
17
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import Node from './Node.js';
|
|
2
|
+
|
|
3
|
+
export default class UniformGroupNode extends Node {
|
|
4
|
+
name: string;
|
|
5
|
+
version: number;
|
|
6
|
+
|
|
7
|
+
shared: boolean;
|
|
8
|
+
|
|
9
|
+
readonly isUniformGroup: true;
|
|
10
|
+
|
|
11
|
+
constructor(name: string, shared?: boolean);
|
|
12
|
+
|
|
13
|
+
set needsUpdate(value: boolean);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const uniformGroup: (name: string) => UniformGroupNode;
|
|
17
|
+
export const sharedUniformGroup: (name: string) => UniformGroupNode;
|
|
18
|
+
|
|
19
|
+
export const frameGroup: UniformGroupNode;
|
|
20
|
+
export const renderGroup: UniformGroupNode;
|
|
21
|
+
export const objectGroup: UniformGroupNode;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NodeUpdateType } from './constants.js';
|
|
2
|
+
import InputNode from './InputNode.js';
|
|
3
|
+
import Node from './Node.js';
|
|
4
|
+
import NodeBuilder from './NodeBuilder.js';
|
|
5
|
+
import NodeFrame from './NodeFrame.js';
|
|
6
|
+
import UniformGroupNode from './UniformGroupNode.js';
|
|
7
|
+
declare class UniformNode<TValue> extends InputNode<TValue> {
|
|
8
|
+
readonly isUniformNode: true;
|
|
9
|
+
name: string;
|
|
10
|
+
groupNode: UniformGroupNode;
|
|
11
|
+
constructor(value: TValue, nodeType?: string | null);
|
|
12
|
+
label(name: string): this;
|
|
13
|
+
setGroup(group: UniformGroupNode): this;
|
|
14
|
+
getGroup(): UniformGroupNode;
|
|
15
|
+
getUniformHash(builder: NodeBuilder): string;
|
|
16
|
+
onUpdate(callback: (frame: NodeFrame, self: this) => TValue | undefined, updateType: NodeUpdateType): this;
|
|
17
|
+
generate(builder: NodeBuilder, output: string | null): string;
|
|
18
|
+
}
|
|
19
|
+
export default UniformNode;
|
|
20
|
+
export declare const uniform: <TValue>(arg1: InputNode<TValue> | TValue, arg2?: Node | string) => import('../shadernode/ShaderNode.js').ShaderNodeObject<UniformNode<TValue>>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { OperatorNodeOp } from '../math/OperatorNode.js';
|
|
2
|
+
import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
|
|
3
|
+
import Node from './Node.js';
|
|
4
|
+
|
|
5
|
+
export default class VarNode extends Node {
|
|
6
|
+
node: Node;
|
|
7
|
+
name: string | null;
|
|
8
|
+
|
|
9
|
+
readonly isVarNode: true;
|
|
10
|
+
|
|
11
|
+
constructor(node: Node, name?: string | null);
|
|
12
|
+
|
|
13
|
+
op(op: OperatorNodeOp, ...params: Node[]): this;
|
|
14
|
+
assign(...params: Node[]): this;
|
|
15
|
+
add(...params: Node[]): this;
|
|
16
|
+
sub(...params: Node[]): this;
|
|
17
|
+
mul(...params: Node[]): this;
|
|
18
|
+
div(...params: Node[]): this;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const temp: (node: NodeRepresentation, name?: string | null) => ShaderNodeObject<VarNode>;
|
|
22
|
+
|
|
23
|
+
declare module '../shadernode/ShaderNode.js' {
|
|
24
|
+
interface NodeElements {
|
|
25
|
+
temp: typeof temp;
|
|
26
|
+
toVar: typeof temp;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
|
|
2
|
+
import Node from './Node.js';
|
|
3
|
+
import NodeBuilder from './NodeBuilder.js';
|
|
4
|
+
import NodeVarying from './NodeVarying.js';
|
|
5
|
+
|
|
6
|
+
export default class VaryingNode extends Node {
|
|
7
|
+
node: Node;
|
|
8
|
+
name: string | null;
|
|
9
|
+
|
|
10
|
+
constructor(node: Node, name?: string | null);
|
|
11
|
+
|
|
12
|
+
setupVarying(builder: NodeBuilder): NodeVarying;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const varying: (node: NodeRepresentation, name?: string) => ShaderNodeObject<VaryingNode>;
|
|
16
|
+
|
|
17
|
+
declare module '../shadernode/ShaderNode.js' {
|
|
18
|
+
interface NodeElements {
|
|
19
|
+
varying: typeof varying;
|
|
20
|
+
}
|
|
21
|
+
}
|