@onerjs/core 8.31.9 → 8.32.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/Audio/Interfaces/ISoundOptions.d.ts +1 -1
- package/Audio/Interfaces/ISoundOptions.js.map +1 -1
- package/Audio/audioEngine.d.ts +3 -4
- package/Audio/audioEngine.js +9 -6
- package/Audio/audioEngine.js.map +1 -1
- package/Audio/sound.d.ts +33 -54
- package/Audio/sound.js +450 -718
- package/Audio/sound.js.map +1 -1
- package/AudioV2/abstractAudio/abstractAudioOutNode.d.ts +1 -1
- package/AudioV2/abstractAudio/abstractAudioOutNode.js +1 -1
- package/AudioV2/abstractAudio/abstractAudioOutNode.js.map +1 -1
- package/AudioV2/abstractAudio/abstractSound.d.ts +1 -1
- package/AudioV2/abstractAudio/abstractSound.js +2 -2
- package/AudioV2/abstractAudio/abstractSound.js.map +1 -1
- package/AudioV2/abstractAudio/abstractSoundSource.d.ts +11 -3
- package/AudioV2/abstractAudio/abstractSoundSource.js +37 -1
- package/AudioV2/abstractAudio/abstractSoundSource.js.map +1 -1
- package/AudioV2/abstractAudio/audioBus.d.ts +8 -3
- package/AudioV2/abstractAudio/audioBus.js +24 -1
- package/AudioV2/abstractAudio/audioBus.js.map +1 -1
- package/AudioV2/abstractAudio/staticSound.d.ts +1 -1
- package/AudioV2/abstractAudio/staticSound.js +2 -2
- package/AudioV2/abstractAudio/staticSound.js.map +1 -1
- package/AudioV2/abstractAudio/streamingSound.d.ts +1 -1
- package/AudioV2/abstractAudio/streamingSound.js +2 -2
- package/AudioV2/abstractAudio/streamingSound.js.map +1 -1
- package/AudioV2/abstractAudio/subNodes/abstractAudioSubGraph.d.ts +1 -1
- package/AudioV2/abstractAudio/subNodes/abstractAudioSubGraph.js +3 -0
- package/AudioV2/abstractAudio/subNodes/abstractAudioSubGraph.js.map +1 -1
- package/AudioV2/abstractAudio/subNodes/spatialAudioSubNode.d.ts +1 -0
- package/AudioV2/abstractAudio/subNodes/spatialAudioSubNode.js +1 -0
- package/AudioV2/abstractAudio/subNodes/spatialAudioSubNode.js.map +1 -1
- package/AudioV2/abstractAudio/subProperties/abstractSpatialAudio.d.ts +12 -2
- package/AudioV2/abstractAudio/subProperties/abstractSpatialAudio.js +2 -0
- package/AudioV2/abstractAudio/subProperties/abstractSpatialAudio.js.map +1 -1
- package/AudioV2/abstractAudio/subProperties/spatialAudio.d.ts +6 -0
- package/AudioV2/abstractAudio/subProperties/spatialAudio.js +25 -0
- package/AudioV2/abstractAudio/subProperties/spatialAudio.js.map +1 -1
- package/AudioV2/webAudio/components/webAudioParameterComponent.js +2 -2
- package/AudioV2/webAudio/components/webAudioParameterComponent.js.map +1 -1
- package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.d.ts +3 -0
- package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.js +14 -17
- package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.js.map +1 -1
- package/AudioV2/webAudio/subNodes/webAudioBusAndSoundSubGraph.js +1 -0
- package/AudioV2/webAudio/subNodes/webAudioBusAndSoundSubGraph.js.map +1 -1
- package/AudioV2/webAudio/subProperties/spatialWebAudio.js +1 -0
- package/AudioV2/webAudio/subProperties/spatialWebAudio.js.map +1 -1
- package/AudioV2/webAudio/webAudioBus.d.ts +2 -7
- package/AudioV2/webAudio/webAudioBus.js +4 -24
- package/AudioV2/webAudio/webAudioBus.js.map +1 -1
- package/AudioV2/webAudio/webAudioEngine.js +1 -0
- package/AudioV2/webAudio/webAudioEngine.js.map +1 -1
- package/AudioV2/webAudio/webAudioSoundSource.d.ts +2 -7
- package/AudioV2/webAudio/webAudioSoundSource.js +3 -24
- package/AudioV2/webAudio/webAudioSoundSource.js.map +1 -1
- package/AudioV2/webAudio/webAudioStaticSound.d.ts +3 -7
- package/AudioV2/webAudio/webAudioStaticSound.js +13 -26
- package/AudioV2/webAudio/webAudioStaticSound.js.map +1 -1
- package/AudioV2/webAudio/webAudioStreamingSound.d.ts +3 -7
- package/AudioV2/webAudio/webAudioStreamingSound.js +6 -23
- package/AudioV2/webAudio/webAudioStreamingSound.js.map +1 -1
- package/Behaviors/Cameras/autoRotationBehavior.d.ts +4 -0
- package/Behaviors/Cameras/autoRotationBehavior.js +7 -0
- package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
- package/Behaviors/Cameras/bouncingBehavior.d.ts +5 -0
- package/Behaviors/Cameras/bouncingBehavior.js +8 -0
- package/Behaviors/Cameras/bouncingBehavior.js.map +1 -1
- package/Behaviors/Cameras/framingBehavior.d.ts +4 -0
- package/Behaviors/Cameras/framingBehavior.js +7 -0
- package/Behaviors/Cameras/framingBehavior.js.map +1 -1
- package/Behaviors/Cameras/interpolatingBehavior.d.ts +7 -2
- package/Behaviors/Cameras/interpolatingBehavior.js +12 -4
- package/Behaviors/Cameras/interpolatingBehavior.js.map +1 -1
- package/Behaviors/Meshes/attachToBoxBehavior.d.ts +5 -0
- package/Behaviors/Meshes/attachToBoxBehavior.js +8 -1
- package/Behaviors/Meshes/attachToBoxBehavior.js.map +1 -1
- package/Behaviors/Meshes/baseSixDofDragBehavior.d.ts +5 -2
- package/Behaviors/Meshes/baseSixDofDragBehavior.js +8 -0
- package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
- package/Behaviors/Meshes/fadeInOutBehavior.d.ts +5 -0
- package/Behaviors/Meshes/fadeInOutBehavior.js +6 -0
- package/Behaviors/Meshes/fadeInOutBehavior.js.map +1 -1
- package/Behaviors/Meshes/handConstraintBehavior.d.ts +5 -0
- package/Behaviors/Meshes/handConstraintBehavior.js +8 -0
- package/Behaviors/Meshes/handConstraintBehavior.js.map +1 -1
- package/Behaviors/Meshes/multiPointerScaleBehavior.d.ts +5 -0
- package/Behaviors/Meshes/multiPointerScaleBehavior.js +8 -0
- package/Behaviors/Meshes/multiPointerScaleBehavior.js.map +1 -1
- package/Behaviors/Meshes/pointerDragBehavior.d.ts +1 -1
- package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
- package/Behaviors/Meshes/sixDofDragBehavior.js +1 -1
- package/Behaviors/Meshes/sixDofDragBehavior.js.map +1 -1
- package/Behaviors/Meshes/surfaceMagnetismBehavior.d.ts +5 -0
- package/Behaviors/Meshes/surfaceMagnetismBehavior.js +7 -0
- package/Behaviors/Meshes/surfaceMagnetismBehavior.js.map +1 -1
- package/Behaviors/behavior.d.ts +4 -0
- package/Behaviors/behavior.js.map +1 -1
- package/Cameras/arcRotateCamera.js +4 -5
- package/Cameras/arcRotateCamera.js.map +1 -1
- package/Cameras/geospatialCamera.d.ts +4 -5
- package/Cameras/geospatialCamera.js +42 -29
- package/Cameras/geospatialCamera.js.map +1 -1
- package/Cameras/geospatialCameraMovement.js +1 -1
- package/Cameras/geospatialCameraMovement.js.map +1 -1
- package/Compute/computeEffect.js +5 -1
- package/Compute/computeEffect.js.map +1 -1
- package/Compute/computeShader.d.ts +4 -0
- package/Compute/computeShader.js +9 -3
- package/Compute/computeShader.js.map +1 -1
- package/Debug/debugLayer.d.ts +1 -1
- package/Debug/debugLayer.js.map +1 -1
- package/Engines/abstractEngine.d.ts +2 -2
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/Engines/thinEngine.js +1 -1
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.js +8 -9
- package/Engines/webgpuEngine.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/volumetricLightingBlock.d.ts +74 -0
- package/FrameGraph/Node/Blocks/PostProcesses/volumetricLightingBlock.js +179 -0
- package/FrameGraph/Node/Blocks/PostProcesses/volumetricLightingBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/index.d.ts +2 -0
- package/FrameGraph/Node/Blocks/index.js +2 -0
- package/FrameGraph/Node/Blocks/index.js.map +1 -1
- package/FrameGraph/Node/Blocks/lightingVolumeBlock.d.ts +43 -0
- package/FrameGraph/Node/Blocks/lightingVolumeBlock.js +93 -0
- package/FrameGraph/Node/Blocks/lightingVolumeBlock.js.map +1 -0
- package/FrameGraph/Passes/renderPass.js +2 -2
- package/FrameGraph/Passes/renderPass.js.map +1 -1
- package/FrameGraph/Tasks/Layers/baseLayerTask.d.ts +2 -0
- package/FrameGraph/Tasks/Layers/baseLayerTask.js +6 -0
- package/FrameGraph/Tasks/Layers/baseLayerTask.js.map +1 -1
- package/FrameGraph/Tasks/Layers/glowLayerTask.d.ts +1 -0
- package/FrameGraph/Tasks/Layers/glowLayerTask.js +3 -0
- package/FrameGraph/Tasks/Layers/glowLayerTask.js.map +1 -1
- package/FrameGraph/Tasks/Layers/highlightLayerTask.d.ts +1 -0
- package/FrameGraph/Tasks/Layers/highlightLayerTask.js +3 -0
- package/FrameGraph/Tasks/Layers/highlightLayerTask.js.map +1 -1
- package/FrameGraph/Tasks/Misc/computeShaderTask.d.ts +1 -0
- package/FrameGraph/Tasks/Misc/computeShaderTask.js +3 -0
- package/FrameGraph/Tasks/Misc/computeShaderTask.js.map +1 -1
- package/FrameGraph/Tasks/Misc/cullObjectsTask.d.ts +1 -0
- package/FrameGraph/Tasks/Misc/cullObjectsTask.js +3 -0
- package/FrameGraph/Tasks/Misc/cullObjectsTask.js.map +1 -1
- package/FrameGraph/Tasks/Misc/executeTask.d.ts +1 -0
- package/FrameGraph/Tasks/Misc/executeTask.js +3 -0
- package/FrameGraph/Tasks/Misc/executeTask.js.map +1 -1
- package/FrameGraph/Tasks/Misc/lightingVolumeTask.d.ts +32 -0
- package/FrameGraph/Tasks/Misc/lightingVolumeTask.js +63 -0
- package/FrameGraph/Tasks/Misc/lightingVolumeTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/anaglyphTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/anaglyphTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/anaglyphTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/blackAndWhiteTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/blackAndWhiteTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/blackAndWhiteTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/bloomMergeTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/bloomMergeTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/bloomMergeTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/bloomTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/bloomTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/bloomTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/blurTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/blurTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/blurTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/chromaticAberrationTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/chromaticAberrationTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/chromaticAberrationTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/circleOfConfusionTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/circleOfConfusionTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/circleOfConfusionTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/colorCorrectionTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/colorCorrectionTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/colorCorrectionTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/convolutionTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/convolutionTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/convolutionTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/customPostProcessTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/customPostProcessTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/customPostProcessTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldMergeTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldMergeTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldMergeTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/extractHighlightsTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/extractHighlightsTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/extractHighlightsTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/filterTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/filterTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/filterTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/fxaaTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/fxaaTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/fxaaTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/grainTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/grainTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/grainTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/imageProcessingTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/imageProcessingTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/imageProcessingTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/motionBlurTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/motionBlurTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/motionBlurTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/passTask.d.ts +2 -0
- package/FrameGraph/Tasks/PostProcesses/passTask.js +6 -0
- package/FrameGraph/Tasks/PostProcesses/passTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/postProcessTask.d.ts +3 -2
- package/FrameGraph/Tasks/PostProcesses/postProcessTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/postProcessTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/screenSpaceCurvatureTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/screenSpaceCurvatureTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/screenSpaceCurvatureTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/sharpenTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/sharpenTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/sharpenTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/ssao2BlurTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/ssao2BlurTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/ssao2BlurTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/ssao2RenderingPipelineTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/ssao2RenderingPipelineTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/ssao2RenderingPipelineTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/ssao2Task.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/ssao2Task.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/ssao2Task.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/ssrBlurTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/ssrBlurTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/ssrBlurTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/ssrRenderingPipelineTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/ssrRenderingPipelineTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/ssrRenderingPipelineTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/ssrTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/ssrTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/ssrTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/taaTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/taaTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/taaTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/tonemapTask.d.ts +1 -0
- package/FrameGraph/Tasks/PostProcesses/tonemapTask.js +3 -0
- package/FrameGraph/Tasks/PostProcesses/tonemapTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/volumetricLightingBlendVolumeTask.d.ts +31 -0
- package/FrameGraph/Tasks/PostProcesses/volumetricLightingBlendVolumeTask.js +60 -0
- package/FrameGraph/Tasks/PostProcesses/volumetricLightingBlendVolumeTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/volumetricLightingTask.d.ts +93 -0
- package/FrameGraph/Tasks/PostProcesses/volumetricLightingTask.js +183 -0
- package/FrameGraph/Tasks/PostProcesses/volumetricLightingTask.js.map +1 -0
- package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.d.ts +1 -0
- package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.js +3 -0
- package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.d.ts +1 -0
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.js +3 -0
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +1 -0
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js +4 -1
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.d.ts +1 -0
- package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.js +3 -0
- package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/utilityLayerRendererTask.d.ts +1 -0
- package/FrameGraph/Tasks/Rendering/utilityLayerRendererTask.js +3 -0
- package/FrameGraph/Tasks/Rendering/utilityLayerRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Texture/clearTextureTask.d.ts +1 -0
- package/FrameGraph/Tasks/Texture/clearTextureTask.js +4 -1
- package/FrameGraph/Tasks/Texture/clearTextureTask.js.map +1 -1
- package/FrameGraph/Tasks/Texture/copyToBackbufferColorTask.d.ts +1 -0
- package/FrameGraph/Tasks/Texture/copyToBackbufferColorTask.js +3 -0
- package/FrameGraph/Tasks/Texture/copyToBackbufferColorTask.js.map +1 -1
- package/FrameGraph/Tasks/Texture/copyToTextureTask.d.ts +1 -0
- package/FrameGraph/Tasks/Texture/copyToTextureTask.js +21 -4
- package/FrameGraph/Tasks/Texture/copyToTextureTask.js.map +1 -1
- package/FrameGraph/Tasks/Texture/generateMipMapsTask.d.ts +1 -0
- package/FrameGraph/Tasks/Texture/generateMipMapsTask.js +3 -0
- package/FrameGraph/Tasks/Texture/generateMipMapsTask.js.map +1 -1
- package/FrameGraph/frameGraphRenderContext.d.ts +3 -2
- package/FrameGraph/frameGraphRenderContext.js +14 -5
- package/FrameGraph/frameGraphRenderContext.js.map +1 -1
- package/FrameGraph/frameGraphTask.d.ts +5 -0
- package/FrameGraph/frameGraphTask.js +11 -2
- package/FrameGraph/frameGraphTask.js.map +1 -1
- package/FrameGraph/index.d.ts +2 -0
- package/FrameGraph/index.js +2 -0
- package/FrameGraph/index.js.map +1 -1
- package/Helpers/sceneHelpers.js +1 -1
- package/Helpers/sceneHelpers.js.map +1 -1
- package/Lights/index.d.ts +1 -0
- package/Lights/index.js +1 -0
- package/Lights/index.js.map +1 -1
- package/Lights/lightingVolume.d.ts +95 -0
- package/Lights/lightingVolume.js +536 -0
- package/Lights/lightingVolume.js.map +1 -0
- package/Loading/Plugins/babylonFileLoader.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.d.ts +7 -0
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.js +21 -5
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.js.map +1 -1
- package/Materials/floatingOriginMatrixOverrides.js +6 -5
- package/Materials/floatingOriginMatrixOverrides.js.map +1 -1
- package/Materials/uniformBuffer.d.ts +1 -0
- package/Materials/uniformBuffer.js +8 -1
- package/Materials/uniformBuffer.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.d.ts +5 -2
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +138 -45
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
- package/Meshes/geometry.d.ts +2 -1
- package/Meshes/geometry.js +6 -2
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/mesh.d.ts +2 -1
- package/Meshes/mesh.js +4 -3
- package/Meshes/mesh.js.map +1 -1
- package/Particles/Node/Blocks/Update/updateFlowMapBlock.d.ts +9 -1
- package/Particles/Node/Blocks/Update/updateFlowMapBlock.js +8 -0
- package/Particles/Node/Blocks/Update/updateFlowMapBlock.js.map +1 -1
- package/Particles/Node/Blocks/Update/updateNoiseBlock.d.ts +39 -0
- package/Particles/Node/Blocks/Update/updateNoiseBlock.js +102 -0
- package/Particles/Node/Blocks/Update/updateNoiseBlock.js.map +1 -0
- package/Particles/Node/Blocks/index.d.ts +1 -0
- package/Particles/Node/Blocks/index.js +1 -0
- package/Particles/Node/Blocks/index.js.map +1 -1
- package/Particles/Node/Blocks/particleSourceTextureBlock.d.ts +9 -5
- package/Particles/Node/Blocks/particleSourceTextureBlock.js +31 -13
- package/Particles/Node/Blocks/particleSourceTextureBlock.js.map +1 -1
- package/Particles/Node/nodeParticleSystemSet.helper.js +39 -21
- package/Particles/Node/nodeParticleSystemSet.helper.js.map +1 -1
- package/Particles/particle.d.ts +2 -2
- package/Particles/particle.js +4 -2
- package/Particles/particle.js.map +1 -1
- package/Particles/thinParticleSystem.d.ts +1 -1
- package/Particles/thinParticleSystem.function.js +2 -2
- package/Particles/thinParticleSystem.function.js.map +1 -1
- package/Particles/thinParticleSystem.js.map +1 -1
- package/Physics/v2/characterController.d.ts +42 -2
- package/Physics/v2/characterController.js +140 -46
- package/Physics/v2/characterController.js.map +1 -1
- package/Shaders/gaussianSplatting.vertex.js +2 -2
- package/Shaders/gaussianSplatting.vertex.js.map +1 -1
- package/Shaders/volumetricLightingBlendVolume.fragment.d.ts +5 -0
- package/Shaders/volumetricLightingBlendVolume.fragment.js +21 -0
- package/Shaders/volumetricLightingBlendVolume.fragment.js.map +1 -0
- package/Shaders/volumetricLightingRenderVolume.fragment.d.ts +7 -0
- package/Shaders/volumetricLightingRenderVolume.fragment.js +25 -0
- package/Shaders/volumetricLightingRenderVolume.fragment.js.map +1 -0
- package/Shaders/volumetricLightingRenderVolume.vertex.d.ts +9 -0
- package/Shaders/volumetricLightingRenderVolume.vertex.js +18 -0
- package/Shaders/volumetricLightingRenderVolume.vertex.js.map +1 -0
- package/ShadersWGSL/gaussianSplatting.vertex.js +3 -3
- package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
- package/ShadersWGSL/gaussianSplattingDepth.fragment.d.ts +0 -1
- package/ShadersWGSL/gaussianSplattingDepth.fragment.js +0 -2
- package/ShadersWGSL/gaussianSplattingDepth.fragment.js.map +1 -1
- package/ShadersWGSL/lightingVolume.compute.d.ts +5 -0
- package/ShadersWGSL/lightingVolume.compute.js +33 -0
- package/ShadersWGSL/lightingVolume.compute.js.map +1 -0
- package/ShadersWGSL/volumetricLightingBlendVolume.fragment.d.ts +5 -0
- package/ShadersWGSL/volumetricLightingBlendVolume.fragment.js +22 -0
- package/ShadersWGSL/volumetricLightingBlendVolume.fragment.js.map +1 -0
- package/ShadersWGSL/volumetricLightingRenderVolume.fragment.d.ts +7 -0
- package/ShadersWGSL/volumetricLightingRenderVolume.fragment.js +27 -0
- package/ShadersWGSL/volumetricLightingRenderVolume.fragment.js.map +1 -0
- package/ShadersWGSL/volumetricLightingRenderVolume.vertex.d.ts +7 -0
- package/ShadersWGSL/volumetricLightingRenderVolume.vertex.js +17 -0
- package/ShadersWGSL/volumetricLightingRenderVolume.vertex.js.map +1 -0
- package/States/IStencilState.d.ts +48 -2
- package/States/IStencilState.js.map +1 -1
- package/States/alphaCullingState.d.ts +1 -0
- package/States/alphaCullingState.js +3 -0
- package/States/alphaCullingState.js.map +1 -1
- package/package.json +1 -1
- package/scene.js +6 -4
- package/scene.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alphaCullingState.js","sourceRoot":"","sources":["../../../../dev/core/src/States/alphaCullingState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gCAA+B;AAGnD;;IAEI;AACJ,MAAM,OAAO,UAAU;IAanB;;;OAGG;IACH,YAA2B,gCAAyC;QAAzC,qCAAgC,GAAhC,gCAAgC,CAAS;QAhB7D,6BAAwB,GAAG,IAAI,KAAK,CAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,6BAAwB,GAAG,IAAI,KAAK,CAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,oBAAe,GAAG,IAAI,KAAK,CAAmB,CAAC,CAAC,CAAC;QACjD,2BAAsB,GAAG,KAAK,CAAC;QAE/B,gBAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,sBAAiB,GAAG,CAAC,CAAC;QAErB,uBAAkB,GAAG,KAAK,CAAC;QAC3B,oCAA+B,GAAG,KAAK,CAAC;QACxC,oCAA+B,GAAG,KAAK,CAAC;QAO5C,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,+BAA+B,IAAI,IAAI,CAAC,+BAA+B,CAAC;IACnH,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IACtC,CAAC;IAEM,aAAa,CAAC,KAAc,EAAE,cAAsB,CAAC;QACxD,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO;QACX,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACnC,CAAC;IAEM,sBAAsB,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;QACpE,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACnI,OAAO;QACX,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACvC,CAAC;IAEM,+BAA+B,CAAC,YAAoB,EAAE,YAAoB,EAAE,cAAsB,EAAE,cAAsB,EAAE,cAAsB,CAAC;QACtJ,MAAM,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC;QAE/B,IACI,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,YAAY;YAC1D,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,YAAY;YAC1D,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,cAAc;YAC5D,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,cAAc,EAC9D,CAAC;YACC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;QACzD,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;QACzD,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC;QAC3D,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC;QAE3D,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC;IAChD,CAAC;IAEM,0BAA0B,CAAC,WAAmB,EAAE,aAAqB,EAAE,cAAsB,CAAC;QACjG,MAAM,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC;QAE/B,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;YAC3H,OAAO;QACX,CAAC;QAED,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;QACxD,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC;QAE1D,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC;IAChD,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAE/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC;QAC7C,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC;QAC7C,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,EAAyB,EAAE,aAAqB,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QAED,YAAY;QACZ,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,EAAE,CAAC,UAAU,CAAS,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAU,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAU,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAU,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YAClJ,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACxC,CAAC;QAED,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC;YAC7D,wDAAwD;YACxD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACJ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;gBACD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YACpC,CAAC;YAED,IAAI,IAAI,CAAC,+BAA+B,EAAE,CAAC;gBACvC,EAAE,CAAC,iBAAiB,CACR,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAChC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAChC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAChC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAC3C,CAAC;gBACF,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC;YACjD,CAAC;YAED,IAAI,IAAI,CAAC,+BAA+B,EAAE,CAAC;gBACvC,EAAE,CAAC,qBAAqB,CAAS,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAU,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7G,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC;YACjD,CAAC;YACD,OAAO;QACX,CAAC;QAED,eAAe;QACf,MAAM,GAAG,GAAG,EAA4B,CAAC;QAEzC,cAAc;QACd,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACJ,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QACpC,CAAC;QAED,iBAAiB;QACjB,IAAI,IAAI,CAAC,+BAA+B,EAAE,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,GAAG,CAAC,wBAAwB,CACxB,CAAC,EACO,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,EACzC,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,EACzC,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,EACzC,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,CACpD,CAAC;YACN,CAAC;YACD,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC;QACjD,CAAC;QAED,iBAAiB;QACjB,IAAI,IAAI,CAAC,+BAA+B,EAAE,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,GAAG,CAAC,4BAA4B,CAAC,CAAC,EAAU,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAU,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9I,CAAC;YACD,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC;QACjD,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,IAAY,EAAE,WAAmB;QACjD,IAAI,QAAQ,GAAG,SAAS,CAAC,qBAAqB,CAAC;QAE/C,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,SAAS,CAAC,aAAa;gBACxB,MAAM;YACV,KAAK,SAAS,CAAC,mBAAmB;gBAC9B,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,SAAS,CAAC,qCAAqC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC5G,MAAM;YACV,KAAK,SAAS,CAAC,8BAA8B;gBACzC,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,SAAS,CAAC,qCAAqC,EAAE,CAAC,EAAE,SAAS,CAAC,qCAAqC,EAAE,WAAW,CAAC,CAAC;gBAC1J,MAAM;YACV,KAAK,SAAS,CAAC,aAAa;gBACxB,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,2BAA2B,EAAE,SAAS,CAAC,qCAAqC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAChJ,MAAM;YACV,KAAK,SAAS,CAAC,YAAY;gBACvB,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC9D,MAAM;YACV,KAAK,SAAS,CAAC,SAAS;gBACpB,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,2BAA2B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAClG,MAAM;YACV,KAAK,SAAS,CAAC,cAAc;gBACzB,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,SAAS,CAAC,qCAAqC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC5G,QAAQ,GAAG,SAAS,CAAC,0BAA0B,CAAC;gBAChD,MAAM;YACV,KAAK,SAAS,CAAC,cAAc;gBACzB,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,2BAA2B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAClG,MAAM;YACV,KAAK,SAAS,CAAC,eAAe;gBAC1B,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,2BAA2B,EAAE,SAAS,CAAC,qCAAqC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAChJ,MAAM;YACV,KAAK,SAAS,CAAC,iBAAiB;gBAC5B,IAAI,CAAC,+BAA+B,CAChC,SAAS,CAAC,gCAAgC,EAC1C,SAAS,CAAC,0CAA0C,EACpD,SAAS,CAAC,gCAAgC,EAC1C,SAAS,CAAC,0CAA0C,EACpD,WAAW,CACd,CAAC;gBACF,MAAM;YACV,KAAK,SAAS,CAAC,gBAAgB;gBAC3B,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,SAAS,CAAC,qCAAqC,EAAE,CAAC,EAAE,SAAS,CAAC,qCAAqC,EAAE,WAAW,CAAC,CAAC;gBAC1J,MAAM;YACV,KAAK,SAAS,CAAC,mBAAmB;gBAC9B,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC9D,MAAM;YACV,KAAK,SAAS,CAAC,kBAAkB;gBAC7B,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,2BAA2B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAClG,MAAM;YACV,KAAK,SAAS,CAAC,qBAAqB;gBAChC,IAAI,CAAC,+BAA+B,CAChC,SAAS,CAAC,qCAAqC,EAC/C,SAAS,CAAC,qCAAqC,EAC/C,SAAS,CAAC,qCAAqC,EAC/C,SAAS,CAAC,qCAAqC,EAC/C,WAAW,CACd,CAAC;gBACF,MAAM;YACV,KAAK,SAAS,CAAC,6BAA6B;gBACxC,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,SAAS,CAAC,qCAAqC,EAAE,CAAC,EAAE,SAAS,CAAC,qCAAqC,EAAE,WAAW,CAAC,CAAC;gBAC1J,MAAM;YACV,KAAK,SAAS,CAAC,oBAAoB;gBAC/B,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC9D,MAAM;YACV,KAAK,SAAS,CAAC,eAAe;gBAC1B,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,qCAAqC,EAAE,SAAS,CAAC,qCAAqC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC1J,MAAM;YACV,KAAK,SAAS,CAAC,sBAAsB;gBACjC,sIAAsI;gBACtI,IAAI,CAAC,+BAA+B,CAChC,SAAS,CAAC,2BAA2B,EACrC,SAAS,CAAC,qCAAqC,EAC/C,CAAC,EACD,SAAS,CAAC,qCAAqC,EAC/C,WAAW,CACd,CAAC;gBACF,MAAM;YACV,KAAK,SAAS,CAAC,SAAS;gBACpB,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC9D,QAAQ,GAAG,SAAS,CAAC,qBAAqB,CAAC;gBAC3C,MAAM;YACV,KAAK,SAAS,CAAC,SAAS;gBACpB,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC9D,QAAQ,GAAG,SAAS,CAAC,qBAAqB,CAAC;gBAC3C,MAAM;YACV,KAAK,SAAS,CAAC,4BAA4B;gBACvC,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,SAAS,CAAC,4BAA4B,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBACnG,MAAM;QACd,CAAC;QAED,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;CACJ","sourcesContent":["import { Constants } from \"core/Engines/constants\";\r\nimport type { Nullable } from \"../types\";\r\n\r\n/**\r\n * @internal\r\n **/\r\nexport class AlphaState {\r\n public _blendFunctionParameters = new Array<Nullable<number>>(4 * 8);\r\n public _blendEquationParameters = new Array<Nullable<number>>(2 * 8);\r\n public _blendConstants = new Array<Nullable<number>>(4);\r\n public _isBlendConstantsDirty = false;\r\n\r\n public _alphaBlend = Array(8).fill(false);\r\n public _numTargetEnabled = 0;\r\n\r\n private _isAlphaBlendDirty = false;\r\n private _isBlendFunctionParametersDirty = false;\r\n private _isBlendEquationParametersDirty = false;\r\n\r\n /**\r\n * Initializes the state.\r\n * @param _supportBlendParametersPerTarget - Whether blend parameters per target is supported\r\n */\r\n public constructor(private _supportBlendParametersPerTarget: boolean) {\r\n this.reset();\r\n }\r\n\r\n public get isDirty(): boolean {\r\n return this._isAlphaBlendDirty || this._isBlendFunctionParametersDirty || this._isBlendEquationParametersDirty;\r\n }\r\n\r\n public get alphaBlend(): boolean {\r\n return this._numTargetEnabled > 0;\r\n }\r\n\r\n public setAlphaBlend(value: boolean, targetIndex: number = 0): void {\r\n if (this._alphaBlend[targetIndex] === value) {\r\n return;\r\n }\r\n\r\n if (value) {\r\n this._numTargetEnabled++;\r\n } else {\r\n this._numTargetEnabled--;\r\n }\r\n\r\n this._alphaBlend[targetIndex] = value;\r\n this._isAlphaBlendDirty = true;\r\n }\r\n\r\n public setAlphaBlendConstants(r: number, g: number, b: number, a: number): void {\r\n if (this._blendConstants[0] === r && this._blendConstants[1] === g && this._blendConstants[2] === b && this._blendConstants[3] === a) {\r\n return;\r\n }\r\n\r\n this._blendConstants[0] = r;\r\n this._blendConstants[1] = g;\r\n this._blendConstants[2] = b;\r\n this._blendConstants[3] = a;\r\n\r\n this._isBlendConstantsDirty = true;\r\n }\r\n\r\n public setAlphaBlendFunctionParameters(srcRGBFactor: number, dstRGBFactor: number, srcAlphaFactor: number, dstAlphaFactor: number, targetIndex: number = 0): void {\r\n const offset = targetIndex * 4;\r\n\r\n if (\r\n this._blendFunctionParameters[offset + 0] === srcRGBFactor &&\r\n this._blendFunctionParameters[offset + 1] === dstRGBFactor &&\r\n this._blendFunctionParameters[offset + 2] === srcAlphaFactor &&\r\n this._blendFunctionParameters[offset + 3] === dstAlphaFactor\r\n ) {\r\n return;\r\n }\r\n\r\n this._blendFunctionParameters[offset + 0] = srcRGBFactor;\r\n this._blendFunctionParameters[offset + 1] = dstRGBFactor;\r\n this._blendFunctionParameters[offset + 2] = srcAlphaFactor;\r\n this._blendFunctionParameters[offset + 3] = dstAlphaFactor;\r\n\r\n this._isBlendFunctionParametersDirty = true;\r\n }\r\n\r\n public setAlphaEquationParameters(rgbEquation: number, alphaEquation: number, targetIndex: number = 0): void {\r\n const offset = targetIndex * 2;\r\n\r\n if (this._blendEquationParameters[offset + 0] === rgbEquation && this._blendEquationParameters[offset + 1] === alphaEquation) {\r\n return;\r\n }\r\n\r\n this._blendEquationParameters[offset + 0] = rgbEquation;\r\n this._blendEquationParameters[offset + 1] = alphaEquation;\r\n\r\n this._isBlendEquationParametersDirty = true;\r\n }\r\n\r\n public reset() {\r\n this._alphaBlend.fill(false);\r\n this._numTargetEnabled = 0;\r\n this._blendFunctionParameters.fill(null);\r\n this._blendEquationParameters.fill(null);\r\n\r\n this._blendConstants[0] = null;\r\n this._blendConstants[1] = null;\r\n this._blendConstants[2] = null;\r\n this._blendConstants[3] = null;\r\n\r\n this._isAlphaBlendDirty = true;\r\n this._isBlendFunctionParametersDirty = false;\r\n this._isBlendEquationParametersDirty = false;\r\n this._isBlendConstantsDirty = false;\r\n }\r\n\r\n public apply(gl: WebGLRenderingContext, numTargets: number = 1): void {\r\n if (!this.isDirty) {\r\n return;\r\n }\r\n\r\n // Constants\r\n if (this._isBlendConstantsDirty) {\r\n gl.blendColor(<number>this._blendConstants[0], <number>this._blendConstants[1], <number>this._blendConstants[2], <number>this._blendConstants[3]);\r\n this._isBlendConstantsDirty = false;\r\n }\r\n\r\n if (numTargets === 1 || !this._supportBlendParametersPerTarget) {\r\n // Single target or no support for per-target parameters\r\n if (this._isAlphaBlendDirty) {\r\n if (this._alphaBlend[0]) {\r\n gl.enable(gl.BLEND);\r\n } else {\r\n gl.disable(gl.BLEND);\r\n }\r\n this._isAlphaBlendDirty = false;\r\n }\r\n\r\n if (this._isBlendFunctionParametersDirty) {\r\n gl.blendFuncSeparate(\r\n <number>this._blendFunctionParameters[0],\r\n <number>this._blendFunctionParameters[1],\r\n <number>this._blendFunctionParameters[2],\r\n <number>this._blendFunctionParameters[3]\r\n );\r\n this._isBlendFunctionParametersDirty = false;\r\n }\r\n\r\n if (this._isBlendEquationParametersDirty) {\r\n gl.blendEquationSeparate(<number>this._blendEquationParameters[0], <number>this._blendEquationParameters[1]);\r\n this._isBlendEquationParametersDirty = false;\r\n }\r\n return;\r\n }\r\n\r\n // Multi-target\r\n const gl2 = gl as WebGL2RenderingContext;\r\n\r\n // Alpha blend\r\n if (this._isAlphaBlendDirty) {\r\n for (let i = 0; i < numTargets; i++) {\r\n const index = i < this._numTargetEnabled ? i : 0;\r\n if (this._alphaBlend[index]) {\r\n gl2.enableIndexed(gl.BLEND, i);\r\n } else {\r\n gl2.disableIndexed(gl.BLEND, i);\r\n }\r\n }\r\n\r\n this._isAlphaBlendDirty = false;\r\n }\r\n\r\n // Alpha function\r\n if (this._isBlendFunctionParametersDirty) {\r\n for (let i = 0; i < numTargets; i++) {\r\n const offset = i < this._numTargetEnabled ? i * 4 : 0;\r\n gl2.blendFuncSeparateIndexed(\r\n i,\r\n <number>this._blendFunctionParameters[offset + 0],\r\n <number>this._blendFunctionParameters[offset + 1],\r\n <number>this._blendFunctionParameters[offset + 2],\r\n <number>this._blendFunctionParameters[offset + 3]\r\n );\r\n }\r\n this._isBlendFunctionParametersDirty = false;\r\n }\r\n\r\n // Alpha equation\r\n if (this._isBlendEquationParametersDirty) {\r\n for (let i = 0; i < numTargets; i++) {\r\n const offset = i < this._numTargetEnabled ? i * 2 : 0;\r\n gl2.blendEquationSeparateIndexed(i, <number>this._blendEquationParameters[offset + 0], <number>this._blendEquationParameters[offset + 1]);\r\n }\r\n this._isBlendEquationParametersDirty = false;\r\n }\r\n }\r\n\r\n public setAlphaMode(mode: number, targetIndex: number) {\r\n let equation = Constants.GL_ALPHA_EQUATION_ADD;\r\n\r\n switch (mode) {\r\n case Constants.ALPHA_DISABLE:\r\n break;\r\n case Constants.ALPHA_PREMULTIPLIED:\r\n this.setAlphaBlendFunctionParameters(1, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA, 1, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_PREMULTIPLIED_PORTERDUFF:\r\n this.setAlphaBlendFunctionParameters(1, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA, 1, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA, targetIndex);\r\n break;\r\n case Constants.ALPHA_COMBINE:\r\n this.setAlphaBlendFunctionParameters(Constants.GL_ALPHA_FUNCTION_SRC_ALPHA, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA, 1, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_ONEONE:\r\n this.setAlphaBlendFunctionParameters(1, 1, 0, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_ADD:\r\n this.setAlphaBlendFunctionParameters(Constants.GL_ALPHA_FUNCTION_SRC_ALPHA, 1, 0, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_SUBTRACT:\r\n this.setAlphaBlendFunctionParameters(0, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR, 1, 1, targetIndex);\r\n equation = Constants.GL_ALPHA_EQUATION_SUBTRACT;\r\n break;\r\n case Constants.ALPHA_MULTIPLY:\r\n this.setAlphaBlendFunctionParameters(Constants.GL_ALPHA_FUNCTION_DST_COLOR, 0, 1, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_MAXIMIZED:\r\n this.setAlphaBlendFunctionParameters(Constants.GL_ALPHA_FUNCTION_SRC_ALPHA, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR, 1, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_INTERPOLATE:\r\n this.setAlphaBlendFunctionParameters(\r\n Constants.GL_ALPHA_FUNCTION_CONSTANT_COLOR,\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_CONSTANT_COLOR,\r\n Constants.GL_ALPHA_FUNCTION_CONSTANT_ALPHA,\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_CONSTANT_ALPHA,\r\n targetIndex\r\n );\r\n break;\r\n case Constants.ALPHA_SCREENMODE:\r\n this.setAlphaBlendFunctionParameters(1, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR, 1, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA, targetIndex);\r\n break;\r\n case Constants.ALPHA_ONEONE_ONEONE:\r\n this.setAlphaBlendFunctionParameters(1, 1, 1, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_ALPHATOCOLOR:\r\n this.setAlphaBlendFunctionParameters(Constants.GL_ALPHA_FUNCTION_DST_ALPHA, 1, 0, 0, targetIndex);\r\n break;\r\n case Constants.ALPHA_REVERSEONEMINUS:\r\n this.setAlphaBlendFunctionParameters(\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_DST_COLOR,\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR,\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_DST_ALPHA,\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA,\r\n targetIndex\r\n );\r\n break;\r\n case Constants.ALPHA_SRC_DSTONEMINUSSRCALPHA:\r\n this.setAlphaBlendFunctionParameters(1, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA, 1, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA, targetIndex);\r\n break;\r\n case Constants.ALPHA_ONEONE_ONEZERO:\r\n this.setAlphaBlendFunctionParameters(1, 1, 1, 0, targetIndex);\r\n break;\r\n case Constants.ALPHA_EXCLUSION:\r\n this.setAlphaBlendFunctionParameters(Constants.GL_ALPHA_FUNCTION_ONE_MINUS_DST_COLOR, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR, 0, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_LAYER_ACCUMULATE:\r\n // Same as ALPHA_COMBINE but accumulates (1 - alpha) values in the alpha channel for a later readout in order independant transparency\r\n this.setAlphaBlendFunctionParameters(\r\n Constants.GL_ALPHA_FUNCTION_SRC_ALPHA,\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA,\r\n 1,\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA,\r\n targetIndex\r\n );\r\n break;\r\n case Constants.ALPHA_MIN:\r\n this.setAlphaBlendFunctionParameters(1, 1, 1, 1, targetIndex);\r\n equation = Constants.GL_ALPHA_EQUATION_MIN;\r\n break;\r\n case Constants.ALPHA_MAX:\r\n this.setAlphaBlendFunctionParameters(1, 1, 1, 1, targetIndex);\r\n equation = Constants.GL_ALPHA_EQUATION_MAX;\r\n break;\r\n case Constants.ALPHA_DUAL_SRC0_ADD_SRC1xDST:\r\n this.setAlphaBlendFunctionParameters(1, Constants.GL_ALPHA_FUNCTION_SRC1_COLOR, 0, 1, targetIndex);\r\n break;\r\n }\r\n\r\n this.setAlphaEquationParameters(equation, equation, targetIndex);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"alphaCullingState.js","sourceRoot":"","sources":["../../../../dev/core/src/States/alphaCullingState.ts"],"names":[],"mappings":"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","sourcesContent":["import { Constants } from \"core/Engines/constants\";\r\nimport type { Nullable } from \"../types\";\r\n\r\n/**\r\n * @internal\r\n **/\r\nexport class AlphaState {\r\n public _blendFunctionParameters = new Array<Nullable<number>>(4 * 8);\r\n public _blendEquationParameters = new Array<Nullable<number>>(2 * 8);\r\n public _blendConstants = new Array<Nullable<number>>(4);\r\n public _isBlendConstantsDirty = false;\r\n\r\n public _alphaBlend = Array(8).fill(false);\r\n public _numTargetEnabled = 0;\r\n\r\n private _isAlphaBlendDirty = false;\r\n private _isBlendFunctionParametersDirty = false;\r\n private _isBlendEquationParametersDirty = false;\r\n\r\n /**\r\n * Initializes the state.\r\n * @param _supportBlendParametersPerTarget - Whether blend parameters per target is supported\r\n */\r\n public constructor(private _supportBlendParametersPerTarget: boolean) {\r\n this.reset();\r\n }\r\n\r\n public get isDirty(): boolean {\r\n return this._isAlphaBlendDirty || this._isBlendFunctionParametersDirty || this._isBlendEquationParametersDirty;\r\n }\r\n\r\n public get alphaBlend(): boolean {\r\n return this._numTargetEnabled > 0;\r\n }\r\n\r\n public set alphaBlend(value: boolean) {\r\n this.setAlphaBlend(value);\r\n }\r\n\r\n public setAlphaBlend(value: boolean, targetIndex: number = 0): void {\r\n if (this._alphaBlend[targetIndex] === value) {\r\n return;\r\n }\r\n\r\n if (value) {\r\n this._numTargetEnabled++;\r\n } else {\r\n this._numTargetEnabled--;\r\n }\r\n\r\n this._alphaBlend[targetIndex] = value;\r\n this._isAlphaBlendDirty = true;\r\n }\r\n\r\n public setAlphaBlendConstants(r: number, g: number, b: number, a: number): void {\r\n if (this._blendConstants[0] === r && this._blendConstants[1] === g && this._blendConstants[2] === b && this._blendConstants[3] === a) {\r\n return;\r\n }\r\n\r\n this._blendConstants[0] = r;\r\n this._blendConstants[1] = g;\r\n this._blendConstants[2] = b;\r\n this._blendConstants[3] = a;\r\n\r\n this._isBlendConstantsDirty = true;\r\n }\r\n\r\n public setAlphaBlendFunctionParameters(srcRGBFactor: number, dstRGBFactor: number, srcAlphaFactor: number, dstAlphaFactor: number, targetIndex: number = 0): void {\r\n const offset = targetIndex * 4;\r\n\r\n if (\r\n this._blendFunctionParameters[offset + 0] === srcRGBFactor &&\r\n this._blendFunctionParameters[offset + 1] === dstRGBFactor &&\r\n this._blendFunctionParameters[offset + 2] === srcAlphaFactor &&\r\n this._blendFunctionParameters[offset + 3] === dstAlphaFactor\r\n ) {\r\n return;\r\n }\r\n\r\n this._blendFunctionParameters[offset + 0] = srcRGBFactor;\r\n this._blendFunctionParameters[offset + 1] = dstRGBFactor;\r\n this._blendFunctionParameters[offset + 2] = srcAlphaFactor;\r\n this._blendFunctionParameters[offset + 3] = dstAlphaFactor;\r\n\r\n this._isBlendFunctionParametersDirty = true;\r\n }\r\n\r\n public setAlphaEquationParameters(rgbEquation: number, alphaEquation: number, targetIndex: number = 0): void {\r\n const offset = targetIndex * 2;\r\n\r\n if (this._blendEquationParameters[offset + 0] === rgbEquation && this._blendEquationParameters[offset + 1] === alphaEquation) {\r\n return;\r\n }\r\n\r\n this._blendEquationParameters[offset + 0] = rgbEquation;\r\n this._blendEquationParameters[offset + 1] = alphaEquation;\r\n\r\n this._isBlendEquationParametersDirty = true;\r\n }\r\n\r\n public reset() {\r\n this._alphaBlend.fill(false);\r\n this._numTargetEnabled = 0;\r\n this._blendFunctionParameters.fill(null);\r\n this._blendEquationParameters.fill(null);\r\n\r\n this._blendConstants[0] = null;\r\n this._blendConstants[1] = null;\r\n this._blendConstants[2] = null;\r\n this._blendConstants[3] = null;\r\n\r\n this._isAlphaBlendDirty = true;\r\n this._isBlendFunctionParametersDirty = false;\r\n this._isBlendEquationParametersDirty = false;\r\n this._isBlendConstantsDirty = false;\r\n }\r\n\r\n public apply(gl: WebGLRenderingContext, numTargets: number = 1): void {\r\n if (!this.isDirty) {\r\n return;\r\n }\r\n\r\n // Constants\r\n if (this._isBlendConstantsDirty) {\r\n gl.blendColor(<number>this._blendConstants[0], <number>this._blendConstants[1], <number>this._blendConstants[2], <number>this._blendConstants[3]);\r\n this._isBlendConstantsDirty = false;\r\n }\r\n\r\n if (numTargets === 1 || !this._supportBlendParametersPerTarget) {\r\n // Single target or no support for per-target parameters\r\n if (this._isAlphaBlendDirty) {\r\n if (this._alphaBlend[0]) {\r\n gl.enable(gl.BLEND);\r\n } else {\r\n gl.disable(gl.BLEND);\r\n }\r\n this._isAlphaBlendDirty = false;\r\n }\r\n\r\n if (this._isBlendFunctionParametersDirty) {\r\n gl.blendFuncSeparate(\r\n <number>this._blendFunctionParameters[0],\r\n <number>this._blendFunctionParameters[1],\r\n <number>this._blendFunctionParameters[2],\r\n <number>this._blendFunctionParameters[3]\r\n );\r\n this._isBlendFunctionParametersDirty = false;\r\n }\r\n\r\n if (this._isBlendEquationParametersDirty) {\r\n gl.blendEquationSeparate(<number>this._blendEquationParameters[0], <number>this._blendEquationParameters[1]);\r\n this._isBlendEquationParametersDirty = false;\r\n }\r\n return;\r\n }\r\n\r\n // Multi-target\r\n const gl2 = gl as WebGL2RenderingContext;\r\n\r\n // Alpha blend\r\n if (this._isAlphaBlendDirty) {\r\n for (let i = 0; i < numTargets; i++) {\r\n const index = i < this._numTargetEnabled ? i : 0;\r\n if (this._alphaBlend[index]) {\r\n gl2.enableIndexed(gl.BLEND, i);\r\n } else {\r\n gl2.disableIndexed(gl.BLEND, i);\r\n }\r\n }\r\n\r\n this._isAlphaBlendDirty = false;\r\n }\r\n\r\n // Alpha function\r\n if (this._isBlendFunctionParametersDirty) {\r\n for (let i = 0; i < numTargets; i++) {\r\n const offset = i < this._numTargetEnabled ? i * 4 : 0;\r\n gl2.blendFuncSeparateIndexed(\r\n i,\r\n <number>this._blendFunctionParameters[offset + 0],\r\n <number>this._blendFunctionParameters[offset + 1],\r\n <number>this._blendFunctionParameters[offset + 2],\r\n <number>this._blendFunctionParameters[offset + 3]\r\n );\r\n }\r\n this._isBlendFunctionParametersDirty = false;\r\n }\r\n\r\n // Alpha equation\r\n if (this._isBlendEquationParametersDirty) {\r\n for (let i = 0; i < numTargets; i++) {\r\n const offset = i < this._numTargetEnabled ? i * 2 : 0;\r\n gl2.blendEquationSeparateIndexed(i, <number>this._blendEquationParameters[offset + 0], <number>this._blendEquationParameters[offset + 1]);\r\n }\r\n this._isBlendEquationParametersDirty = false;\r\n }\r\n }\r\n\r\n public setAlphaMode(mode: number, targetIndex: number) {\r\n let equation = Constants.GL_ALPHA_EQUATION_ADD;\r\n\r\n switch (mode) {\r\n case Constants.ALPHA_DISABLE:\r\n break;\r\n case Constants.ALPHA_PREMULTIPLIED:\r\n this.setAlphaBlendFunctionParameters(1, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA, 1, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_PREMULTIPLIED_PORTERDUFF:\r\n this.setAlphaBlendFunctionParameters(1, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA, 1, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA, targetIndex);\r\n break;\r\n case Constants.ALPHA_COMBINE:\r\n this.setAlphaBlendFunctionParameters(Constants.GL_ALPHA_FUNCTION_SRC_ALPHA, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA, 1, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_ONEONE:\r\n this.setAlphaBlendFunctionParameters(1, 1, 0, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_ADD:\r\n this.setAlphaBlendFunctionParameters(Constants.GL_ALPHA_FUNCTION_SRC_ALPHA, 1, 0, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_SUBTRACT:\r\n this.setAlphaBlendFunctionParameters(0, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR, 1, 1, targetIndex);\r\n equation = Constants.GL_ALPHA_EQUATION_SUBTRACT;\r\n break;\r\n case Constants.ALPHA_MULTIPLY:\r\n this.setAlphaBlendFunctionParameters(Constants.GL_ALPHA_FUNCTION_DST_COLOR, 0, 1, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_MAXIMIZED:\r\n this.setAlphaBlendFunctionParameters(Constants.GL_ALPHA_FUNCTION_SRC_ALPHA, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR, 1, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_INTERPOLATE:\r\n this.setAlphaBlendFunctionParameters(\r\n Constants.GL_ALPHA_FUNCTION_CONSTANT_COLOR,\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_CONSTANT_COLOR,\r\n Constants.GL_ALPHA_FUNCTION_CONSTANT_ALPHA,\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_CONSTANT_ALPHA,\r\n targetIndex\r\n );\r\n break;\r\n case Constants.ALPHA_SCREENMODE:\r\n this.setAlphaBlendFunctionParameters(1, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR, 1, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA, targetIndex);\r\n break;\r\n case Constants.ALPHA_ONEONE_ONEONE:\r\n this.setAlphaBlendFunctionParameters(1, 1, 1, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_ALPHATOCOLOR:\r\n this.setAlphaBlendFunctionParameters(Constants.GL_ALPHA_FUNCTION_DST_ALPHA, 1, 0, 0, targetIndex);\r\n break;\r\n case Constants.ALPHA_REVERSEONEMINUS:\r\n this.setAlphaBlendFunctionParameters(\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_DST_COLOR,\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR,\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_DST_ALPHA,\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA,\r\n targetIndex\r\n );\r\n break;\r\n case Constants.ALPHA_SRC_DSTONEMINUSSRCALPHA:\r\n this.setAlphaBlendFunctionParameters(1, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA, 1, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA, targetIndex);\r\n break;\r\n case Constants.ALPHA_ONEONE_ONEZERO:\r\n this.setAlphaBlendFunctionParameters(1, 1, 1, 0, targetIndex);\r\n break;\r\n case Constants.ALPHA_EXCLUSION:\r\n this.setAlphaBlendFunctionParameters(Constants.GL_ALPHA_FUNCTION_ONE_MINUS_DST_COLOR, Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR, 0, 1, targetIndex);\r\n break;\r\n case Constants.ALPHA_LAYER_ACCUMULATE:\r\n // Same as ALPHA_COMBINE but accumulates (1 - alpha) values in the alpha channel for a later readout in order independant transparency\r\n this.setAlphaBlendFunctionParameters(\r\n Constants.GL_ALPHA_FUNCTION_SRC_ALPHA,\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA,\r\n 1,\r\n Constants.GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA,\r\n targetIndex\r\n );\r\n break;\r\n case Constants.ALPHA_MIN:\r\n this.setAlphaBlendFunctionParameters(1, 1, 1, 1, targetIndex);\r\n equation = Constants.GL_ALPHA_EQUATION_MIN;\r\n break;\r\n case Constants.ALPHA_MAX:\r\n this.setAlphaBlendFunctionParameters(1, 1, 1, 1, targetIndex);\r\n equation = Constants.GL_ALPHA_EQUATION_MAX;\r\n break;\r\n case Constants.ALPHA_DUAL_SRC0_ADD_SRC1xDST:\r\n this.setAlphaBlendFunctionParameters(1, Constants.GL_ALPHA_FUNCTION_SRC1_COLOR, 0, 1, targetIndex);\r\n break;\r\n }\r\n\r\n this.setAlphaEquationParameters(equation, equation, targetIndex);\r\n }\r\n}\r\n"]}
|
package/package.json
CHANGED
package/scene.js
CHANGED
|
@@ -4746,10 +4746,12 @@ export class Scene {
|
|
|
4746
4746
|
Vector3.CheckExtends(minBox, min, max);
|
|
4747
4747
|
Vector3.CheckExtends(maxBox, min, max);
|
|
4748
4748
|
}
|
|
4749
|
-
return
|
|
4750
|
-
min:
|
|
4751
|
-
|
|
4752
|
-
|
|
4749
|
+
return min.x === Number.MAX_VALUE
|
|
4750
|
+
? { min: Vector3.Zero(), max: Vector3.Zero() }
|
|
4751
|
+
: {
|
|
4752
|
+
min: min,
|
|
4753
|
+
max: max,
|
|
4754
|
+
};
|
|
4753
4755
|
}
|
|
4754
4756
|
// Picking
|
|
4755
4757
|
// eslint-disable-next-line jsdoc/require-returns-check
|