@babylonjs/core 8.11.0 → 8.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cameras/arcRotateCamera.js +8 -0
- package/Cameras/arcRotateCamera.js.map +1 -1
- package/Cameras/targetCamera.js +2 -0
- package/Cameras/targetCamera.js.map +1 -1
- package/Collisions/gpuPicker.d.ts +4 -0
- package/Collisions/gpuPicker.js +6 -0
- package/Collisions/gpuPicker.js.map +1 -1
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/Engines/constants.d.ts +4 -0
- package/Engines/constants.js +4 -0
- package/Engines/constants.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.d.ts +1 -0
- package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.js +2 -0
- package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.d.ts +6 -1
- package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.js +29 -0
- package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.d.ts +6 -0
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js +36 -9
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/shadowGeneratorBlock.js +1 -0
- package/FrameGraph/Node/Blocks/Rendering/shadowGeneratorBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/inputBlock.js +1 -0
- package/FrameGraph/Node/Blocks/inputBlock.js.map +1 -1
- package/FrameGraph/Node/Types/nodeRenderGraphTypes.d.ts +2 -0
- package/FrameGraph/Node/Types/nodeRenderGraphTypes.js +2 -0
- package/FrameGraph/Node/Types/nodeRenderGraphTypes.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.d.ts +23 -0
- package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.js +126 -21
- package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.d.ts +5 -0
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.js +4 -0
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.d.ts +2 -4
- package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.js +4 -17
- package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.js.map +1 -1
- package/FrameGraph/frameGraph.js +1 -1
- package/FrameGraph/frameGraph.js.map +1 -1
- package/FrameGraph/frameGraphContext.d.ts +30 -0
- package/FrameGraph/frameGraphContext.js +47 -0
- package/FrameGraph/frameGraphContext.js.map +1 -1
- package/FrameGraph/frameGraphRenderContext.d.ts +1 -4
- package/FrameGraph/frameGraphRenderContext.js +2 -5
- package/FrameGraph/frameGraphRenderContext.js.map +1 -1
- package/Lights/Shadows/cascadedShadowGenerator.d.ts +0 -1
- package/Lights/Shadows/cascadedShadowGenerator.js +0 -12
- package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
- package/Materials/Node/Blocks/Dual/clipPlanesBlock.d.ts +1 -1
- package/Materials/Node/Blocks/Dual/clipPlanesBlock.js +4 -1
- package/Materials/Node/Blocks/Dual/clipPlanesBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/currentScreenBlock.d.ts +2 -3
- package/Materials/Node/Blocks/Dual/currentScreenBlock.js +1 -1
- package/Materials/Node/Blocks/Dual/currentScreenBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/fogBlock.d.ts +1 -1
- package/Materials/Node/Blocks/Dual/fogBlock.js +4 -1
- package/Materials/Node/Blocks/Dual/fogBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/lightBlock.d.ts +1 -1
- package/Materials/Node/Blocks/Dual/lightBlock.js +2 -2
- package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +1 -2
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/smartFilterTextureBlock.js +3 -4
- package/Materials/Node/Blocks/Dual/smartFilterTextureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/textureBlock.d.ts +2 -3
- package/Materials/Node/Blocks/Dual/textureBlock.js +2 -2
- package/Materials/Node/Blocks/Dual/textureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/TBNBlock.d.ts +1 -1
- package/Materials/Node/Blocks/Fragment/TBNBlock.js +4 -1
- package/Materials/Node/Blocks/Fragment/TBNBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragCoordBlock.js +2 -2
- package/Materials/Node/Blocks/Fragment/fragCoordBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.d.ts +1 -2
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js +1 -1
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/frontFacingBlock.js +2 -2
- package/Materials/Node/Blocks/Fragment/frontFacingBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js +1 -2
- package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.d.ts +1 -1
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js +1 -1
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.d.ts +1 -2
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +1 -1
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/screenSizeBlock.js +2 -2
- package/Materials/Node/Blocks/Fragment/screenSizeBlock.js.map +1 -1
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.d.ts +3 -3
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.js +6 -3
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/anisotropyBlock.d.ts +1 -2
- package/Materials/Node/Blocks/PBR/anisotropyBlock.js +2 -4
- package/Materials/Node/Blocks/PBR/anisotropyBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/clearCoatBlock.d.ts +1 -2
- package/Materials/Node/Blocks/PBR/clearCoatBlock.js +1 -2
- package/Materials/Node/Blocks/PBR/clearCoatBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/iridescenceBlock.d.ts +2 -3
- package/Materials/Node/Blocks/PBR/iridescenceBlock.js +1 -2
- package/Materials/Node/Blocks/PBR/iridescenceBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.d.ts +1 -1
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +5 -2
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/reflectionBlock.d.ts +1 -2
- package/Materials/Node/Blocks/PBR/reflectionBlock.js +2 -2
- package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/refractionBlock.d.ts +1 -2
- package/Materials/Node/Blocks/PBR/refractionBlock.js +1 -2
- package/Materials/Node/Blocks/PBR/refractionBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/sheenBlock.d.ts +2 -3
- package/Materials/Node/Blocks/PBR/sheenBlock.js +1 -2
- package/Materials/Node/Blocks/PBR/sheenBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.d.ts +2 -3
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.js +1 -2
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.js.map +1 -1
- package/Materials/Node/Blocks/Particle/particleTextureBlock.d.ts +1 -2
- package/Materials/Node/Blocks/Particle/particleTextureBlock.js +1 -1
- package/Materials/Node/Blocks/Particle/particleTextureBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/bonesBlock.d.ts +2 -2
- package/Materials/Node/Blocks/Vertex/bonesBlock.js +3 -3
- package/Materials/Node/Blocks/Vertex/bonesBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/instancesBlock.d.ts +1 -1
- package/Materials/Node/Blocks/Vertex/instancesBlock.js +1 -1
- package/Materials/Node/Blocks/Vertex/instancesBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/lightInformationBlock.d.ts +1 -2
- package/Materials/Node/Blocks/Vertex/lightInformationBlock.js +1 -1
- package/Materials/Node/Blocks/Vertex/lightInformationBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.d.ts +2 -2
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +8 -2
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
- package/Materials/Node/Blocks/transformBlock.d.ts +3 -3
- package/Materials/Node/Blocks/transformBlock.js +4 -5
- package/Materials/Node/Blocks/transformBlock.js.map +1 -1
- package/Materials/Node/Blocks/triPlanarBlock.d.ts +1 -3
- package/Materials/Node/Blocks/triPlanarBlock.js +1 -1
- package/Materials/Node/Blocks/triPlanarBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +1 -1
- package/Materials/Node/nodeMaterial.js +28 -42
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/Node/nodeMaterialBlock.d.ts +8 -12
- package/Materials/Node/nodeMaterialBlock.js +10 -12
- package/Materials/Node/nodeMaterialBlock.js.map +1 -1
- package/Materials/Node/nodeMaterialBuildState.js +3 -1
- package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
- package/Materials/Node/nodeMaterialBuildStateSharedData.d.ts +7 -3
- package/Materials/Node/nodeMaterialBuildStateSharedData.js +17 -6
- package/Materials/Node/nodeMaterialBuildStateSharedData.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.d.ts +2 -0
- package/Materials/PBR/pbrBaseMaterial.js +11 -0
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/Textures/Loaders/exrTextureLoader.d.ts +10 -0
- package/Materials/Textures/Loaders/exrTextureLoader.js +28 -1
- package/Materials/Textures/Loaders/exrTextureLoader.js.map +1 -1
- package/Materials/materialHelper.functions.js +1 -1
- package/Materials/materialHelper.functions.js.map +1 -1
- package/Materials/materialHelper.geometryrendering.js +7 -0
- package/Materials/materialHelper.geometryrendering.js.map +1 -1
- package/Materials/standardMaterial.d.ts +2 -0
- package/Materials/standardMaterial.js +11 -0
- package/Materials/standardMaterial.js.map +1 -1
- package/Meshes/Node/Blocks/Textures/geometryTextureBlock.d.ts +7 -0
- package/Meshes/Node/Blocks/Textures/geometryTextureBlock.js +11 -5
- package/Meshes/Node/Blocks/Textures/geometryTextureBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.d.ts +6 -0
- package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.js +42 -4
- package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.js.map +1 -1
- package/Meshes/Node/Blocks/geometryOptimizeBlock.js +8 -0
- package/Meshes/Node/Blocks/geometryOptimizeBlock.js.map +1 -1
- package/Misc/environmentTextureTools.js +1 -1
- package/Misc/environmentTextureTools.js.map +1 -1
- package/Misc/minMaxReducer.d.ts +8 -6
- package/Misc/minMaxReducer.js +57 -90
- package/Misc/minMaxReducer.js.map +1 -1
- package/Misc/observable.d.ts +1 -1
- package/Misc/observable.js.map +1 -1
- package/Misc/thinMinMaxReducer.d.ts +47 -0
- package/Misc/thinMinMaxReducer.js +148 -0
- package/Misc/thinMinMaxReducer.js.map +1 -0
- package/Particles/EmitterTypes/customParticleEmitter.d.ts +5 -0
- package/Particles/EmitterTypes/customParticleEmitter.js +9 -1
- package/Particles/EmitterTypes/customParticleEmitter.js.map +1 -1
- package/Particles/IParticleSystem.d.ts +8 -0
- package/Particles/IParticleSystem.js.map +1 -1
- package/Particles/Node/Blocks/Conditions/particleConditionBlock.d.ts +75 -0
- package/Particles/Node/Blocks/Conditions/particleConditionBlock.js +179 -0
- package/Particles/Node/Blocks/Conditions/particleConditionBlock.js.map +1 -0
- package/Particles/Node/Blocks/Emitters/boxShapeBlock.d.ts +47 -0
- package/Particles/Node/Blocks/Emitters/boxShapeBlock.js +107 -0
- package/Particles/Node/Blocks/Emitters/boxShapeBlock.js.map +1 -0
- package/Particles/Node/Blocks/Emitters/createParticleBlock.d.ts +46 -0
- package/Particles/Node/Blocks/Emitters/createParticleBlock.js +97 -0
- package/Particles/Node/Blocks/Emitters/createParticleBlock.js.map +1 -0
- package/Particles/Node/Blocks/Emitters/customShapeBlock.d.ts +39 -0
- package/Particles/Node/Blocks/Emitters/customShapeBlock.js +84 -0
- package/Particles/Node/Blocks/Emitters/customShapeBlock.js.map +1 -0
- package/Particles/Node/Blocks/Emitters/cylinderShapeBlock.d.ts +48 -0
- package/Particles/Node/Blocks/Emitters/cylinderShapeBlock.js +120 -0
- package/Particles/Node/Blocks/Emitters/cylinderShapeBlock.js.map +1 -0
- package/Particles/Node/Blocks/Emitters/index.d.ts +7 -0
- package/Particles/Node/Blocks/Emitters/index.js +8 -0
- package/Particles/Node/Blocks/Emitters/index.js.map +1 -0
- package/Particles/Node/Blocks/Emitters/pointShapeBlock.d.ts +39 -0
- package/Particles/Node/Blocks/Emitters/pointShapeBlock.js +86 -0
- package/Particles/Node/Blocks/Emitters/pointShapeBlock.js.map +1 -0
- package/Particles/Node/Blocks/Emitters/setupSpriteSheetBlock.d.ts +53 -0
- package/Particles/Node/Blocks/Emitters/setupSpriteSheetBlock.js +111 -0
- package/Particles/Node/Blocks/Emitters/setupSpriteSheetBlock.js.map +1 -0
- package/Particles/Node/Blocks/Emitters/sphereShapeBlock.d.ts +43 -0
- package/Particles/Node/Blocks/Emitters/sphereShapeBlock.js +108 -0
- package/Particles/Node/Blocks/Emitters/sphereShapeBlock.js.map +1 -0
- package/Particles/Node/Blocks/Teleport/particleTeleportInBlock.d.ts +48 -0
- package/Particles/Node/Blocks/Teleport/particleTeleportInBlock.js +100 -0
- package/Particles/Node/Blocks/Teleport/particleTeleportInBlock.js.map +1 -0
- package/Particles/Node/Blocks/Teleport/particleTeleportOutBlock.d.ts +47 -0
- package/Particles/Node/Blocks/Teleport/particleTeleportOutBlock.js +82 -0
- package/Particles/Node/Blocks/Teleport/particleTeleportOutBlock.js.map +1 -0
- package/Particles/Node/Blocks/Triggers/particleTriggerBlock.d.ts +48 -0
- package/Particles/Node/Blocks/Triggers/particleTriggerBlock.js +133 -0
- package/Particles/Node/Blocks/Triggers/particleTriggerBlock.js.map +1 -0
- package/Particles/Node/Blocks/Triggers/triggerTools.d.ts +9 -0
- package/Particles/Node/Blocks/Triggers/triggerTools.js +16 -0
- package/Particles/Node/Blocks/Triggers/triggerTools.js.map +1 -0
- package/Particles/Node/Blocks/Update/basicPositionUpdateBlock.d.ts +31 -0
- package/Particles/Node/Blocks/Update/basicPositionUpdateBlock.js +64 -0
- package/Particles/Node/Blocks/Update/basicPositionUpdateBlock.js.map +1 -0
- package/Particles/Node/Blocks/Update/basicSpriteUpdateBlock.d.ts +31 -0
- package/Particles/Node/Blocks/Update/basicSpriteUpdateBlock.js +63 -0
- package/Particles/Node/Blocks/Update/basicSpriteUpdateBlock.js.map +1 -0
- package/Particles/Node/Blocks/Update/updateAngleBlock.d.ts +35 -0
- package/Particles/Node/Blocks/Update/updateAngleBlock.js +73 -0
- package/Particles/Node/Blocks/Update/updateAngleBlock.js.map +1 -0
- package/Particles/Node/Blocks/Update/updateColorBlock.d.ts +35 -0
- package/Particles/Node/Blocks/Update/updateColorBlock.js +73 -0
- package/Particles/Node/Blocks/Update/updateColorBlock.js.map +1 -0
- package/Particles/Node/Blocks/Update/updateDirectionBlock.d.ts +35 -0
- package/Particles/Node/Blocks/Update/updateDirectionBlock.js +73 -0
- package/Particles/Node/Blocks/Update/updateDirectionBlock.js.map +1 -0
- package/Particles/Node/Blocks/Update/updateFlowMapBlock.d.ts +41 -0
- package/Particles/Node/Blocks/Update/updateFlowMapBlock.js +102 -0
- package/Particles/Node/Blocks/Update/updateFlowMapBlock.js.map +1 -0
- package/Particles/Node/Blocks/Update/updatePositionBlock.d.ts +35 -0
- package/Particles/Node/Blocks/Update/updatePositionBlock.js +73 -0
- package/Particles/Node/Blocks/Update/updatePositionBlock.js.map +1 -0
- package/Particles/Node/Blocks/Update/updateScaleBlock.d.ts +35 -0
- package/Particles/Node/Blocks/Update/updateScaleBlock.js +73 -0
- package/Particles/Node/Blocks/Update/updateScaleBlock.js.map +1 -0
- package/Particles/Node/Blocks/Update/updateSpriteCellIndexBlock.d.ts +35 -0
- package/Particles/Node/Blocks/Update/updateSpriteCellIndexBlock.js +74 -0
- package/Particles/Node/Blocks/Update/updateSpriteCellIndexBlock.js.map +1 -0
- package/Particles/Node/Blocks/index.d.ts +27 -0
- package/Particles/Node/Blocks/index.js +29 -0
- package/Particles/Node/Blocks/index.js.map +1 -0
- package/Particles/Node/Blocks/particleConverterBlock.d.ts +85 -0
- package/Particles/Node/Blocks/particleConverterBlock.js +267 -0
- package/Particles/Node/Blocks/particleConverterBlock.js.map +1 -0
- package/Particles/Node/Blocks/particleDebugBlock.d.ts +37 -0
- package/Particles/Node/Blocks/particleDebugBlock.js +109 -0
- package/Particles/Node/Blocks/particleDebugBlock.js.map +1 -0
- package/Particles/Node/Blocks/particleElbowBlock.d.ts +27 -0
- package/Particles/Node/Blocks/particleElbowBlock.js +47 -0
- package/Particles/Node/Blocks/particleElbowBlock.js.map +1 -0
- package/Particles/Node/Blocks/particleGradientBlock.d.ts +28 -0
- package/Particles/Node/Blocks/particleGradientBlock.js +118 -0
- package/Particles/Node/Blocks/particleGradientBlock.js.map +1 -0
- package/Particles/Node/Blocks/particleGradientValueBlock.d.ts +32 -0
- package/Particles/Node/Blocks/particleGradientValueBlock.js +79 -0
- package/Particles/Node/Blocks/particleGradientValueBlock.js.map +1 -0
- package/Particles/Node/Blocks/particleInputBlock.d.ts +87 -0
- package/Particles/Node/Blocks/particleInputBlock.js +279 -0
- package/Particles/Node/Blocks/particleInputBlock.js.map +1 -0
- package/Particles/Node/Blocks/particleLerpBlock.d.ts +34 -0
- package/Particles/Node/Blocks/particleLerpBlock.js +92 -0
- package/Particles/Node/Blocks/particleLerpBlock.js.map +1 -0
- package/Particles/Node/Blocks/particleMathBlock.d.ts +64 -0
- package/Particles/Node/Blocks/particleMathBlock.js +321 -0
- package/Particles/Node/Blocks/particleMathBlock.js.map +1 -0
- package/Particles/Node/Blocks/particleRandomBlock.d.ts +52 -0
- package/Particles/Node/Blocks/particleRandomBlock.js +161 -0
- package/Particles/Node/Blocks/particleRandomBlock.js.map +1 -0
- package/Particles/Node/Blocks/particleSourceTextureBlock.d.ts +65 -0
- package/Particles/Node/Blocks/particleSourceTextureBlock.js +173 -0
- package/Particles/Node/Blocks/particleSourceTextureBlock.js.map +1 -0
- package/Particles/Node/Blocks/particleTrigonometryBlock.d.ts +80 -0
- package/Particles/Node/Blocks/particleTrigonometryBlock.js +272 -0
- package/Particles/Node/Blocks/particleTrigonometryBlock.js.map +1 -0
- package/Particles/Node/Blocks/randomRangeBlock.d.ts +45 -0
- package/Particles/Node/Blocks/randomRangeBlock.js +151 -0
- package/Particles/Node/Blocks/randomRangeBlock.js.map +1 -0
- package/Particles/Node/Blocks/systemBlock.d.ts +71 -0
- package/Particles/Node/Blocks/systemBlock.js +193 -0
- package/Particles/Node/Blocks/systemBlock.js.map +1 -0
- package/Particles/Node/Enums/nodeParticleBlockConnectionPointTypes.d.ts +39 -0
- package/Particles/Node/Enums/nodeParticleBlockConnectionPointTypes.js +41 -0
- package/Particles/Node/Enums/nodeParticleBlockConnectionPointTypes.js.map +1 -0
- package/Particles/Node/Enums/nodeParticleContextualSources.d.ts +31 -0
- package/Particles/Node/Enums/nodeParticleContextualSources.js +34 -0
- package/Particles/Node/Enums/nodeParticleContextualSources.js.map +1 -0
- package/Particles/Node/Enums/nodeParticleSystemSources.d.ts +13 -0
- package/Particles/Node/Enums/nodeParticleSystemSources.js +15 -0
- package/Particles/Node/Enums/nodeParticleSystemSources.js.map +1 -0
- package/Particles/Node/index.d.ts +8 -0
- package/Particles/Node/index.js +10 -0
- package/Particles/Node/index.js.map +1 -0
- package/Particles/Node/nodeParticleBlock.d.ts +154 -0
- package/Particles/Node/nodeParticleBlock.js +355 -0
- package/Particles/Node/nodeParticleBlock.js.map +1 -0
- package/Particles/Node/nodeParticleBlockConnectionPoint.d.ts +188 -0
- package/Particles/Node/nodeParticleBlockConnectionPoint.js +337 -0
- package/Particles/Node/nodeParticleBlockConnectionPoint.js.map +1 -0
- package/Particles/Node/nodeParticleBuildState.d.ts +89 -0
- package/Particles/Node/nodeParticleBuildState.js +170 -0
- package/Particles/Node/nodeParticleBuildState.js.map +1 -0
- package/Particles/Node/nodeParticleSystemSet.d.ts +121 -0
- package/Particles/Node/nodeParticleSystemSet.js +383 -0
- package/Particles/Node/nodeParticleSystemSet.js.map +1 -0
- package/Particles/Queue/executionQueue.d.ts +2 -0
- package/Particles/Queue/executionQueue.js +10 -0
- package/Particles/Queue/executionQueue.js.map +1 -1
- package/Particles/baseParticleSystem.d.ts +6 -1
- package/Particles/baseParticleSystem.js +7 -0
- package/Particles/baseParticleSystem.js.map +1 -1
- package/Particles/flowMap.d.ts +7 -0
- package/Particles/flowMap.js +32 -0
- package/Particles/flowMap.js.map +1 -1
- package/Particles/gpuParticleSystem.d.ts +4 -0
- package/Particles/gpuParticleSystem.js +4 -0
- package/Particles/gpuParticleSystem.js.map +1 -1
- package/Particles/index.d.ts +1 -0
- package/Particles/index.js +1 -0
- package/Particles/index.js.map +1 -1
- package/Particles/particleSystem.d.ts +12 -0
- package/Particles/particleSystem.js +22 -1
- package/Particles/particleSystem.js.map +1 -1
- package/Particles/thinParticleSystem.d.ts +32 -11
- package/Particles/thinParticleSystem.js +62 -36
- package/Particles/thinParticleSystem.js.map +1 -1
- package/PostProcesses/postProcessManager.d.ts +2 -1
- package/PostProcesses/postProcessManager.js +3 -2
- package/PostProcesses/postProcessManager.js.map +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/defaultVertexDeclaration.js +1 -0
- package/Shaders/ShadersInclude/defaultVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/lightFragment.js +5 -2
- package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js +3 -0
- package/Shaders/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockPrePass.js +3 -0
- package/Shaders/ShadersInclude/pbrBlockPrePass.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.js +1 -1
- package/Shaders/ShadersInclude/pbrUboDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/pbrVertexDeclaration.js +1 -0
- package/Shaders/ShadersInclude/pbrVertexDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/prePassDeclaration.js +3 -0
- package/Shaders/ShadersInclude/prePassDeclaration.js.map +1 -1
- package/Shaders/ShadersInclude/prePassVertex.js +3 -0
- package/Shaders/ShadersInclude/prePassVertex.js.map +1 -1
- package/Shaders/ShadersInclude/prePassVertexDeclaration.js +3 -0
- package/Shaders/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
- package/Shaders/default.fragment.js +3 -0
- package/Shaders/default.fragment.js.map +1 -1
- package/Shaders/minmaxRedux.fragment.js +13 -5
- package/Shaders/minmaxRedux.fragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/lightFragment.js +5 -2
- package/ShadersWGSL/ShadersInclude/lightFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js +3 -0
- package/ShadersWGSL/ShadersInclude/morphTargetsVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.js +3 -0
- package/ShadersWGSL/ShadersInclude/pbrBlockPrePass.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js +1 -1
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js +1 -1
- package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/prePassDeclaration.js +3 -0
- package/ShadersWGSL/ShadersInclude/prePassDeclaration.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/prePassVertex.js +3 -0
- package/ShadersWGSL/ShadersInclude/prePassVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js +3 -0
- package/ShadersWGSL/ShadersInclude/prePassVertexDeclaration.js.map +1 -1
- package/ShadersWGSL/default.fragment.js +3 -0
- package/ShadersWGSL/default.fragment.js.map +1 -1
- package/ShadersWGSL/minmaxRedux.fragment.js +14 -6
- package/ShadersWGSL/minmaxRedux.fragment.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +5 -0
- package/scene.js +8 -0
- package/scene.js.map +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateScaleBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/Particles/Node/Blocks/Update/updateScaleBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,qCAAqC,EAAE,MAAM,mDAAmD,CAAC;AAC1G,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAK5D,OAAO,EAAE,gBAAgB,EAAE,yCAA4C;AAGvE;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,iBAAiB;IACnD;;;OAGG;IACH,YAAmB,IAAY;QAC3B,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,qCAAqC,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,qCAAqC,CAAC,OAAO,CAAC,CAAC;QAC3E,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,qCAAqC,CAAC,QAAQ,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACa,YAAY;QACxB,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACa,MAAM,CAAC,KAA6B;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAuB,CAAC;QAE5E,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC;QAElC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,CAAC,QAAkB,EAAE,EAAE;YACxC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;YACjC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;YAC7B,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAY,CAAC,CAAC;QAC5E,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG;YACpB,OAAO,EAAE,YAAY;YACrB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;SACjB,CAAC;QAEF,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC3B,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,iBAAiB,GAAG,eAAe,CAAC;QAC/C,CAAC;IACL,CAAC;CACJ;AAED,aAAa,CAAC,0BAA0B,EAAE,gBAAgB,CAAC,CAAC","sourcesContent":["import { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { NodeParticleBlockConnectionPointTypes } from \"../../Enums/nodeParticleBlockConnectionPointTypes\";\r\nimport { NodeParticleBlock } from \"../../nodeParticleBlock\";\r\nimport type { NodeParticleConnectionPoint } from \"../../nodeParticleBlockConnectionPoint\";\r\nimport type { NodeParticleBuildState } from \"../../nodeParticleBuildState\";\r\nimport type { ThinParticleSystem } from \"core/Particles/thinParticleSystem\";\r\nimport type { Particle } from \"core/Particles/particle\";\r\nimport { _ConnectAtTheEnd } from \"core/Particles/Queue/executionQueue\";\r\nimport type { Vector2 } from \"core/Maths/math.vector\";\r\n\r\n/**\r\n * Block used to update the scale of a particle\r\n */\r\nexport class UpdateScaleBlock extends NodeParticleBlock {\r\n /**\r\n * Create a new UpdateScaleBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name);\r\n\r\n this.registerInput(\"particle\", NodeParticleBlockConnectionPointTypes.Particle);\r\n this.registerInput(\"scale\", NodeParticleBlockConnectionPointTypes.Vector2);\r\n this.registerOutput(\"output\", NodeParticleBlockConnectionPointTypes.Particle);\r\n }\r\n\r\n /**\r\n * Gets the particle component\r\n */\r\n public get particle(): NodeParticleConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the scale input component\r\n */\r\n public get scale(): NodeParticleConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeParticleConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"UpdateScaleBlock\";\r\n }\r\n\r\n /**\r\n * Builds the block\r\n * @param state defines the current build state\r\n */\r\n public override _build(state: NodeParticleBuildState) {\r\n const system = this.particle.getConnectedValue(state) as ThinParticleSystem;\r\n\r\n this.output._storedValue = system;\r\n\r\n if (!this.scale.isConnected) {\r\n return;\r\n }\r\n\r\n const processScale = (particle: Particle) => {\r\n state.particleContext = particle;\r\n state.systemContext = system;\r\n particle.scale.copyFrom(this.scale.getConnectedValue(state) as Vector2);\r\n };\r\n\r\n const scaleProcessing = {\r\n process: processScale,\r\n previousItem: null,\r\n nextItem: null,\r\n };\r\n\r\n if (system._updateQueueStart) {\r\n _ConnectAtTheEnd(scaleProcessing, system._updateQueueStart);\r\n } else {\r\n system._updateQueueStart = scaleProcessing;\r\n }\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.UpdateScaleBlock\", UpdateScaleBlock);\r\n"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { NodeParticleBlock } from "../../nodeParticleBlock.js";
|
|
2
|
+
import type { NodeParticleConnectionPoint } from "../../nodeParticleBlockConnectionPoint.js";
|
|
3
|
+
import type { NodeParticleBuildState } from "../../nodeParticleBuildState.js";
|
|
4
|
+
/**
|
|
5
|
+
* Block used to update the sprite cell index of a particle
|
|
6
|
+
*/
|
|
7
|
+
export declare class UpdateSpriteCellIndexBlock extends NodeParticleBlock {
|
|
8
|
+
/**
|
|
9
|
+
* Create a new UpdateSpriteCellIndexBlock
|
|
10
|
+
* @param name defines the block name
|
|
11
|
+
*/
|
|
12
|
+
constructor(name: string);
|
|
13
|
+
/**
|
|
14
|
+
* Gets the particle component
|
|
15
|
+
*/
|
|
16
|
+
get particle(): NodeParticleConnectionPoint;
|
|
17
|
+
/**
|
|
18
|
+
* Gets the cellIndex input component
|
|
19
|
+
*/
|
|
20
|
+
get cellIndex(): NodeParticleConnectionPoint;
|
|
21
|
+
/**
|
|
22
|
+
* Gets the output component
|
|
23
|
+
*/
|
|
24
|
+
get output(): NodeParticleConnectionPoint;
|
|
25
|
+
/**
|
|
26
|
+
* Gets the current class name
|
|
27
|
+
* @returns the class name
|
|
28
|
+
*/
|
|
29
|
+
getClassName(): string;
|
|
30
|
+
/**
|
|
31
|
+
* Builds the block
|
|
32
|
+
* @param state defines the current build state
|
|
33
|
+
*/
|
|
34
|
+
_build(state: NodeParticleBuildState): void;
|
|
35
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { RegisterClass } from "../../../../Misc/typeStore.js";
|
|
2
|
+
import { NodeParticleBlockConnectionPointTypes } from "../../Enums/nodeParticleBlockConnectionPointTypes.js";
|
|
3
|
+
import { NodeParticleBlock } from "../../nodeParticleBlock.js";
|
|
4
|
+
import { _ConnectAtTheEnd } from "../../../Queue/executionQueue.js";
|
|
5
|
+
/**
|
|
6
|
+
* Block used to update the sprite cell index of a particle
|
|
7
|
+
*/
|
|
8
|
+
export class UpdateSpriteCellIndexBlock extends NodeParticleBlock {
|
|
9
|
+
/**
|
|
10
|
+
* Create a new UpdateSpriteCellIndexBlock
|
|
11
|
+
* @param name defines the block name
|
|
12
|
+
*/
|
|
13
|
+
constructor(name) {
|
|
14
|
+
super(name);
|
|
15
|
+
this.registerInput("particle", NodeParticleBlockConnectionPointTypes.Particle);
|
|
16
|
+
this.registerInput("cellIndex", NodeParticleBlockConnectionPointTypes.Int);
|
|
17
|
+
this.registerOutput("output", NodeParticleBlockConnectionPointTypes.Particle);
|
|
18
|
+
this.cellIndex.acceptedConnectionPointTypes = [NodeParticleBlockConnectionPointTypes.Float];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Gets the particle component
|
|
22
|
+
*/
|
|
23
|
+
get particle() {
|
|
24
|
+
return this._inputs[0];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Gets the cellIndex input component
|
|
28
|
+
*/
|
|
29
|
+
get cellIndex() {
|
|
30
|
+
return this._inputs[1];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Gets the output component
|
|
34
|
+
*/
|
|
35
|
+
get output() {
|
|
36
|
+
return this._outputs[0];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Gets the current class name
|
|
40
|
+
* @returns the class name
|
|
41
|
+
*/
|
|
42
|
+
getClassName() {
|
|
43
|
+
return "UpdateSpriteCellIndexBlock";
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Builds the block
|
|
47
|
+
* @param state defines the current build state
|
|
48
|
+
*/
|
|
49
|
+
_build(state) {
|
|
50
|
+
const system = this.particle.getConnectedValue(state);
|
|
51
|
+
this.output._storedValue = system;
|
|
52
|
+
if (!this.cellIndex.isConnected) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const processSpriteCellIndex = (particle) => {
|
|
56
|
+
state.particleContext = particle;
|
|
57
|
+
state.systemContext = system;
|
|
58
|
+
particle.cellIndex = Math.floor(this.cellIndex.getConnectedValue(state));
|
|
59
|
+
};
|
|
60
|
+
const spriteCellIndexProcessing = {
|
|
61
|
+
process: processSpriteCellIndex,
|
|
62
|
+
previousItem: null,
|
|
63
|
+
nextItem: null,
|
|
64
|
+
};
|
|
65
|
+
if (system._updateQueueStart) {
|
|
66
|
+
_ConnectAtTheEnd(spriteCellIndexProcessing, system._updateQueueStart);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
system._updateQueueStart = spriteCellIndexProcessing;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
RegisterClass("BABYLON.UpdateSpriteCellIndexBlock", UpdateSpriteCellIndexBlock);
|
|
74
|
+
//# sourceMappingURL=updateSpriteCellIndexBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateSpriteCellIndexBlock.js","sourceRoot":"","sources":["../../../../../../../dev/core/src/Particles/Node/Blocks/Update/updateSpriteCellIndexBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,qCAAqC,EAAE,MAAM,mDAAmD,CAAC;AAC1G,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAK5D,OAAO,EAAE,gBAAgB,EAAE,yCAA4C;AAEvE;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC7D;;;OAGG;IACH,YAAmB,IAAY;QAC3B,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,qCAAqC,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,qCAAqC,CAAC,GAAG,CAAC,CAAC;QAC3E,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,qCAAqC,CAAC,QAAQ,CAAC,CAAC;QAE9E,IAAI,CAAC,SAAS,CAAC,4BAA4B,GAAG,CAAC,qCAAqC,CAAC,KAAK,CAAC,CAAC;IAChG,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACa,YAAY;QACxB,OAAO,4BAA4B,CAAC;IACxC,CAAC;IAED;;;OAGG;IACa,MAAM,CAAC,KAA6B;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAuB,CAAC;QAE5E,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC;QAElC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,MAAM,sBAAsB,GAAG,CAAC,QAAkB,EAAE,EAAE;YAClD,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;YACjC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;YAC7B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC;QAEF,MAAM,yBAAyB,GAAG;YAC9B,OAAO,EAAE,sBAAsB;YAC/B,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;SACjB,CAAC;QAEF,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC3B,gBAAgB,CAAC,yBAAyB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,iBAAiB,GAAG,yBAAyB,CAAC;QACzD,CAAC;IACL,CAAC;CACJ;AAED,aAAa,CAAC,oCAAoC,EAAE,0BAA0B,CAAC,CAAC","sourcesContent":["import { RegisterClass } from \"../../../../Misc/typeStore\";\r\nimport { NodeParticleBlockConnectionPointTypes } from \"../../Enums/nodeParticleBlockConnectionPointTypes\";\r\nimport { NodeParticleBlock } from \"../../nodeParticleBlock\";\r\nimport type { NodeParticleConnectionPoint } from \"../../nodeParticleBlockConnectionPoint\";\r\nimport type { NodeParticleBuildState } from \"../../nodeParticleBuildState\";\r\nimport type { ThinParticleSystem } from \"core/Particles/thinParticleSystem\";\r\nimport type { Particle } from \"core/Particles/particle\";\r\nimport { _ConnectAtTheEnd } from \"core/Particles/Queue/executionQueue\";\r\n\r\n/**\r\n * Block used to update the sprite cell index of a particle\r\n */\r\nexport class UpdateSpriteCellIndexBlock extends NodeParticleBlock {\r\n /**\r\n * Create a new UpdateSpriteCellIndexBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name);\r\n\r\n this.registerInput(\"particle\", NodeParticleBlockConnectionPointTypes.Particle);\r\n this.registerInput(\"cellIndex\", NodeParticleBlockConnectionPointTypes.Int);\r\n this.registerOutput(\"output\", NodeParticleBlockConnectionPointTypes.Particle);\r\n\r\n this.cellIndex.acceptedConnectionPointTypes = [NodeParticleBlockConnectionPointTypes.Float];\r\n }\r\n\r\n /**\r\n * Gets the particle component\r\n */\r\n public get particle(): NodeParticleConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the cellIndex input component\r\n */\r\n public get cellIndex(): NodeParticleConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the output component\r\n */\r\n public get output(): NodeParticleConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"UpdateSpriteCellIndexBlock\";\r\n }\r\n\r\n /**\r\n * Builds the block\r\n * @param state defines the current build state\r\n */\r\n public override _build(state: NodeParticleBuildState) {\r\n const system = this.particle.getConnectedValue(state) as ThinParticleSystem;\r\n\r\n this.output._storedValue = system;\r\n\r\n if (!this.cellIndex.isConnected) {\r\n return;\r\n }\r\n\r\n const processSpriteCellIndex = (particle: Particle) => {\r\n state.particleContext = particle;\r\n state.systemContext = system;\r\n particle.cellIndex = Math.floor(this.cellIndex.getConnectedValue(state));\r\n };\r\n\r\n const spriteCellIndexProcessing = {\r\n process: processSpriteCellIndex,\r\n previousItem: null,\r\n nextItem: null,\r\n };\r\n\r\n if (system._updateQueueStart) {\r\n _ConnectAtTheEnd(spriteCellIndexProcessing, system._updateQueueStart);\r\n } else {\r\n system._updateQueueStart = spriteCellIndexProcessing;\r\n }\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.UpdateSpriteCellIndexBlock\", UpdateSpriteCellIndexBlock);\r\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export * from "./systemBlock.js";
|
|
2
|
+
export * from "./particleInputBlock.js";
|
|
3
|
+
export * from "./particleSourceTextureBlock.js";
|
|
4
|
+
export * from "./randomRangeBlock.js";
|
|
5
|
+
export * from "./particleMathBlock.js";
|
|
6
|
+
export * from "./particleLerpBlock.js";
|
|
7
|
+
export * from "./Update/updateDirectionBlock.js";
|
|
8
|
+
export * from "./Update/updatePositionBlock.js";
|
|
9
|
+
export * from "./Update/updateColorBlock.js";
|
|
10
|
+
export * from "./Update/updateScaleBlock.js";
|
|
11
|
+
export * from "./Update/updateAngleBlock.js";
|
|
12
|
+
export * from "./Update/basicPositionUpdateBlock.js";
|
|
13
|
+
export * from "./Update/basicSpriteUpdateBlock.js";
|
|
14
|
+
export * from "./Update/updateSpriteCellIndexBlock.js";
|
|
15
|
+
export * from "./Update/updateFlowMapBlock.js";
|
|
16
|
+
export * from "./Emitters/index.js";
|
|
17
|
+
export * from "./particleGradientValueBlock.js";
|
|
18
|
+
export * from "./particleGradientBlock.js";
|
|
19
|
+
export * from "./particleConverterBlock.js";
|
|
20
|
+
export * from "./particleTrigonometryBlock.js";
|
|
21
|
+
export * from "./particleRandomBlock.js";
|
|
22
|
+
export * from "./particleDebugBlock.js";
|
|
23
|
+
export * from "./particleElbowBlock.js";
|
|
24
|
+
export * from "./Teleport/particleTeleportInBlock.js";
|
|
25
|
+
export * from "./Teleport/particleTeleportOutBlock.js";
|
|
26
|
+
export * from "./Conditions/particleConditionBlock.js";
|
|
27
|
+
export * from "./Triggers/particleTriggerBlock.js";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/* eslint-disable import/no-internal-modules */
|
|
2
|
+
export * from "./systemBlock.js";
|
|
3
|
+
export * from "./particleInputBlock.js";
|
|
4
|
+
export * from "./particleSourceTextureBlock.js";
|
|
5
|
+
export * from "./randomRangeBlock.js";
|
|
6
|
+
export * from "./particleMathBlock.js";
|
|
7
|
+
export * from "./particleLerpBlock.js";
|
|
8
|
+
export * from "./Update/updateDirectionBlock.js";
|
|
9
|
+
export * from "./Update/updatePositionBlock.js";
|
|
10
|
+
export * from "./Update/updateColorBlock.js";
|
|
11
|
+
export * from "./Update/updateScaleBlock.js";
|
|
12
|
+
export * from "./Update/updateAngleBlock.js";
|
|
13
|
+
export * from "./Update/basicPositionUpdateBlock.js";
|
|
14
|
+
export * from "./Update/basicSpriteUpdateBlock.js";
|
|
15
|
+
export * from "./Update/updateSpriteCellIndexBlock.js";
|
|
16
|
+
export * from "./Update/updateFlowMapBlock.js";
|
|
17
|
+
export * from "./Emitters/index.js";
|
|
18
|
+
export * from "./particleGradientValueBlock.js";
|
|
19
|
+
export * from "./particleGradientBlock.js";
|
|
20
|
+
export * from "./particleConverterBlock.js";
|
|
21
|
+
export * from "./particleTrigonometryBlock.js";
|
|
22
|
+
export * from "./particleRandomBlock.js";
|
|
23
|
+
export * from "./particleDebugBlock.js";
|
|
24
|
+
export * from "./particleElbowBlock.js";
|
|
25
|
+
export * from "./Teleport/particleTeleportInBlock.js";
|
|
26
|
+
export * from "./Teleport/particleTeleportOutBlock.js";
|
|
27
|
+
export * from "./Conditions/particleConditionBlock.js";
|
|
28
|
+
export * from "./Triggers/particleTriggerBlock.js";
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../dev/core/src/Particles/Node/Blocks/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC","sourcesContent":["/* eslint-disable import/no-internal-modules */\r\nexport * from \"./systemBlock\";\r\nexport * from \"./particleInputBlock\";\r\nexport * from \"./particleSourceTextureBlock\";\r\nexport * from \"./randomRangeBlock\";\r\nexport * from \"./particleMathBlock\";\r\nexport * from \"./particleLerpBlock\";\r\nexport * from \"./Update/updateDirectionBlock\";\r\nexport * from \"./Update/updatePositionBlock\";\r\nexport * from \"./Update/updateColorBlock\";\r\nexport * from \"./Update/updateScaleBlock\";\r\nexport * from \"./Update/updateAngleBlock\";\r\nexport * from \"./Update/basicPositionUpdateBlock\";\r\nexport * from \"./Update/basicSpriteUpdateBlock\";\r\nexport * from \"./Update/updateSpriteCellIndexBlock\";\r\nexport * from \"./Update/updateFlowMapBlock\";\r\nexport * from \"./Emitters/index\";\r\nexport * from \"./particleGradientValueBlock\";\r\nexport * from \"./particleGradientBlock\";\r\nexport * from \"./particleConverterBlock\";\r\nexport * from \"./particleTrigonometryBlock\";\r\nexport * from \"./particleRandomBlock\";\r\nexport * from \"./particleDebugBlock\";\r\nexport * from \"./particleElbowBlock\";\r\nexport * from \"./Teleport/particleTeleportInBlock\";\r\nexport * from \"./Teleport/particleTeleportOutBlock\";\r\nexport * from \"./Conditions/particleConditionBlock\";\r\nexport * from \"./Triggers/particleTriggerBlock\";\r\n"]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { NodeParticleBlock } from "../nodeParticleBlock.js";
|
|
2
|
+
import type { NodeParticleConnectionPoint } from "../nodeParticleBlockConnectionPoint.js";
|
|
3
|
+
import type { NodeParticleBuildState } from "../nodeParticleBuildState.js";
|
|
4
|
+
/**
|
|
5
|
+
* Block used to create a Vector2/3 and Color4 out of individual or partial inputs
|
|
6
|
+
*/
|
|
7
|
+
export declare class ParticleConverterBlock extends NodeParticleBlock {
|
|
8
|
+
/**
|
|
9
|
+
* Create a new ParticleConverterBlock
|
|
10
|
+
* @param name defines the block name
|
|
11
|
+
*/
|
|
12
|
+
constructor(name: string);
|
|
13
|
+
/**
|
|
14
|
+
* Gets the current class name
|
|
15
|
+
* @returns the class name
|
|
16
|
+
*/
|
|
17
|
+
getClassName(): string;
|
|
18
|
+
/**
|
|
19
|
+
* Gets the color component (input)
|
|
20
|
+
*/
|
|
21
|
+
get colorIn(): NodeParticleConnectionPoint;
|
|
22
|
+
/**
|
|
23
|
+
* Gets the xyz component (input)
|
|
24
|
+
*/
|
|
25
|
+
get xyzIn(): NodeParticleConnectionPoint;
|
|
26
|
+
/**
|
|
27
|
+
* Gets the xy component (input)
|
|
28
|
+
*/
|
|
29
|
+
get xyIn(): NodeParticleConnectionPoint;
|
|
30
|
+
/**
|
|
31
|
+
* Gets the zw component (input)
|
|
32
|
+
*/
|
|
33
|
+
get zwIn(): NodeParticleConnectionPoint;
|
|
34
|
+
/**
|
|
35
|
+
* Gets the x component (input)
|
|
36
|
+
*/
|
|
37
|
+
get xIn(): NodeParticleConnectionPoint;
|
|
38
|
+
/**
|
|
39
|
+
* Gets the y component (input)
|
|
40
|
+
*/
|
|
41
|
+
get yIn(): NodeParticleConnectionPoint;
|
|
42
|
+
/**
|
|
43
|
+
* Gets the z component (input)
|
|
44
|
+
*/
|
|
45
|
+
get zIn(): NodeParticleConnectionPoint;
|
|
46
|
+
/**
|
|
47
|
+
* Gets the w component (input)
|
|
48
|
+
*/
|
|
49
|
+
get wIn(): NodeParticleConnectionPoint;
|
|
50
|
+
/**
|
|
51
|
+
* Gets the xyzw component (output)
|
|
52
|
+
*/
|
|
53
|
+
get colorOut(): NodeParticleConnectionPoint;
|
|
54
|
+
/**
|
|
55
|
+
* Gets the xyz component (output)
|
|
56
|
+
*/
|
|
57
|
+
get xyzOut(): NodeParticleConnectionPoint;
|
|
58
|
+
/**
|
|
59
|
+
* Gets the xy component (output)
|
|
60
|
+
*/
|
|
61
|
+
get xyOut(): NodeParticleConnectionPoint;
|
|
62
|
+
/**
|
|
63
|
+
* Gets the zw component (output)
|
|
64
|
+
*/
|
|
65
|
+
get zwOut(): NodeParticleConnectionPoint;
|
|
66
|
+
/**
|
|
67
|
+
* Gets the x component (output)
|
|
68
|
+
*/
|
|
69
|
+
get xOut(): NodeParticleConnectionPoint;
|
|
70
|
+
/**
|
|
71
|
+
* Gets the y component (output)
|
|
72
|
+
*/
|
|
73
|
+
get yOut(): NodeParticleConnectionPoint;
|
|
74
|
+
/**
|
|
75
|
+
* Gets the z component (output)
|
|
76
|
+
*/
|
|
77
|
+
get zOut(): NodeParticleConnectionPoint;
|
|
78
|
+
/**
|
|
79
|
+
* Gets the w component (output)
|
|
80
|
+
*/
|
|
81
|
+
get wOut(): NodeParticleConnectionPoint;
|
|
82
|
+
protected _inputRename(name: string): string;
|
|
83
|
+
protected _outputRename(name: string): string;
|
|
84
|
+
_build(state: NodeParticleBuildState): void;
|
|
85
|
+
}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import { Color4 } from "../../../Maths/math.color.js";
|
|
2
|
+
import { Vector2, Vector3 } from "../../../Maths/math.vector.js";
|
|
3
|
+
import { RegisterClass } from "../../../Misc/typeStore.js";
|
|
4
|
+
import { NodeParticleBlockConnectionPointTypes } from "../Enums/nodeParticleBlockConnectionPointTypes.js";
|
|
5
|
+
import { NodeParticleBlock } from "../nodeParticleBlock.js";
|
|
6
|
+
/**
|
|
7
|
+
* Block used to create a Vector2/3 and Color4 out of individual or partial inputs
|
|
8
|
+
*/
|
|
9
|
+
export class ParticleConverterBlock extends NodeParticleBlock {
|
|
10
|
+
/**
|
|
11
|
+
* Create a new ParticleConverterBlock
|
|
12
|
+
* @param name defines the block name
|
|
13
|
+
*/
|
|
14
|
+
constructor(name) {
|
|
15
|
+
super(name);
|
|
16
|
+
this.registerInput("color ", NodeParticleBlockConnectionPointTypes.Color4, true);
|
|
17
|
+
this.registerInput("xyz ", NodeParticleBlockConnectionPointTypes.Vector3, true);
|
|
18
|
+
this.registerInput("xy ", NodeParticleBlockConnectionPointTypes.Vector2, true);
|
|
19
|
+
this.registerInput("zw ", NodeParticleBlockConnectionPointTypes.Vector2, true);
|
|
20
|
+
this.registerInput("x ", NodeParticleBlockConnectionPointTypes.Float, true);
|
|
21
|
+
this.registerInput("y ", NodeParticleBlockConnectionPointTypes.Float, true);
|
|
22
|
+
this.registerInput("z ", NodeParticleBlockConnectionPointTypes.Float, true);
|
|
23
|
+
this.registerInput("w ", NodeParticleBlockConnectionPointTypes.Float, true);
|
|
24
|
+
this.registerOutput("color", NodeParticleBlockConnectionPointTypes.Color4);
|
|
25
|
+
this.registerOutput("xyz", NodeParticleBlockConnectionPointTypes.Vector3);
|
|
26
|
+
this.registerOutput("xy", NodeParticleBlockConnectionPointTypes.Vector2);
|
|
27
|
+
this.registerOutput("zw", NodeParticleBlockConnectionPointTypes.Vector2);
|
|
28
|
+
this.registerOutput("x", NodeParticleBlockConnectionPointTypes.Float);
|
|
29
|
+
this.registerOutput("y", NodeParticleBlockConnectionPointTypes.Float);
|
|
30
|
+
this.registerOutput("z", NodeParticleBlockConnectionPointTypes.Float);
|
|
31
|
+
this.registerOutput("w", NodeParticleBlockConnectionPointTypes.Float);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Gets the current class name
|
|
35
|
+
* @returns the class name
|
|
36
|
+
*/
|
|
37
|
+
getClassName() {
|
|
38
|
+
return "ParticleConverterBlock";
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Gets the color component (input)
|
|
42
|
+
*/
|
|
43
|
+
get colorIn() {
|
|
44
|
+
return this._inputs[0];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Gets the xyz component (input)
|
|
48
|
+
*/
|
|
49
|
+
get xyzIn() {
|
|
50
|
+
return this._inputs[1];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Gets the xy component (input)
|
|
54
|
+
*/
|
|
55
|
+
get xyIn() {
|
|
56
|
+
return this._inputs[2];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Gets the zw component (input)
|
|
60
|
+
*/
|
|
61
|
+
get zwIn() {
|
|
62
|
+
return this._inputs[3];
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Gets the x component (input)
|
|
66
|
+
*/
|
|
67
|
+
get xIn() {
|
|
68
|
+
return this._inputs[4];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Gets the y component (input)
|
|
72
|
+
*/
|
|
73
|
+
get yIn() {
|
|
74
|
+
return this._inputs[5];
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Gets the z component (input)
|
|
78
|
+
*/
|
|
79
|
+
get zIn() {
|
|
80
|
+
return this._inputs[6];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Gets the w component (input)
|
|
84
|
+
*/
|
|
85
|
+
get wIn() {
|
|
86
|
+
return this._inputs[7];
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Gets the xyzw component (output)
|
|
90
|
+
*/
|
|
91
|
+
get colorOut() {
|
|
92
|
+
return this._outputs[0];
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Gets the xyz component (output)
|
|
96
|
+
*/
|
|
97
|
+
get xyzOut() {
|
|
98
|
+
return this._outputs[1];
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Gets the xy component (output)
|
|
102
|
+
*/
|
|
103
|
+
get xyOut() {
|
|
104
|
+
return this._outputs[2];
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Gets the zw component (output)
|
|
108
|
+
*/
|
|
109
|
+
get zwOut() {
|
|
110
|
+
return this._outputs[3];
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Gets the x component (output)
|
|
114
|
+
*/
|
|
115
|
+
get xOut() {
|
|
116
|
+
return this._outputs[4];
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Gets the y component (output)
|
|
120
|
+
*/
|
|
121
|
+
get yOut() {
|
|
122
|
+
return this._outputs[5];
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Gets the z component (output)
|
|
126
|
+
*/
|
|
127
|
+
get zOut() {
|
|
128
|
+
return this._outputs[6];
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Gets the w component (output)
|
|
132
|
+
*/
|
|
133
|
+
get wOut() {
|
|
134
|
+
return this._outputs[7];
|
|
135
|
+
}
|
|
136
|
+
_inputRename(name) {
|
|
137
|
+
if (name === "color ") {
|
|
138
|
+
return "colorIn";
|
|
139
|
+
}
|
|
140
|
+
if (name === "xyz ") {
|
|
141
|
+
return "xyzIn";
|
|
142
|
+
}
|
|
143
|
+
if (name === "xy ") {
|
|
144
|
+
return "xyIn";
|
|
145
|
+
}
|
|
146
|
+
if (name === "zw ") {
|
|
147
|
+
return "zwIn";
|
|
148
|
+
}
|
|
149
|
+
if (name === "x ") {
|
|
150
|
+
return "xIn";
|
|
151
|
+
}
|
|
152
|
+
if (name === "y ") {
|
|
153
|
+
return "yIn";
|
|
154
|
+
}
|
|
155
|
+
if (name === "z ") {
|
|
156
|
+
return "zIn";
|
|
157
|
+
}
|
|
158
|
+
if (name === "w ") {
|
|
159
|
+
return "wIn";
|
|
160
|
+
}
|
|
161
|
+
return name;
|
|
162
|
+
}
|
|
163
|
+
_outputRename(name) {
|
|
164
|
+
switch (name) {
|
|
165
|
+
case "x":
|
|
166
|
+
return "xOut";
|
|
167
|
+
case "y":
|
|
168
|
+
return "yOut";
|
|
169
|
+
case "z":
|
|
170
|
+
return "zOut";
|
|
171
|
+
case "w":
|
|
172
|
+
return "wOut";
|
|
173
|
+
case "xy":
|
|
174
|
+
return "xyOut";
|
|
175
|
+
case "zw":
|
|
176
|
+
return "zwOut";
|
|
177
|
+
case "xyz":
|
|
178
|
+
return "xyzOut";
|
|
179
|
+
case "color":
|
|
180
|
+
return "colorOut";
|
|
181
|
+
default:
|
|
182
|
+
return name;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
_build(state) {
|
|
186
|
+
super._build(state);
|
|
187
|
+
const xInput = this.xIn;
|
|
188
|
+
const yInput = this.yIn;
|
|
189
|
+
const zInput = this.zIn;
|
|
190
|
+
const wInput = this.wIn;
|
|
191
|
+
const xyInput = this.xyIn;
|
|
192
|
+
const zwInput = this.zwIn;
|
|
193
|
+
const xyzInput = this.xyzIn;
|
|
194
|
+
const colorInput = this.colorIn;
|
|
195
|
+
const colorOutput = this.colorOut;
|
|
196
|
+
const xyzOutput = this.xyzOut;
|
|
197
|
+
const xyOutput = this.xyOut;
|
|
198
|
+
const zwOutput = this.zwOut;
|
|
199
|
+
const xOutput = this.xOut;
|
|
200
|
+
const yOutput = this.yOut;
|
|
201
|
+
const zOutput = this.zOut;
|
|
202
|
+
const wOutput = this.wOut;
|
|
203
|
+
const getData = (state) => {
|
|
204
|
+
if (colorInput.isConnected) {
|
|
205
|
+
return colorInput.getConnectedValue(state);
|
|
206
|
+
}
|
|
207
|
+
let x = 0;
|
|
208
|
+
let y = 0;
|
|
209
|
+
let z = 0;
|
|
210
|
+
let w = 0;
|
|
211
|
+
if (xInput.isConnected) {
|
|
212
|
+
x = xInput.getConnectedValue(state);
|
|
213
|
+
}
|
|
214
|
+
if (yInput.isConnected) {
|
|
215
|
+
y = yInput.getConnectedValue(state);
|
|
216
|
+
}
|
|
217
|
+
if (zInput.isConnected) {
|
|
218
|
+
z = zInput.getConnectedValue(state);
|
|
219
|
+
}
|
|
220
|
+
if (wInput.isConnected) {
|
|
221
|
+
w = wInput.getConnectedValue(state);
|
|
222
|
+
}
|
|
223
|
+
if (xyInput.isConnected) {
|
|
224
|
+
const temp = xyInput.getConnectedValue(state);
|
|
225
|
+
if (temp) {
|
|
226
|
+
x = temp.x;
|
|
227
|
+
y = temp.y;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
if (zwInput.isConnected) {
|
|
231
|
+
const temp = zwInput.getConnectedValue(state);
|
|
232
|
+
if (temp) {
|
|
233
|
+
z = temp.x;
|
|
234
|
+
w = temp.y;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
if (xyzInput.isConnected) {
|
|
238
|
+
const temp = xyzInput.getConnectedValue(state);
|
|
239
|
+
if (temp) {
|
|
240
|
+
x = temp.x;
|
|
241
|
+
y = temp.y;
|
|
242
|
+
z = temp.z;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return new Color4(x, y, z, w);
|
|
246
|
+
};
|
|
247
|
+
colorOutput._storedFunction = (state) => getData(state);
|
|
248
|
+
xyzOutput._storedFunction = (state) => {
|
|
249
|
+
const data = getData(state);
|
|
250
|
+
return new Vector3(data.r, data.g, data.b);
|
|
251
|
+
};
|
|
252
|
+
xyOutput._storedFunction = (state) => {
|
|
253
|
+
const data = getData(state);
|
|
254
|
+
return new Vector2(data.r, data.g);
|
|
255
|
+
};
|
|
256
|
+
zwOutput._storedFunction = (state) => {
|
|
257
|
+
const data = getData(state);
|
|
258
|
+
return new Vector2(data.b, data.a);
|
|
259
|
+
};
|
|
260
|
+
xOutput._storedFunction = (state) => getData(state).r;
|
|
261
|
+
yOutput._storedFunction = (state) => getData(state).g;
|
|
262
|
+
zOutput._storedFunction = (state) => getData(state).b;
|
|
263
|
+
wOutput._storedFunction = (state) => getData(state).a;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
RegisterClass("BABYLON.ParticleConverterBlock", ParticleConverterBlock);
|
|
267
|
+
//# sourceMappingURL=particleConverterBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"particleConverterBlock.js","sourceRoot":"","sources":["../../../../../../dev/core/src/Particles/Node/Blocks/particleConverterBlock.ts"],"names":[],"mappings":"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","sourcesContent":["import { Color4 } from \"core/Maths/math.color\";\r\nimport { Vector2, Vector3 } from \"../../../Maths/math.vector\";\r\nimport { RegisterClass } from \"../../../Misc/typeStore\";\r\nimport { NodeParticleBlockConnectionPointTypes } from \"../Enums/nodeParticleBlockConnectionPointTypes\";\r\nimport { NodeParticleBlock } from \"../nodeParticleBlock\";\r\nimport type { NodeParticleConnectionPoint } from \"../nodeParticleBlockConnectionPoint\";\r\nimport type { NodeParticleBuildState } from \"../nodeParticleBuildState\";\r\n\r\n/**\r\n * Block used to create a Vector2/3 and Color4 out of individual or partial inputs\r\n */\r\nexport class ParticleConverterBlock extends NodeParticleBlock {\r\n /**\r\n * Create a new ParticleConverterBlock\r\n * @param name defines the block name\r\n */\r\n public constructor(name: string) {\r\n super(name);\r\n\r\n this.registerInput(\"color \", NodeParticleBlockConnectionPointTypes.Color4, true);\r\n this.registerInput(\"xyz \", NodeParticleBlockConnectionPointTypes.Vector3, true);\r\n this.registerInput(\"xy \", NodeParticleBlockConnectionPointTypes.Vector2, true);\r\n this.registerInput(\"zw \", NodeParticleBlockConnectionPointTypes.Vector2, true);\r\n this.registerInput(\"x \", NodeParticleBlockConnectionPointTypes.Float, true);\r\n this.registerInput(\"y \", NodeParticleBlockConnectionPointTypes.Float, true);\r\n this.registerInput(\"z \", NodeParticleBlockConnectionPointTypes.Float, true);\r\n this.registerInput(\"w \", NodeParticleBlockConnectionPointTypes.Float, true);\r\n\r\n this.registerOutput(\"color\", NodeParticleBlockConnectionPointTypes.Color4);\r\n this.registerOutput(\"xyz\", NodeParticleBlockConnectionPointTypes.Vector3);\r\n this.registerOutput(\"xy\", NodeParticleBlockConnectionPointTypes.Vector2);\r\n this.registerOutput(\"zw\", NodeParticleBlockConnectionPointTypes.Vector2);\r\n this.registerOutput(\"x\", NodeParticleBlockConnectionPointTypes.Float);\r\n this.registerOutput(\"y\", NodeParticleBlockConnectionPointTypes.Float);\r\n this.registerOutput(\"z\", NodeParticleBlockConnectionPointTypes.Float);\r\n this.registerOutput(\"w\", NodeParticleBlockConnectionPointTypes.Float);\r\n }\r\n\r\n /**\r\n * Gets the current class name\r\n * @returns the class name\r\n */\r\n public override getClassName() {\r\n return \"ParticleConverterBlock\";\r\n }\r\n\r\n /**\r\n * Gets the color component (input)\r\n */\r\n public get colorIn(): NodeParticleConnectionPoint {\r\n return this._inputs[0];\r\n }\r\n\r\n /**\r\n * Gets the xyz component (input)\r\n */\r\n public get xyzIn(): NodeParticleConnectionPoint {\r\n return this._inputs[1];\r\n }\r\n\r\n /**\r\n * Gets the xy component (input)\r\n */\r\n public get xyIn(): NodeParticleConnectionPoint {\r\n return this._inputs[2];\r\n }\r\n\r\n /**\r\n * Gets the zw component (input)\r\n */\r\n public get zwIn(): NodeParticleConnectionPoint {\r\n return this._inputs[3];\r\n }\r\n\r\n /**\r\n * Gets the x component (input)\r\n */\r\n public get xIn(): NodeParticleConnectionPoint {\r\n return this._inputs[4];\r\n }\r\n\r\n /**\r\n * Gets the y component (input)\r\n */\r\n public get yIn(): NodeParticleConnectionPoint {\r\n return this._inputs[5];\r\n }\r\n\r\n /**\r\n * Gets the z component (input)\r\n */\r\n public get zIn(): NodeParticleConnectionPoint {\r\n return this._inputs[6];\r\n }\r\n\r\n /**\r\n * Gets the w component (input)\r\n */\r\n public get wIn(): NodeParticleConnectionPoint {\r\n return this._inputs[7];\r\n }\r\n\r\n /**\r\n * Gets the xyzw component (output)\r\n */\r\n public get colorOut(): NodeParticleConnectionPoint {\r\n return this._outputs[0];\r\n }\r\n\r\n /**\r\n * Gets the xyz component (output)\r\n */\r\n public get xyzOut(): NodeParticleConnectionPoint {\r\n return this._outputs[1];\r\n }\r\n\r\n /**\r\n * Gets the xy component (output)\r\n */\r\n public get xyOut(): NodeParticleConnectionPoint {\r\n return this._outputs[2];\r\n }\r\n\r\n /**\r\n * Gets the zw component (output)\r\n */\r\n public get zwOut(): NodeParticleConnectionPoint {\r\n return this._outputs[3];\r\n }\r\n\r\n /**\r\n * Gets the x component (output)\r\n */\r\n public get xOut(): NodeParticleConnectionPoint {\r\n return this._outputs[4];\r\n }\r\n\r\n /**\r\n * Gets the y component (output)\r\n */\r\n public get yOut(): NodeParticleConnectionPoint {\r\n return this._outputs[5];\r\n }\r\n\r\n /**\r\n * Gets the z component (output)\r\n */\r\n public get zOut(): NodeParticleConnectionPoint {\r\n return this._outputs[6];\r\n }\r\n\r\n /**\r\n * Gets the w component (output)\r\n */\r\n public get wOut(): NodeParticleConnectionPoint {\r\n return this._outputs[7];\r\n }\r\n\r\n protected override _inputRename(name: string) {\r\n if (name === \"color \") {\r\n return \"colorIn\";\r\n }\r\n if (name === \"xyz \") {\r\n return \"xyzIn\";\r\n }\r\n if (name === \"xy \") {\r\n return \"xyIn\";\r\n }\r\n if (name === \"zw \") {\r\n return \"zwIn\";\r\n }\r\n if (name === \"x \") {\r\n return \"xIn\";\r\n }\r\n if (name === \"y \") {\r\n return \"yIn\";\r\n }\r\n if (name === \"z \") {\r\n return \"zIn\";\r\n }\r\n if (name === \"w \") {\r\n return \"wIn\";\r\n }\r\n return name;\r\n }\r\n\r\n protected override _outputRename(name: string) {\r\n switch (name) {\r\n case \"x\":\r\n return \"xOut\";\r\n case \"y\":\r\n return \"yOut\";\r\n case \"z\":\r\n return \"zOut\";\r\n case \"w\":\r\n return \"wOut\";\r\n case \"xy\":\r\n return \"xyOut\";\r\n case \"zw\":\r\n return \"zwOut\";\r\n case \"xyz\":\r\n return \"xyzOut\";\r\n case \"color\":\r\n return \"colorOut\";\r\n default:\r\n return name;\r\n }\r\n }\r\n\r\n public override _build(state: NodeParticleBuildState) {\r\n super._build(state);\r\n\r\n const xInput = this.xIn;\r\n const yInput = this.yIn;\r\n const zInput = this.zIn;\r\n const wInput = this.wIn;\r\n const xyInput = this.xyIn;\r\n const zwInput = this.zwIn;\r\n const xyzInput = this.xyzIn;\r\n const colorInput = this.colorIn;\r\n\r\n const colorOutput = this.colorOut;\r\n const xyzOutput = this.xyzOut;\r\n const xyOutput = this.xyOut;\r\n const zwOutput = this.zwOut;\r\n const xOutput = this.xOut;\r\n const yOutput = this.yOut;\r\n const zOutput = this.zOut;\r\n const wOutput = this.wOut;\r\n\r\n const getData = (state: NodeParticleBuildState): Color4 => {\r\n if (colorInput.isConnected) {\r\n return colorInput.getConnectedValue(state);\r\n }\r\n\r\n let x: number = 0;\r\n let y: number = 0;\r\n let z: number = 0;\r\n let w: number = 0;\r\n\r\n if (xInput.isConnected) {\r\n x = xInput.getConnectedValue(state);\r\n }\r\n if (yInput.isConnected) {\r\n y = yInput.getConnectedValue(state);\r\n }\r\n if (zInput.isConnected) {\r\n z = zInput.getConnectedValue(state);\r\n }\r\n if (wInput.isConnected) {\r\n w = wInput.getConnectedValue(state);\r\n }\r\n\r\n if (xyInput.isConnected) {\r\n const temp = xyInput.getConnectedValue(state);\r\n if (temp) {\r\n x = temp.x;\r\n y = temp.y;\r\n }\r\n }\r\n if (zwInput.isConnected) {\r\n const temp = zwInput.getConnectedValue(state);\r\n if (temp) {\r\n z = temp.x;\r\n w = temp.y;\r\n }\r\n }\r\n if (xyzInput.isConnected) {\r\n const temp = xyzInput.getConnectedValue(state);\r\n if (temp) {\r\n x = temp.x;\r\n y = temp.y;\r\n z = temp.z;\r\n }\r\n }\r\n\r\n return new Color4(x, y, z, w);\r\n };\r\n\r\n colorOutput._storedFunction = (state) => getData(state);\r\n xyzOutput._storedFunction = (state) => {\r\n const data = getData(state);\r\n return new Vector3(data.r, data.g, data.b);\r\n };\r\n xyOutput._storedFunction = (state) => {\r\n const data = getData(state);\r\n return new Vector2(data.r, data.g);\r\n };\r\n zwOutput._storedFunction = (state) => {\r\n const data = getData(state);\r\n return new Vector2(data.b, data.a);\r\n };\r\n xOutput._storedFunction = (state) => getData(state).r;\r\n yOutput._storedFunction = (state) => getData(state).g;\r\n zOutput._storedFunction = (state) => getData(state).b;\r\n wOutput._storedFunction = (state) => getData(state).a;\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.ParticleConverterBlock\", ParticleConverterBlock);\r\n"]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { NodeParticleBlock } from "../nodeParticleBlock.js";
|
|
2
|
+
import type { NodeParticleConnectionPoint } from "../nodeParticleBlockConnectionPoint.js";
|
|
3
|
+
import type { NodeParticleBuildState } from "../nodeParticleBuildState.js";
|
|
4
|
+
/**
|
|
5
|
+
* Defines a block used to debug values going through it
|
|
6
|
+
*/
|
|
7
|
+
export declare class ParticleDebugBlock extends NodeParticleBlock {
|
|
8
|
+
/**
|
|
9
|
+
* Gets the log entries
|
|
10
|
+
*/
|
|
11
|
+
log: string[][];
|
|
12
|
+
/**
|
|
13
|
+
* Gets or sets the number of logs to keep
|
|
14
|
+
*/
|
|
15
|
+
stackSize: number;
|
|
16
|
+
/**
|
|
17
|
+
* Create a new ParticleDebugBlock
|
|
18
|
+
* @param name defines the block name
|
|
19
|
+
*/
|
|
20
|
+
constructor(name: string);
|
|
21
|
+
/**
|
|
22
|
+
* Gets the current class name
|
|
23
|
+
* @returns the class name
|
|
24
|
+
*/
|
|
25
|
+
getClassName(): string;
|
|
26
|
+
/**
|
|
27
|
+
* Gets the input component
|
|
28
|
+
*/
|
|
29
|
+
get input(): NodeParticleConnectionPoint;
|
|
30
|
+
/**
|
|
31
|
+
* Gets the output component
|
|
32
|
+
*/
|
|
33
|
+
get output(): NodeParticleConnectionPoint;
|
|
34
|
+
_build(state: NodeParticleBuildState): void;
|
|
35
|
+
serialize(): any;
|
|
36
|
+
_deserialize(serializationObject: any): void;
|
|
37
|
+
}
|