super-three 0.167.0 → 0.169.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/three.cjs +532 -173
- package/build/three.module.js +532 -174
- package/build/three.module.min.js +1 -1
- package/build/three.webgpu.js +18173 -14266
- package/build/three.webgpu.min.js +1 -1
- package/build/three.webgpu.nodes.js +79941 -0
- package/build/three.webgpu.nodes.min.js +6 -0
- package/examples/jsm/Addons.js +0 -4
- package/examples/jsm/animation/AnimationClipCreator.js +1 -1
- package/examples/jsm/capabilities/WebGL.js +27 -21
- package/examples/jsm/controls/ArcballControls.js +174 -158
- package/examples/jsm/controls/DragControls.js +260 -132
- package/examples/jsm/controls/FirstPersonControls.js +175 -163
- package/examples/jsm/controls/FlyControls.js +194 -188
- package/examples/jsm/controls/OrbitControls.js +777 -786
- package/examples/jsm/controls/PointerLockControls.js +24 -15
- package/examples/jsm/controls/TrackballControls.js +469 -448
- package/examples/jsm/controls/TransformControls.js +97 -62
- package/examples/jsm/effects/AnaglyphEffect.js +6 -13
- package/examples/jsm/effects/ParallaxBarrierEffect.js +17 -11
- package/examples/jsm/effects/StereoEffect.js +6 -1
- package/examples/jsm/environments/RoomEnvironment.js +1 -1
- package/examples/jsm/exporters/DRACOExporter.js +4 -2
- package/examples/jsm/exporters/EXRExporter.js +19 -11
- package/examples/jsm/exporters/GLTFExporter.js +6 -1
- package/examples/jsm/exporters/KTX2Exporter.js +21 -13
- package/examples/jsm/exporters/OBJExporter.js +5 -1
- package/examples/jsm/exporters/PLYExporter.js +9 -7
- package/examples/jsm/exporters/USDZExporter.js +29 -8
- package/examples/jsm/geometries/DecalGeometry.js +4 -1
- package/examples/jsm/geometries/InstancedPointsGeometry.js +1 -1
- package/examples/jsm/helpers/LightProbeHelper.js +43 -44
- package/examples/jsm/helpers/LightProbeHelperGPU.js +65 -0
- package/examples/jsm/libs/basis/basis_transcoder.js +8 -10
- package/examples/jsm/libs/basis/basis_transcoder.wasm +0 -0
- package/examples/jsm/libs/ktx-parse.module.js +1 -1
- package/examples/jsm/lights/LightProbeGenerator.js +24 -10
- package/examples/jsm/loaders/ColladaLoader.js +9 -6
- package/examples/jsm/loaders/DRACOLoader.js +3 -1
- package/examples/jsm/loaders/FBXLoader.js +30 -20
- package/examples/jsm/loaders/GLTFLoader.js +5 -10
- package/examples/jsm/loaders/KTX2Loader.js +27 -12
- package/examples/jsm/loaders/MTLLoader.js +4 -3
- package/examples/jsm/loaders/MaterialXLoader.js +40 -14
- package/examples/jsm/loaders/OBJLoader.js +5 -3
- package/examples/jsm/loaders/PCDLoader.js +14 -13
- package/examples/jsm/loaders/PDBLoader.js +3 -2
- package/examples/jsm/loaders/PLYLoader.js +8 -5
- package/examples/jsm/loaders/STLLoader.js +3 -2
- package/examples/jsm/loaders/VRMLLoader.js +10 -10
- package/examples/jsm/loaders/VTKLoader.js +4 -3
- package/examples/jsm/loaders/XYZLoader.js +3 -2
- package/examples/jsm/misc/Timer.js +1 -1
- package/examples/jsm/modifiers/CurveModifierGPU.js +233 -0
- package/examples/jsm/objects/LensflareMesh.js +322 -0
- package/examples/jsm/objects/SkyMesh.js +187 -0
- package/examples/jsm/objects/Water2Mesh.js +158 -0
- package/examples/jsm/objects/WaterMesh.js +101 -0
- package/examples/jsm/physics/JoltPhysics.js +1 -1
- package/examples/jsm/physics/RapierPhysics.js +21 -1
- package/examples/jsm/postprocessing/OutlinePass.js +31 -46
- package/examples/jsm/postprocessing/SSAARenderPass.js +3 -1
- package/examples/jsm/shaders/BleachBypassShader.js +1 -2
- package/examples/jsm/shaders/OutputShader.js +1 -1
- package/examples/jsm/transpiler/GLSLDecoder.js +1 -1
- package/examples/jsm/transpiler/ShaderToyDecoder.js +2 -2
- package/examples/jsm/transpiler/TSLEncoder.js +8 -8
- package/examples/jsm/utils/GeometryCompressionUtils.js +37 -122
- package/examples/jsm/utils/ShadowMapViewer.js +3 -8
- package/examples/jsm/utils/ShadowMapViewerGPU.js +201 -0
- package/examples/jsm/utils/SkeletonUtils.js +84 -66
- package/examples/jsm/utils/TextureUtils.js +2 -1
- package/examples/jsm/utils/TextureUtilsGPU.js +63 -0
- package/examples/jsm/webxr/XRControllerModelFactory.js +1 -1
- package/package.json +3 -2
- package/src/Three.WebGPU.Nodes.js +200 -0
- package/src/Three.WebGPU.js +7 -0
- package/src/Three.js +1 -0
- package/src/audio/Audio.js +2 -2
- package/src/constants.js +1 -1
- package/src/core/BufferAttribute.js +0 -9
- package/src/core/Clock.js +1 -1
- package/src/core/InterleavedBuffer.js +0 -9
- package/src/extras/Controls.js +32 -0
- package/src/geometries/CylinderGeometry.js +11 -4
- package/src/loaders/MaterialLoader.js +7 -1
- package/src/loaders/ObjectLoader.js +3 -3
- package/src/{nodes/loaders → loaders/nodes}/NodeLoader.js +25 -5
- package/src/{nodes/loaders → loaders/nodes}/NodeMaterialLoader.js +21 -18
- package/src/{nodes/loaders → loaders/nodes}/NodeObjectLoader.js +19 -0
- package/src/materials/Material.js +4 -7
- package/src/materials/nodes/InstancedPointsNodeMaterial.js +156 -0
- package/src/{nodes/materials → materials/nodes}/Line2NodeMaterial.js +56 -59
- package/src/{nodes/materials → materials/nodes}/LineBasicNodeMaterial.js +8 -5
- package/src/{nodes/materials → materials/nodes}/LineDashedNodeMaterial.js +12 -10
- package/src/{nodes/materials → materials/nodes}/MeshBasicNodeMaterial.js +16 -12
- package/src/{nodes/materials → materials/nodes}/MeshLambertNodeMaterial.js +10 -6
- package/src/{nodes/materials → materials/nodes}/MeshMatcapNodeMaterial.js +13 -9
- package/src/{nodes/materials → materials/nodes}/MeshNormalNodeMaterial.js +13 -9
- package/src/{nodes/materials → materials/nodes}/MeshPhongNodeMaterial.js +14 -9
- package/src/{nodes/materials → materials/nodes}/MeshPhysicalNodeMaterial.js +22 -18
- package/src/{nodes/materials → materials/nodes}/MeshSSSNodeMaterial.js +10 -7
- package/src/{nodes/materials → materials/nodes}/MeshStandardNodeMaterial.js +22 -12
- package/src/{nodes/materials → materials/nodes}/MeshToonNodeMaterial.js +9 -5
- package/src/{nodes/materials → materials/nodes}/NodeMaterial.js +71 -115
- package/src/{nodes/materials/Materials.js → materials/nodes/NodeMaterials.js} +3 -1
- package/src/{nodes/materials → materials/nodes}/PointsNodeMaterial.js +8 -5
- package/src/{nodes/materials → materials/nodes}/ShadowNodeMaterial.js +9 -5
- package/src/{nodes/materials → materials/nodes}/SpriteNodeMaterial.js +47 -14
- package/src/{nodes/materials → materials/nodes}/VolumeNodeMaterial.js +24 -22
- package/src/materials/nodes/manager/NodeMaterialObserver.js +302 -0
- package/src/math/Triangle.js +24 -0
- package/src/nodes/Nodes.js +103 -159
- package/src/nodes/TSL.js +179 -0
- package/src/nodes/accessors/AccessorsUtils.js +8 -8
- package/src/nodes/accessors/BatchNode.js +53 -21
- package/src/nodes/accessors/{BitangentNode.js → Bitangent.js} +9 -9
- package/src/nodes/accessors/BufferAttributeNode.js +8 -5
- package/src/nodes/accessors/BufferNode.js +7 -4
- package/src/nodes/accessors/Camera.js +13 -0
- package/src/nodes/accessors/ClippingNode.js +19 -13
- package/src/nodes/accessors/CubeTextureNode.js +9 -8
- package/src/nodes/accessors/InstanceNode.js +19 -15
- package/src/nodes/accessors/InstancedPointsMaterialNode.js +8 -5
- package/src/nodes/accessors/Lights.js +51 -0
- package/src/nodes/accessors/MaterialNode.js +56 -55
- package/src/nodes/accessors/MaterialProperties.js +3 -0
- package/src/nodes/accessors/MaterialReferenceNode.js +9 -4
- package/src/nodes/accessors/ModelNode.js +47 -12
- package/src/nodes/accessors/ModelViewProjectionNode.js +12 -9
- package/src/nodes/accessors/MorphNode.js +17 -13
- package/src/nodes/accessors/Normal.js +88 -0
- package/src/nodes/accessors/Object3DNode.js +17 -33
- package/src/nodes/accessors/PointUVNode.js +9 -5
- package/src/nodes/accessors/Position.js +10 -0
- package/src/nodes/accessors/ReferenceBaseNode.js +171 -0
- package/src/nodes/accessors/ReferenceNode.js +50 -7
- package/src/nodes/accessors/ReflectVector.js +10 -0
- package/src/nodes/accessors/RendererReferenceNode.js +12 -6
- package/src/nodes/accessors/SceneNode.js +9 -6
- package/src/nodes/accessors/SkinningNode.js +88 -21
- package/src/nodes/accessors/StorageBufferNode.js +22 -5
- package/src/nodes/accessors/StorageTextureNode.js +9 -6
- package/src/nodes/accessors/Tangent.js +22 -0
- package/src/nodes/accessors/Texture3DNode.js +16 -13
- package/src/nodes/accessors/{TextureBicubicNode.js → TextureBicubic.js} +3 -32
- package/src/nodes/accessors/TextureNode.js +29 -23
- package/src/nodes/accessors/TextureSizeNode.js +10 -9
- package/src/nodes/accessors/{UniformsNode.js → UniformArrayNode.js} +26 -14
- package/src/nodes/accessors/UserDataNode.js +10 -7
- package/src/nodes/accessors/VelocityNode.js +134 -0
- package/src/nodes/accessors/VertexColorNode.js +7 -4
- package/src/nodes/code/CodeNode.js +9 -5
- package/src/nodes/code/ExpressionNode.js +10 -6
- package/src/nodes/code/FunctionCallNode.js +8 -5
- package/src/nodes/code/FunctionNode.js +8 -23
- package/src/nodes/code/ScriptableNode.js +13 -10
- package/src/nodes/code/ScriptableValueNode.js +9 -7
- package/src/nodes/core/AssignNode.js +12 -9
- package/src/nodes/core/AttributeNode.js +12 -21
- package/src/nodes/core/BypassNode.js +11 -7
- package/src/nodes/core/CacheNode.js +10 -6
- package/src/nodes/core/ConstNode.js +6 -3
- package/src/nodes/core/ContextNode.js +21 -11
- package/src/nodes/core/IndexNode.js +35 -8
- package/src/nodes/core/InputNode.js +7 -3
- package/src/nodes/core/MRTNode.js +16 -7
- package/src/nodes/core/Node.js +19 -40
- package/src/nodes/core/NodeBuilder.js +117 -38
- package/src/nodes/core/NodeUtils.js +49 -6
- package/src/nodes/core/OutputStructNode.js +10 -6
- package/src/nodes/core/ParameterNode.js +7 -4
- package/src/nodes/core/PropertyNode.js +36 -32
- package/src/nodes/core/StackNode.js +31 -11
- package/src/nodes/core/StructTypeNode.js +7 -3
- package/src/nodes/core/TempNode.js +8 -4
- package/src/nodes/core/UniformGroupNode.js +14 -11
- package/src/nodes/core/UniformNode.js +7 -4
- package/src/nodes/core/VarNode.js +12 -8
- package/src/nodes/core/VaryingNode.js +10 -6
- package/src/nodes/display/AfterImageNode.js +15 -9
- package/src/nodes/display/AnaglyphPassNode.js +67 -0
- package/src/nodes/display/AnamorphicNode.js +17 -11
- package/src/nodes/display/BleachBypass.js +26 -0
- package/src/nodes/display/BlendMode.js +54 -0
- package/src/nodes/display/BloomNode.js +27 -19
- package/src/nodes/display/BumpMapNode.js +13 -12
- package/src/nodes/display/ColorAdjustment.js +46 -0
- package/src/nodes/display/ColorSpaceFunctions.js +38 -0
- package/src/nodes/display/ColorSpaceNode.js +67 -61
- package/src/nodes/display/DenoiseNode.js +23 -17
- package/src/nodes/display/DepthOfFieldNode.js +12 -7
- package/src/nodes/display/DotScreenNode.js +13 -22
- package/src/nodes/display/FXAANode.js +21 -16
- package/src/nodes/display/FilmNode.js +11 -7
- package/src/nodes/display/FrontFacingNode.js +10 -6
- package/src/nodes/display/GTAONode.js +22 -15
- package/src/nodes/display/GaussianBlurNode.js +14 -8
- package/src/nodes/display/Lut3DNode.js +10 -6
- package/src/nodes/display/MotionBlur.js +25 -0
- package/src/nodes/display/NormalMapNode.js +13 -13
- package/src/nodes/display/ParallaxBarrierPassNode.js +58 -0
- package/src/nodes/display/PassNode.js +95 -8
- package/src/nodes/display/PixelationPassNode.js +20 -8
- package/src/nodes/display/PosterizeNode.js +8 -7
- package/src/nodes/display/RGBShiftNode.js +11 -7
- package/src/nodes/display/RenderOutputNode.js +15 -11
- package/src/nodes/display/SSAAPassNode.js +287 -0
- package/src/nodes/display/ScreenNode.js +181 -0
- package/src/nodes/display/Sepia.js +17 -0
- package/src/nodes/display/SobelOperatorNode.js +13 -8
- package/src/nodes/display/StereoCompositePassNode.js +110 -0
- package/src/nodes/display/StereoPassNode.js +83 -0
- package/src/nodes/display/ToneMappingFunctions.js +190 -0
- package/src/nodes/display/ToneMappingNode.js +15 -175
- package/src/nodes/display/ToonOutlinePassNode.js +111 -0
- package/src/nodes/display/TransitionNode.js +12 -8
- package/src/nodes/display/ViewportDepthNode.js +34 -29
- package/src/nodes/display/ViewportDepthTextureNode.js +10 -9
- package/src/nodes/display/ViewportSharedTextureNode.js +10 -9
- package/src/nodes/display/ViewportTextureNode.js +11 -11
- package/src/nodes/fog/FogExp2Node.js +8 -7
- package/src/nodes/fog/FogNode.js +10 -8
- package/src/nodes/fog/FogRangeNode.js +8 -7
- package/src/nodes/functions/BSDF/BRDF_GGX.js +4 -4
- package/src/nodes/functions/BSDF/BRDF_Lambert.js +2 -2
- package/src/nodes/functions/BSDF/BRDF_Sheen.js +6 -6
- package/src/nodes/functions/BSDF/DFGApprox.js +2 -2
- package/src/nodes/functions/BSDF/D_GGX.js +2 -2
- package/src/nodes/functions/BSDF/D_GGX_Anisotropic.js +3 -3
- package/src/nodes/functions/BSDF/EnvironmentBRDF.js +2 -2
- package/src/nodes/functions/BSDF/F_Schlick.js +2 -2
- package/src/nodes/functions/BSDF/LTC.js +6 -6
- package/src/nodes/functions/BSDF/Schlick_to_F0.js +2 -2
- package/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +2 -2
- package/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.js +2 -2
- package/src/nodes/functions/BasicLightingModel.js +1 -1
- package/src/nodes/functions/PhongLightingModel.js +5 -5
- package/src/nodes/functions/PhysicalLightingModel.js +34 -33
- package/src/nodes/functions/ShadowMaskModel.js +1 -1
- package/src/nodes/functions/ToonLightingModel.js +3 -3
- package/src/nodes/functions/material/getGeometryRoughness.js +4 -4
- package/src/nodes/functions/material/getRoughness.js +2 -2
- package/src/nodes/functions/material/getShIrradianceAt.js +28 -0
- package/src/nodes/geometry/RangeNode.js +9 -5
- package/src/nodes/gpgpu/AtomicFunctionNode.js +99 -0
- package/src/nodes/gpgpu/BarrierNode.js +40 -0
- package/src/nodes/gpgpu/ComputeBuiltinNode.js +98 -0
- package/src/nodes/gpgpu/ComputeNode.js +10 -6
- package/src/nodes/gpgpu/WorkgroupInfoNode.js +100 -0
- package/src/nodes/lighting/AONode.js +6 -3
- package/src/nodes/lighting/AmbientLightNode.js +6 -8
- package/src/nodes/lighting/AnalyticLightNode.js +225 -36
- package/src/nodes/lighting/BasicEnvironmentNode.js +8 -4
- package/src/nodes/lighting/BasicLightMapNode.js +7 -4
- package/src/nodes/lighting/DirectionalLightNode.js +7 -9
- package/src/nodes/lighting/EnvironmentNode.js +23 -19
- package/src/nodes/lighting/HemisphereLightNode.js +11 -11
- package/src/nodes/lighting/IESSpotLightNode.js +7 -9
- package/src/nodes/lighting/IrradianceNode.js +6 -3
- package/src/nodes/lighting/LightProbeNode.js +53 -0
- package/src/nodes/lighting/LightUtils.js +3 -3
- package/src/nodes/lighting/LightingContextNode.js +19 -18
- package/src/nodes/lighting/LightingNode.js +7 -3
- package/src/nodes/lighting/LightsNode.js +112 -75
- package/src/nodes/lighting/PointLightNode.js +12 -13
- package/src/nodes/lighting/RectAreaLightNode.js +11 -11
- package/src/nodes/lighting/SpotLightNode.js +14 -16
- package/src/nodes/materialx/MaterialXNodes.js +2 -2
- package/src/nodes/materialx/lib/mx_hsv.js +36 -31
- package/src/nodes/materialx/lib/mx_noise.js +96 -96
- package/src/nodes/materialx/lib/mx_transform_color.js +2 -2
- package/src/nodes/math/{CondNode.js → ConditionalNode.js} +38 -10
- package/src/nodes/math/Hash.js +13 -0
- package/src/nodes/math/MathNode.js +127 -124
- package/src/nodes/math/MathUtils.js +0 -7
- package/src/nodes/math/OperatorNode.js +97 -52
- package/src/nodes/math/TriNoise3D.js +19 -29
- package/src/nodes/pmrem/PMREMNode.js +61 -15
- package/src/nodes/pmrem/PMREMUtils.js +46 -46
- package/src/nodes/procedural/Checker.js +14 -0
- package/src/nodes/tsl/TSLBase.js +30 -0
- package/src/nodes/{shadernode/ShaderNode.js → tsl/TSLCore.js} +105 -97
- package/src/nodes/utils/ArrayElementNode.js +8 -4
- package/src/nodes/utils/ConvertNode.js +7 -3
- package/src/nodes/utils/CubeMapNode.js +160 -0
- package/src/nodes/utils/Discard.js +8 -0
- package/src/nodes/utils/EquirectUVNode.js +9 -6
- package/src/nodes/utils/FlipNode.js +68 -0
- package/src/nodes/utils/FunctionOverloadingNode.js +9 -5
- package/src/nodes/utils/JoinNode.js +6 -3
- package/src/nodes/utils/LoopNode.js +16 -6
- package/src/nodes/utils/MatcapUVNode.js +10 -7
- package/src/nodes/utils/MaxMipLevelNode.js +8 -5
- package/src/nodes/utils/OscNode.js +12 -8
- package/src/nodes/utils/Packing.js +4 -0
- package/src/nodes/utils/RTTNode.js +11 -8
- package/src/nodes/utils/ReflectorNode.js +12 -4
- package/src/nodes/utils/RemapNode.js +12 -8
- package/src/nodes/utils/RotateNode.js +8 -13
- package/src/nodes/utils/SetNode.js +7 -4
- package/src/nodes/utils/SplitNode.js +7 -3
- package/src/nodes/utils/SpriteSheetUVNode.js +10 -6
- package/src/nodes/utils/SpriteUtils.js +47 -0
- package/src/nodes/utils/StorageArrayElementNode.js +11 -12
- package/src/nodes/utils/TimerNode.js +8 -5
- package/src/nodes/utils/TriplanarTexturesNode.js +11 -9
- package/src/nodes/utils/UVUtils.js +19 -0
- package/src/nodes/utils/ViewportUtils.js +14 -0
- package/src/objects/BatchedMesh.js +78 -13
- package/src/objects/LOD.js +21 -0
- package/src/objects/Line.js +1 -0
- package/src/objects/Mesh.js +7 -23
- package/src/objects/Points.js +2 -0
- package/src/renderers/WebGLRenderer.js +88 -41
- package/src/renderers/common/Backend.js +2 -2
- package/src/renderers/common/Background.js +3 -1
- package/src/renderers/common/BindGroup.js +3 -1
- package/src/renderers/common/Bindings.js +13 -15
- package/src/renderers/common/BundleGroup.js +26 -0
- package/src/renderers/common/ClippingContext.js +15 -5
- package/src/renderers/common/CubeRenderTarget.js +9 -3
- package/src/renderers/common/PostProcessing.js +4 -1
- package/src/renderers/common/QuadMesh.js +2 -0
- package/src/renderers/common/RenderContext.js +23 -0
- package/src/renderers/common/RenderList.js +1 -1
- package/src/renderers/common/RenderObject.js +117 -6
- package/src/renderers/common/RenderObjects.js +8 -1
- package/src/renderers/common/Renderer.js +128 -94
- package/src/renderers/common/SampledTexture.js +12 -3
- package/src/renderers/common/Textures.js +8 -12
- package/src/renderers/common/extras/PMREMGenerator.js +19 -22
- package/src/renderers/common/nodes/NodeBuilderState.js +4 -4
- package/src/renderers/common/nodes/NodeLibrary.js +118 -0
- package/src/renderers/common/nodes/NodeSampledTexture.js +2 -2
- package/src/renderers/common/nodes/Nodes.js +65 -19
- package/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js +2 -2
- package/src/renderers/shaders/ShaderLib/sprite.glsl.js +2 -4
- package/src/renderers/webgl/WebGLAttributes.js +45 -14
- package/src/renderers/webgl/WebGLCapabilities.js +9 -0
- package/src/renderers/webgl/WebGLProgram.js +3 -1
- package/src/renderers/webgl/WebGLPrograms.js +21 -17
- package/src/renderers/webgl/WebGLProperties.js +7 -0
- package/src/renderers/webgl/WebGLState.js +21 -0
- package/src/renderers/webgl/WebGLTextures.js +83 -4
- package/src/renderers/webgl-fallback/WebGLBackend.js +135 -110
- package/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +60 -12
- package/src/renderers/webgl-fallback/utils/WebGLAttributeUtils.js +6 -0
- package/src/renderers/webgl-fallback/utils/WebGLState.js +20 -2
- package/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +89 -37
- package/src/renderers/webgpu/WebGPUBackend.js +112 -86
- package/src/renderers/webgpu/WebGPURenderer.Nodes.js +42 -0
- package/src/renderers/webgpu/WebGPURenderer.js +9 -6
- package/src/renderers/webgpu/nodes/BasicNodeLibrary.js +59 -0
- package/src/renderers/webgpu/nodes/StandardNodeLibrary.js +105 -0
- package/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +189 -73
- package/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +6 -16
- package/src/renderers/webgpu/utils/WebGPUBindingUtils.js +45 -21
- package/src/renderers/webgpu/utils/WebGPUConstants.js +2 -1
- package/src/renderers/webgpu/utils/WebGPUPipelineUtils.js +7 -16
- package/src/renderers/webgpu/utils/WebGPUTexturePassUtils.js +62 -5
- package/src/renderers/webgpu/utils/WebGPUTextureUtils.js +43 -26
- package/src/renderers/webgpu/utils/WebGPUUtils.js +19 -2
- package/src/renderers/webxr/WebXRManager.js +32 -25
- package/src/utils.js +33 -1
- package/examples/jsm/geometries/SDFGeometryGenerator.js +0 -144
- package/examples/jsm/loaders/LogLuvLoader.js +0 -606
- package/examples/jsm/loaders/TiltLoader.js +0 -520
- package/examples/jsm/utils/GPUStatsPanel.js +0 -95
- package/examples/jsm/utils/PackedPhongMaterial.js +0 -178
- package/src/nodes/accessors/CameraNode.js +0 -19
- package/src/nodes/accessors/NormalNode.js +0 -14
- package/src/nodes/accessors/PositionNode.js +0 -10
- package/src/nodes/accessors/ReflectVectorNode.js +0 -10
- package/src/nodes/accessors/TangentNode.js +0 -23
- package/src/nodes/core/NodeKeywords.js +0 -80
- package/src/nodes/display/BlendModeNode.js +0 -128
- package/src/nodes/display/ColorAdjustmentNode.js +0 -104
- package/src/nodes/display/ViewportNode.js +0 -137
- package/src/nodes/lighting/LightNode.js +0 -57
- package/src/nodes/materials/InstancedPointsNodeMaterial.js +0 -162
- package/src/nodes/math/HashNode.js +0 -34
- package/src/nodes/procedural/CheckerNode.js +0 -42
- package/src/nodes/utils/DiscardNode.js +0 -28
- package/src/nodes/utils/PackingNode.js +0 -55
- package/src/nodes/utils/RotateUVNode.js +0 -35
- /package/src/nodes/accessors/{UVNode.js → UV.js} +0 -0
package/src/nodes/Nodes.js
CHANGED
|
@@ -1,180 +1,152 @@
|
|
|
1
|
-
// @TODO: We can simplify "export { default as SomeNode, other, exports } from '...'" to just "export * from '...'" if we will use only named exports
|
|
2
|
-
// this will also solve issues like "import TempNode from '../core/Node.js'"
|
|
3
|
-
|
|
4
1
|
// constants
|
|
5
2
|
export * from './core/constants.js';
|
|
6
3
|
|
|
7
4
|
// core
|
|
8
|
-
export { default as AssignNode
|
|
9
|
-
export { default as AttributeNode
|
|
10
|
-
export { default as BypassNode
|
|
11
|
-
export { default as CacheNode
|
|
5
|
+
export { default as AssignNode } from './core/AssignNode.js';
|
|
6
|
+
export { default as AttributeNode } from './core/AttributeNode.js';
|
|
7
|
+
export { default as BypassNode } from './core/BypassNode.js';
|
|
8
|
+
export { default as CacheNode } from './core/CacheNode.js';
|
|
12
9
|
export { default as ConstNode } from './core/ConstNode.js';
|
|
13
|
-
export { default as ContextNode
|
|
14
|
-
export { default as IndexNode
|
|
10
|
+
export { default as ContextNode } from './core/ContextNode.js';
|
|
11
|
+
export { default as IndexNode } from './core/IndexNode.js';
|
|
15
12
|
export { default as LightingModel } from './core/LightingModel.js';
|
|
16
|
-
export { default as Node
|
|
17
|
-
export { default as VarNode
|
|
13
|
+
export { default as Node } from './core/Node.js';
|
|
14
|
+
export { default as VarNode } from './core/VarNode.js';
|
|
18
15
|
export { default as NodeAttribute } from './core/NodeAttribute.js';
|
|
19
16
|
export { default as NodeBuilder } from './core/NodeBuilder.js';
|
|
20
17
|
export { default as NodeCache } from './core/NodeCache.js';
|
|
21
18
|
export { default as NodeCode } from './core/NodeCode.js';
|
|
22
19
|
export { default as NodeFrame } from './core/NodeFrame.js';
|
|
23
20
|
export { default as NodeFunctionInput } from './core/NodeFunctionInput.js';
|
|
24
|
-
export { default as NodeKeywords } from './core/NodeKeywords.js';
|
|
25
21
|
export { default as NodeUniform } from './core/NodeUniform.js';
|
|
26
22
|
export { default as NodeVar } from './core/NodeVar.js';
|
|
27
23
|
export { default as NodeVarying } from './core/NodeVarying.js';
|
|
28
|
-
export { default as ParameterNode
|
|
29
|
-
export { default as PropertyNode
|
|
30
|
-
export { default as StackNode
|
|
24
|
+
export { default as ParameterNode } from './core/ParameterNode.js';
|
|
25
|
+
export { default as PropertyNode } from './core/PropertyNode.js';
|
|
26
|
+
export { default as StackNode } from './core/StackNode.js';
|
|
31
27
|
export { default as TempNode } from './core/TempNode.js';
|
|
32
|
-
export { default as UniformGroupNode
|
|
33
|
-
export { default as UniformNode
|
|
34
|
-
export { default as VaryingNode
|
|
35
|
-
export { default as OutputStructNode
|
|
36
|
-
export { default as MRTNode
|
|
28
|
+
export { default as UniformGroupNode } from './core/UniformGroupNode.js';
|
|
29
|
+
export { default as UniformNode } from './core/UniformNode.js';
|
|
30
|
+
export { default as VaryingNode } from './core/VaryingNode.js';
|
|
31
|
+
export { default as OutputStructNode } from './core/OutputStructNode.js';
|
|
32
|
+
export { default as MRTNode } from './core/MRTNode.js';
|
|
37
33
|
|
|
38
34
|
import * as NodeUtils from './core/NodeUtils.js';
|
|
39
35
|
export { NodeUtils };
|
|
40
36
|
|
|
41
|
-
// math
|
|
42
|
-
export { default as MathNode, PI, PI2, EPSILON, INFINITY, radians, degrees, exp, exp2, log, log2, sqrt, inverseSqrt, floor, ceil, normalize, fract, sin, cos, tan, asin, acos, atan, abs, sign, length, lengthSq, negate, oneMinus, dFdx, dFdy, round, reciprocal, trunc, fwidth, bitcast, atan2, min, max, mod, step, reflect, distance, difference, dot, cross, pow, pow2, pow3, pow4, transformDirection, mix, clamp, saturate, refract, smoothstep, faceForward, cbrt, transpose, all, any, equals, rand } from './math/MathNode.js';
|
|
43
|
-
|
|
44
|
-
export { default as OperatorNode, add, sub, mul, div, remainder, equal, lessThan, greaterThan, lessThanEqual, greaterThanEqual, and, or, not, xor, bitAnd, bitNot, bitOr, bitXor, shiftLeft, shiftRight } from './math/OperatorNode.js';
|
|
45
|
-
export { default as CondNode, cond } from './math/CondNode.js';
|
|
46
|
-
export { default as HashNode, hash } from './math/HashNode.js';
|
|
47
|
-
|
|
48
|
-
// math utils
|
|
49
|
-
export { parabola, gain, pcurve, sinc } from './math/MathUtils.js';
|
|
50
|
-
export { triNoise3D } from './math/TriNoise3D.js';
|
|
51
|
-
|
|
52
37
|
// utils
|
|
53
38
|
export { default as ArrayElementNode } from './utils/ArrayElementNode.js';
|
|
54
39
|
export { default as ConvertNode } from './utils/ConvertNode.js';
|
|
55
|
-
export { default as
|
|
56
|
-
export { default as
|
|
57
|
-
export { default as FunctionOverloadingNode, overloadingFn } from './utils/FunctionOverloadingNode.js';
|
|
40
|
+
export { default as EquirectUVNode } from './utils/EquirectUVNode.js';
|
|
41
|
+
export { default as FunctionOverloadingNode } from './utils/FunctionOverloadingNode.js';
|
|
58
42
|
export { default as JoinNode } from './utils/JoinNode.js';
|
|
59
|
-
export { default as LoopNode
|
|
60
|
-
export { default as MatcapUVNode
|
|
61
|
-
export { default as MaxMipLevelNode
|
|
62
|
-
export { default as OscNode
|
|
63
|
-
export { default as
|
|
64
|
-
export { default as
|
|
65
|
-
export { default as RotateUVNode, rotateUV } from './utils/RotateUVNode.js';
|
|
66
|
-
export { default as RotateNode, rotate } from './utils/RotateNode.js';
|
|
43
|
+
export { default as LoopNode } from './utils/LoopNode.js';
|
|
44
|
+
export { default as MatcapUVNode } from './utils/MatcapUVNode.js';
|
|
45
|
+
export { default as MaxMipLevelNode } from './utils/MaxMipLevelNode.js';
|
|
46
|
+
export { default as OscNode } from './utils/OscNode.js';
|
|
47
|
+
export { default as RemapNode } from './utils/RemapNode.js';
|
|
48
|
+
export { default as RotateNode } from './utils/RotateNode.js';
|
|
67
49
|
export { default as SetNode } from './utils/SetNode.js';
|
|
68
50
|
export { default as SplitNode } from './utils/SplitNode.js';
|
|
69
|
-
export { default as SpriteSheetUVNode
|
|
51
|
+
export { default as SpriteSheetUVNode } from './utils/SpriteSheetUVNode.js';
|
|
70
52
|
export { default as StorageArrayElementNode } from './utils/StorageArrayElementNode.js';
|
|
71
|
-
export { default as TimerNode
|
|
72
|
-
export { default as TriplanarTexturesNode
|
|
73
|
-
export { default as ReflectorNode
|
|
74
|
-
export { default as RTTNode
|
|
75
|
-
|
|
76
|
-
// shadernode
|
|
77
|
-
export * from './shadernode/ShaderNode.js';
|
|
53
|
+
export { default as TimerNode } from './utils/TimerNode.js';
|
|
54
|
+
export { default as TriplanarTexturesNode } from './utils/TriplanarTexturesNode.js';
|
|
55
|
+
export { default as ReflectorNode } from './utils/ReflectorNode.js';
|
|
56
|
+
export { default as RTTNode } from './utils/RTTNode.js';
|
|
78
57
|
|
|
79
58
|
// accessors
|
|
80
|
-
export {
|
|
81
|
-
export { default as
|
|
82
|
-
export
|
|
83
|
-
export { default as
|
|
84
|
-
export { default as
|
|
85
|
-
export
|
|
86
|
-
export { default as
|
|
87
|
-
export { default as
|
|
88
|
-
export { default as
|
|
89
|
-
export { default as
|
|
90
|
-
export { default as
|
|
91
|
-
export { default as
|
|
92
|
-
export { default as
|
|
93
|
-
export { default as
|
|
94
|
-
export { default as
|
|
95
|
-
export { default as
|
|
96
|
-
export { default as
|
|
97
|
-
export
|
|
98
|
-
export { default as
|
|
99
|
-
export { default as
|
|
100
|
-
export
|
|
101
|
-
export { default as
|
|
102
|
-
export
|
|
103
|
-
export { default as
|
|
104
|
-
export { default as SceneNode, backgroundBlurriness, backgroundIntensity } from './accessors/SceneNode.js';
|
|
105
|
-
export { default as StorageBufferNode, storage, storageObject } from './accessors/StorageBufferNode.js';
|
|
106
|
-
export * from './accessors/TangentNode.js';
|
|
107
|
-
export { default as TextureNode, texture, textureLoad, /*textureLevel,*/ sampler } from './accessors/TextureNode.js';
|
|
108
|
-
export { default as TextureSizeNode, textureSize } from './accessors/TextureSizeNode.js';
|
|
109
|
-
export { default as StorageTextureNode, storageTexture, textureStore } from './accessors/StorageTextureNode.js';
|
|
110
|
-
export { default as Texture3DNode, texture3D } from './accessors/Texture3DNode.js';
|
|
111
|
-
export * from './accessors/UVNode.js';
|
|
112
|
-
export { default as UserDataNode, userData } from './accessors/UserDataNode.js';
|
|
59
|
+
export { default as UniformArrayNode } from './accessors/UniformArrayNode.js';
|
|
60
|
+
export { default as BufferAttributeNode } from './accessors/BufferAttributeNode.js';
|
|
61
|
+
export { default as BufferNode } from './accessors/BufferNode.js';
|
|
62
|
+
export { default as VertexColorNode } from './accessors/VertexColorNode.js';
|
|
63
|
+
export { default as CubeTextureNode } from './accessors/CubeTextureNode.js';
|
|
64
|
+
export { default as InstanceNode } from './accessors/InstanceNode.js';
|
|
65
|
+
export { default as BatchNode } from './accessors/BatchNode.js';
|
|
66
|
+
export { default as MaterialNode } from './accessors/MaterialNode.js';
|
|
67
|
+
export { default as MaterialReferenceNode } from './accessors/MaterialReferenceNode.js';
|
|
68
|
+
export { default as RendererReferenceNode } from './accessors/RendererReferenceNode.js';
|
|
69
|
+
export { default as MorphNode } from './accessors/MorphNode.js';
|
|
70
|
+
export { default as ModelNode } from './accessors/ModelNode.js';
|
|
71
|
+
export { default as ModelViewProjectionNode } from './accessors/ModelViewProjectionNode.js';
|
|
72
|
+
export { default as Object3DNode } from './accessors/Object3DNode.js';
|
|
73
|
+
export { default as PointUVNode } from './accessors/PointUVNode.js';
|
|
74
|
+
export { default as ReferenceNode } from './accessors/ReferenceNode.js';
|
|
75
|
+
export { default as SkinningNode } from './accessors/SkinningNode.js';
|
|
76
|
+
export { default as SceneNode } from './accessors/SceneNode.js';
|
|
77
|
+
export { default as StorageBufferNode } from './accessors/StorageBufferNode.js';
|
|
78
|
+
export { default as TextureNode } from './accessors/TextureNode.js';
|
|
79
|
+
export { default as TextureSizeNode } from './accessors/TextureSizeNode.js';
|
|
80
|
+
export { default as StorageTextureNode } from './accessors/StorageTextureNode.js';
|
|
81
|
+
export { default as Texture3DNode } from './accessors/Texture3DNode.js';
|
|
82
|
+
export { default as UserDataNode } from './accessors/UserDataNode.js';
|
|
113
83
|
|
|
114
84
|
// display
|
|
115
|
-
export { default as
|
|
116
|
-
export { default as
|
|
117
|
-
export { default as
|
|
118
|
-
export { default as
|
|
119
|
-
export { default as
|
|
120
|
-
export { default as
|
|
121
|
-
export { default as
|
|
122
|
-
export { default as
|
|
123
|
-
export { default as
|
|
124
|
-
export { default as
|
|
125
|
-
export { default as
|
|
126
|
-
export { default as
|
|
127
|
-
export { default as
|
|
128
|
-
export { default as
|
|
129
|
-
export { default as
|
|
130
|
-
export { default as
|
|
131
|
-
export { default as
|
|
132
|
-
export { default as
|
|
133
|
-
export { default as
|
|
134
|
-
export { default as
|
|
135
|
-
export { default as
|
|
136
|
-
export { default as
|
|
137
|
-
export { default as
|
|
138
|
-
export { default as
|
|
139
|
-
export { default as
|
|
140
|
-
export { default as
|
|
141
|
-
export { default as
|
|
142
|
-
export { default as
|
|
143
|
-
export { default as
|
|
144
|
-
|
|
145
|
-
export { default as
|
|
85
|
+
export { default as BumpMapNode } from './display/BumpMapNode.js';
|
|
86
|
+
export { default as ColorSpaceNode } from './display/ColorSpaceNode.js';
|
|
87
|
+
export { default as FrontFacingNode } from './display/FrontFacingNode.js';
|
|
88
|
+
export { default as NormalMapNode } from './display/NormalMapNode.js';
|
|
89
|
+
export { default as PosterizeNode } from './display/PosterizeNode.js';
|
|
90
|
+
export { default as ToneMappingNode } from './display/ToneMappingNode.js';
|
|
91
|
+
export { default as ScreenNode } from './display/ScreenNode.js';
|
|
92
|
+
export { default as ViewportTextureNode } from './display/ViewportTextureNode.js';
|
|
93
|
+
export { default as ViewportSharedTextureNode } from './display/ViewportSharedTextureNode.js';
|
|
94
|
+
export { default as ViewportDepthTextureNode } from './display/ViewportDepthTextureNode.js';
|
|
95
|
+
export { default as ViewportDepthNode } from './display/ViewportDepthNode.js';
|
|
96
|
+
export { default as GaussianBlurNode } from './display/GaussianBlurNode.js';
|
|
97
|
+
export { default as AfterImageNode } from './display/AfterImageNode.js';
|
|
98
|
+
export { default as AnamorphicNode } from './display/AnamorphicNode.js';
|
|
99
|
+
export { default as SobelOperatorNode } from './display/SobelOperatorNode.js';
|
|
100
|
+
export { default as DepthOfFieldNode } from './display/DepthOfFieldNode.js';
|
|
101
|
+
export { default as DotScreenNode } from './display/DotScreenNode.js';
|
|
102
|
+
export { default as RGBShiftNode } from './display/RGBShiftNode.js';
|
|
103
|
+
export { default as FilmNode } from './display/FilmNode.js';
|
|
104
|
+
export { default as Lut3DNode } from './display/Lut3DNode.js';
|
|
105
|
+
export { default as GTAONode } from './display/GTAONode.js';
|
|
106
|
+
export { default as DenoiseNode } from './display/DenoiseNode.js';
|
|
107
|
+
export { default as FXAANode } from './display/FXAANode.js';
|
|
108
|
+
export { default as BloomNode } from './display/BloomNode.js';
|
|
109
|
+
export { default as TransitionNode } from './display/TransitionNode.js';
|
|
110
|
+
export { default as RenderOutputNode } from './display/RenderOutputNode.js';
|
|
111
|
+
export { default as PixelationPassNode } from './display/PixelationPassNode.js';
|
|
112
|
+
export { default as SSAAPassNode } from './display/SSAAPassNode.js';
|
|
113
|
+
export { default as StereoPassNode } from './display/StereoPassNode.js';
|
|
114
|
+
export { default as AnaglyphPassNode } from './display/AnaglyphPassNode.js';
|
|
115
|
+
export { default as ParallaxBarrierPassNode } from './display/ParallaxBarrierPassNode.js';
|
|
116
|
+
export { default as PassNode } from './display/PassNode.js';
|
|
117
|
+
export { default as ToonOutlinePassNode } from './display/ToonOutlinePassNode.js';
|
|
146
118
|
|
|
147
119
|
// code
|
|
148
|
-
export { default as ExpressionNode
|
|
149
|
-
export { default as CodeNode
|
|
150
|
-
export { default as FunctionCallNode
|
|
151
|
-
export { default as FunctionNode
|
|
152
|
-
export { default as ScriptableNode
|
|
153
|
-
export { default as ScriptableValueNode
|
|
120
|
+
export { default as ExpressionNode } from './code/ExpressionNode.js';
|
|
121
|
+
export { default as CodeNode } from './code/CodeNode.js';
|
|
122
|
+
export { default as FunctionCallNode } from './code/FunctionCallNode.js';
|
|
123
|
+
export { default as FunctionNode } from './code/FunctionNode.js';
|
|
124
|
+
export { default as ScriptableNode } from './code/ScriptableNode.js';
|
|
125
|
+
export { default as ScriptableValueNode } from './code/ScriptableValueNode.js';
|
|
154
126
|
|
|
155
127
|
// fog
|
|
156
|
-
export { default as FogNode
|
|
157
|
-
export { default as FogRangeNode
|
|
158
|
-
export { default as FogExp2Node
|
|
128
|
+
export { default as FogNode } from './fog/FogNode.js';
|
|
129
|
+
export { default as FogRangeNode } from './fog/FogRangeNode.js';
|
|
130
|
+
export { default as FogExp2Node } from './fog/FogExp2Node.js';
|
|
159
131
|
|
|
160
132
|
// geometry
|
|
161
|
-
export { default as RangeNode
|
|
133
|
+
export { default as RangeNode } from './geometry/RangeNode.js';
|
|
162
134
|
|
|
163
135
|
// gpgpu
|
|
164
|
-
export { default as ComputeNode
|
|
136
|
+
export { default as ComputeNode } from './gpgpu/ComputeNode.js';
|
|
165
137
|
|
|
166
138
|
// lighting
|
|
167
|
-
export { default as LightNode, lightTargetDirection } from './lighting/LightNode.js';
|
|
168
139
|
export { default as PointLightNode } from './lighting/PointLightNode.js';
|
|
169
140
|
export { default as DirectionalLightNode } from './lighting/DirectionalLightNode.js';
|
|
170
141
|
export { default as RectAreaLightNode } from './lighting/RectAreaLightNode.js';
|
|
171
142
|
export { default as SpotLightNode } from './lighting/SpotLightNode.js';
|
|
172
143
|
export { default as IESSpotLightNode } from './lighting/IESSpotLightNode.js';
|
|
173
144
|
export { default as AmbientLightNode } from './lighting/AmbientLightNode.js';
|
|
174
|
-
export { default as LightsNode
|
|
175
|
-
export { default as LightingNode
|
|
176
|
-
export { default as LightingContextNode
|
|
145
|
+
export { default as LightsNode } from './lighting/LightsNode.js';
|
|
146
|
+
export { default as LightingNode } from './lighting/LightingNode.js';
|
|
147
|
+
export { default as LightingContextNode } from './lighting/LightingContextNode.js';
|
|
177
148
|
export { default as HemisphereLightNode } from './lighting/HemisphereLightNode.js';
|
|
149
|
+
export { default as LightProbeNode } from './lighting/LightProbeNode.js';
|
|
178
150
|
export { default as EnvironmentNode } from './lighting/EnvironmentNode.js';
|
|
179
151
|
export { default as BasicEnvironmentNode } from './lighting/BasicEnvironmentNode.js';
|
|
180
152
|
export { default as IrradianceNode } from './lighting/IrradianceNode.js';
|
|
@@ -182,39 +154,11 @@ export { default as AONode } from './lighting/AONode.js';
|
|
|
182
154
|
export { default as AnalyticLightNode } from './lighting/AnalyticLightNode.js';
|
|
183
155
|
|
|
184
156
|
// pmrem
|
|
185
|
-
export { default as PMREMNode
|
|
186
|
-
export * from './pmrem/PMREMUtils.js';
|
|
187
|
-
|
|
188
|
-
// procedural
|
|
189
|
-
export { default as CheckerNode, checker } from './procedural/CheckerNode.js';
|
|
190
|
-
|
|
191
|
-
// loaders
|
|
192
|
-
export { default as NodeLoader } from './loaders/NodeLoader.js';
|
|
193
|
-
export { default as NodeObjectLoader } from './loaders/NodeObjectLoader.js';
|
|
194
|
-
export { default as NodeMaterialLoader } from './loaders/NodeMaterialLoader.js';
|
|
157
|
+
export { default as PMREMNode } from './pmrem/PMREMNode.js';
|
|
195
158
|
|
|
196
159
|
// parsers
|
|
197
160
|
export { default as GLSLNodeParser } from './parsers/GLSLNodeParser.js'; // @TODO: Move to jsm/renderers/webgl.
|
|
198
161
|
|
|
199
|
-
//
|
|
200
|
-
export * from './materials/Materials.js';
|
|
201
|
-
|
|
202
|
-
// materialX
|
|
203
|
-
export * from './materialx/MaterialXNodes.js';
|
|
204
|
-
|
|
205
|
-
// functions
|
|
206
|
-
export { default as BRDF_GGX } from './functions/BSDF/BRDF_GGX.js';
|
|
207
|
-
export { default as BRDF_Lambert } from './functions/BSDF/BRDF_Lambert.js';
|
|
208
|
-
export { default as D_GGX } from './functions/BSDF/D_GGX.js';
|
|
209
|
-
export { default as DFGApprox } from './functions/BSDF/DFGApprox.js';
|
|
210
|
-
export { default as F_Schlick } from './functions/BSDF/F_Schlick.js';
|
|
211
|
-
export { default as Schlick_to_F0 } from './functions/BSDF/Schlick_to_F0.js';
|
|
212
|
-
export { default as V_GGX_SmithCorrelated } from './functions/BSDF/V_GGX_SmithCorrelated.js';
|
|
213
|
-
|
|
214
|
-
export { getDistanceAttenuation } from './lighting/LightUtils.js';
|
|
215
|
-
|
|
216
|
-
export { default as getGeometryRoughness } from './functions/material/getGeometryRoughness.js';
|
|
217
|
-
export { default as getRoughness } from './functions/material/getRoughness.js';
|
|
218
|
-
|
|
162
|
+
// lighting models
|
|
219
163
|
export { default as PhongLightingModel } from './functions/PhongLightingModel.js';
|
|
220
164
|
export { default as PhysicalLightingModel } from './functions/PhysicalLightingModel.js';
|
package/src/nodes/TSL.js
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
// constants
|
|
2
|
+
export * from './core/constants.js';
|
|
3
|
+
|
|
4
|
+
// core
|
|
5
|
+
export * from './core/AssignNode.js';
|
|
6
|
+
export * from './core/AttributeNode.js';
|
|
7
|
+
export * from './core/BypassNode.js';
|
|
8
|
+
export * from './core/CacheNode.js';
|
|
9
|
+
export * from './core/ContextNode.js';
|
|
10
|
+
export * from './core/IndexNode.js';
|
|
11
|
+
export * from './core/ParameterNode.js';
|
|
12
|
+
export * from './core/PropertyNode.js';
|
|
13
|
+
export * from './core/StackNode.js';
|
|
14
|
+
export * from './core/UniformGroupNode.js';
|
|
15
|
+
export * from './core/UniformNode.js';
|
|
16
|
+
export * from './core/VaryingNode.js';
|
|
17
|
+
export * from './core/OutputStructNode.js';
|
|
18
|
+
export * from './core/MRTNode.js';
|
|
19
|
+
|
|
20
|
+
// math
|
|
21
|
+
export * from './math/Hash.js';
|
|
22
|
+
export * from './math/MathUtils.js';
|
|
23
|
+
export * from './math/TriNoise3D.js';
|
|
24
|
+
|
|
25
|
+
// utils
|
|
26
|
+
export * from './utils/EquirectUVNode.js';
|
|
27
|
+
export * from './utils/FunctionOverloadingNode.js';
|
|
28
|
+
export * from './utils/LoopNode.js';
|
|
29
|
+
export * from './utils/MatcapUVNode.js';
|
|
30
|
+
export * from './utils/MaxMipLevelNode.js';
|
|
31
|
+
export * from './utils/OscNode.js';
|
|
32
|
+
export * from './utils/Packing.js';
|
|
33
|
+
export * from './utils/RemapNode.js';
|
|
34
|
+
export * from './utils/UVUtils.js';
|
|
35
|
+
export * from './utils/SpriteUtils.js';
|
|
36
|
+
export * from './utils/ViewportUtils.js';
|
|
37
|
+
export * from './utils/RotateNode.js';
|
|
38
|
+
export * from './utils/SpriteSheetUVNode.js';
|
|
39
|
+
export * from './utils/TimerNode.js';
|
|
40
|
+
export * from './utils/TriplanarTexturesNode.js';
|
|
41
|
+
export * from './utils/ReflectorNode.js';
|
|
42
|
+
export * from './utils/RTTNode.js';
|
|
43
|
+
|
|
44
|
+
// three.js shading language
|
|
45
|
+
export * from './tsl/TSLBase.js';
|
|
46
|
+
|
|
47
|
+
// accessors
|
|
48
|
+
export * from './accessors/AccessorsUtils.js';
|
|
49
|
+
export * from './accessors/UniformArrayNode.js';
|
|
50
|
+
export * from './accessors/Bitangent.js';
|
|
51
|
+
export * from './accessors/BufferAttributeNode.js';
|
|
52
|
+
export * from './accessors/BufferNode.js';
|
|
53
|
+
export * from './accessors/Camera.js';
|
|
54
|
+
export * from './accessors/VertexColorNode.js';
|
|
55
|
+
export * from './accessors/CubeTextureNode.js';
|
|
56
|
+
export * from './accessors/InstanceNode.js';
|
|
57
|
+
export * from './accessors/BatchNode.js';
|
|
58
|
+
export * from './accessors/MaterialNode.js';
|
|
59
|
+
export * from './accessors/MaterialProperties.js';
|
|
60
|
+
export * from './accessors/MaterialReferenceNode.js';
|
|
61
|
+
export * from './accessors/RendererReferenceNode.js';
|
|
62
|
+
export * from './accessors/MorphNode.js';
|
|
63
|
+
export * from './accessors/TextureBicubic.js';
|
|
64
|
+
export * from './accessors/ModelNode.js';
|
|
65
|
+
export * from './accessors/ModelViewProjectionNode.js';
|
|
66
|
+
export * from './accessors/Normal.js';
|
|
67
|
+
export * from './accessors/Object3DNode.js';
|
|
68
|
+
export * from './accessors/PointUVNode.js';
|
|
69
|
+
export * from './accessors/Position.js';
|
|
70
|
+
export * from './accessors/ReferenceNode.js';
|
|
71
|
+
export * from './accessors/ReflectVector.js';
|
|
72
|
+
export * from './accessors/SkinningNode.js';
|
|
73
|
+
export * from './accessors/SceneNode.js';
|
|
74
|
+
export * from './accessors/StorageBufferNode.js';
|
|
75
|
+
export * from './accessors/Tangent.js';
|
|
76
|
+
export * from './accessors/TextureNode.js';
|
|
77
|
+
export * from './accessors/TextureSizeNode.js';
|
|
78
|
+
export * from './accessors/StorageTextureNode.js';
|
|
79
|
+
export * from './accessors/Texture3DNode.js';
|
|
80
|
+
export * from './accessors/UV.js';
|
|
81
|
+
export * from './accessors/UserDataNode.js';
|
|
82
|
+
export * from './accessors/VelocityNode.js';
|
|
83
|
+
|
|
84
|
+
// display
|
|
85
|
+
export * from './display/BlendMode.js';
|
|
86
|
+
export * from './display/BumpMapNode.js';
|
|
87
|
+
export * from './display/ColorAdjustment.js';
|
|
88
|
+
export * from './display/ColorSpaceNode.js';
|
|
89
|
+
export * from './display/FrontFacingNode.js';
|
|
90
|
+
export * from './display/NormalMapNode.js';
|
|
91
|
+
export * from './display/PosterizeNode.js';
|
|
92
|
+
export * from './display/ToneMappingNode.js';
|
|
93
|
+
export * from './display/ScreenNode.js';
|
|
94
|
+
export * from './display/ViewportTextureNode.js';
|
|
95
|
+
export * from './display/ViewportSharedTextureNode.js';
|
|
96
|
+
export * from './display/ViewportDepthTextureNode.js';
|
|
97
|
+
export * from './display/ViewportDepthNode.js';
|
|
98
|
+
export * from './display/GaussianBlurNode.js';
|
|
99
|
+
export * from './display/AfterImageNode.js';
|
|
100
|
+
export * from './display/AnamorphicNode.js';
|
|
101
|
+
export * from './display/SobelOperatorNode.js';
|
|
102
|
+
export * from './display/DepthOfFieldNode.js';
|
|
103
|
+
export * from './display/DotScreenNode.js';
|
|
104
|
+
export * from './display/RGBShiftNode.js';
|
|
105
|
+
export * from './display/FilmNode.js';
|
|
106
|
+
export * from './display/Lut3DNode.js';
|
|
107
|
+
export * from './display/MotionBlur.js';
|
|
108
|
+
export * from './display/GTAONode.js';
|
|
109
|
+
export * from './display/DenoiseNode.js';
|
|
110
|
+
export * from './display/FXAANode.js';
|
|
111
|
+
export * from './display/BloomNode.js';
|
|
112
|
+
export * from './display/TransitionNode.js';
|
|
113
|
+
export * from './display/RenderOutputNode.js';
|
|
114
|
+
export * from './display/PixelationPassNode.js';
|
|
115
|
+
export * from './display/SSAAPassNode.js';
|
|
116
|
+
export * from './display/StereoPassNode.js';
|
|
117
|
+
export * from './display/AnaglyphPassNode.js';
|
|
118
|
+
export * from './display/ParallaxBarrierPassNode.js';
|
|
119
|
+
export * from './display/BleachBypass.js';
|
|
120
|
+
export * from './display/Sepia.js';
|
|
121
|
+
export * from './display/ToonOutlinePassNode.js';
|
|
122
|
+
|
|
123
|
+
export * from './display/PassNode.js';
|
|
124
|
+
|
|
125
|
+
export * from './display/ColorSpaceFunctions.js';
|
|
126
|
+
export * from './display/ToneMappingFunctions.js';
|
|
127
|
+
|
|
128
|
+
// code
|
|
129
|
+
export * from './code/ExpressionNode.js';
|
|
130
|
+
export * from './code/CodeNode.js';
|
|
131
|
+
export * from './code/FunctionCallNode.js';
|
|
132
|
+
export * from './code/FunctionNode.js';
|
|
133
|
+
export * from './code/ScriptableNode.js';
|
|
134
|
+
export * from './code/ScriptableValueNode.js';
|
|
135
|
+
|
|
136
|
+
// fog
|
|
137
|
+
export * from './fog/FogNode.js';
|
|
138
|
+
export * from './fog/FogRangeNode.js';
|
|
139
|
+
export * from './fog/FogExp2Node.js';
|
|
140
|
+
|
|
141
|
+
// geometry
|
|
142
|
+
export * from './geometry/RangeNode.js';
|
|
143
|
+
|
|
144
|
+
// gpgpu
|
|
145
|
+
export * from './gpgpu/ComputeNode.js';
|
|
146
|
+
export * from './gpgpu/ComputeBuiltinNode.js';
|
|
147
|
+
export * from './gpgpu/BarrierNode.js';
|
|
148
|
+
export * from './gpgpu/WorkgroupInfoNode.js';
|
|
149
|
+
export * from './gpgpu/AtomicFunctionNode.js';
|
|
150
|
+
|
|
151
|
+
// lighting
|
|
152
|
+
export * from './accessors/Lights.js';
|
|
153
|
+
export * from './lighting/LightsNode.js';
|
|
154
|
+
export * from './lighting/LightingContextNode.js';
|
|
155
|
+
|
|
156
|
+
// pmrem
|
|
157
|
+
export * from './pmrem/PMREMNode.js';
|
|
158
|
+
export * from './pmrem/PMREMUtils.js';
|
|
159
|
+
|
|
160
|
+
// procedural
|
|
161
|
+
export * from './procedural/Checker.js';
|
|
162
|
+
|
|
163
|
+
// materialX
|
|
164
|
+
export * from './materialx/MaterialXNodes.js';
|
|
165
|
+
|
|
166
|
+
// functions
|
|
167
|
+
export { default as BRDF_GGX } from './functions/BSDF/BRDF_GGX.js';
|
|
168
|
+
export { default as BRDF_Lambert } from './functions/BSDF/BRDF_Lambert.js';
|
|
169
|
+
export { default as D_GGX } from './functions/BSDF/D_GGX.js';
|
|
170
|
+
export { default as DFGApprox } from './functions/BSDF/DFGApprox.js';
|
|
171
|
+
export { default as F_Schlick } from './functions/BSDF/F_Schlick.js';
|
|
172
|
+
export { default as Schlick_to_F0 } from './functions/BSDF/Schlick_to_F0.js';
|
|
173
|
+
export { default as V_GGX_SmithCorrelated } from './functions/BSDF/V_GGX_SmithCorrelated.js';
|
|
174
|
+
|
|
175
|
+
export * from './lighting/LightUtils.js';
|
|
176
|
+
|
|
177
|
+
export { default as getGeometryRoughness } from './functions/material/getGeometryRoughness.js';
|
|
178
|
+
export { default as getRoughness } from './functions/material/getRoughness.js';
|
|
179
|
+
export { default as getShIrradianceAt } from './functions/material/getShIrradianceAt.js';
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { bitangentView } from './
|
|
2
|
-
import { normalView, transformedNormalView } from './
|
|
3
|
-
import { tangentView } from './
|
|
4
|
-
import { mat3 } from '../
|
|
1
|
+
import { bitangentView } from './Bitangent.js';
|
|
2
|
+
import { normalView, transformedNormalView } from './Normal.js';
|
|
3
|
+
import { tangentView } from './Tangent.js';
|
|
4
|
+
import { mat3 } from '../tsl/TSLBase.js';
|
|
5
5
|
import { mix } from '../math/MathNode.js';
|
|
6
6
|
import { anisotropy, anisotropyB, roughness } from '../core/PropertyNode.js';
|
|
7
|
-
import { positionViewDirection } from './
|
|
7
|
+
import { positionViewDirection } from './Position.js';
|
|
8
8
|
|
|
9
|
-
export const TBNViewMatrix = mat3( tangentView, bitangentView, normalView );
|
|
9
|
+
export const TBNViewMatrix = /*@__PURE__*/ mat3( tangentView, bitangentView, normalView );
|
|
10
10
|
|
|
11
|
-
export const parallaxDirection = positionViewDirection.mul( TBNViewMatrix )/*.normalize()*/;
|
|
11
|
+
export const parallaxDirection = /*@__PURE__*/ positionViewDirection.mul( TBNViewMatrix )/*.normalize()*/;
|
|
12
12
|
export const parallaxUV = ( uv, scale ) => uv.sub( parallaxDirection.mul( scale ) );
|
|
13
13
|
|
|
14
|
-
export const transformedBentNormalView = ( () => {
|
|
14
|
+
export const transformedBentNormalView = /*@__PURE__*/ ( () => {
|
|
15
15
|
|
|
16
16
|
// https://google.github.io/filament/Filament.md.html#lighting/imagebasedlights/anisotropy
|
|
17
17
|
|