@onerjs/core 8.53.5 → 8.53.7
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/Animations/animationGroup.d.ts +0 -1
- package/Animations/animationGroup.js +0 -1
- package/Animations/animationGroup.js.map +1 -1
- package/Animations/animationGroup.pure.js +2 -0
- package/Animations/animationGroup.pure.js.map +1 -1
- package/Animations/runtimeAnimation.js +11 -0
- package/Animations/runtimeAnimation.js.map +1 -1
- package/Audio/audioSceneComponent.pure.js +1 -1
- package/AudioV2/abstractAudio/abstractSound.d.ts +2 -1
- package/AudioV2/abstractAudio/abstractSound.js +7 -2
- package/AudioV2/abstractAudio/abstractSound.js.map +1 -1
- package/AudioV2/abstractAudio/abstractSoundInstance.d.ts +3 -1
- package/AudioV2/abstractAudio/abstractSoundInstance.js.map +1 -1
- package/AudioV2/abstractAudio/staticSound.d.ts +6 -0
- package/AudioV2/abstractAudio/staticSound.js +17 -1
- package/AudioV2/abstractAudio/staticSound.js.map +1 -1
- package/AudioV2/abstractAudio/staticSoundInstance.d.ts +4 -2
- package/AudioV2/abstractAudio/staticSoundInstance.js.map +1 -1
- package/AudioV2/abstractAudio/streamingSound.d.ts +6 -0
- package/AudioV2/abstractAudio/streamingSound.js +9 -1
- package/AudioV2/abstractAudio/streamingSound.js.map +1 -1
- package/AudioV2/webAudio/webAudioStaticSound.d.ts +7 -1
- package/AudioV2/webAudio/webAudioStaticSound.js +56 -8
- package/AudioV2/webAudio/webAudioStaticSound.js.map +1 -1
- package/AudioV2/webAudio/webAudioStreamingSound.d.ts +3 -1
- package/AudioV2/webAudio/webAudioStreamingSound.js +16 -4
- package/AudioV2/webAudio/webAudioStreamingSound.js.map +1 -1
- package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +2 -2
- package/BakedVertexAnimation/bakedVertexAnimationManager.js +151 -121
- package/BakedVertexAnimation/bakedVertexAnimationManager.js.map +1 -1
- package/Behaviors/Cameras/interpolatingBehavior.d.ts +17 -2
- package/Behaviors/Cameras/interpolatingBehavior.js +53 -23
- package/Behaviors/Cameras/interpolatingBehavior.js.map +1 -1
- package/Bones/bone.pure.js +3 -3
- package/Buffers/buffer.pure.js +0 -12
- package/Buffers/buffer.pure.js.map +1 -1
- package/Cameras/Inputs/BaseCameraMouseWheelInput.js +141 -126
- package/Cameras/Inputs/BaseCameraMouseWheelInput.js.map +1 -1
- package/Cameras/Inputs/BaseCameraPointersInput.d.ts +2 -1
- package/Cameras/Inputs/BaseCameraPointersInput.js +290 -277
- package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
- package/Cameras/Inputs/arcRotateCameraGamepadInput.js +115 -102
- package/Cameras/Inputs/arcRotateCameraGamepadInput.js.map +1 -1
- package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.d.ts +3 -0
- package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js +334 -273
- package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js.map +1 -1
- package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +273 -258
- package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js.map +1 -1
- package/Cameras/Inputs/arcRotateCameraPointersInput.js +237 -213
- package/Cameras/Inputs/arcRotateCameraPointersInput.js.map +1 -1
- package/Cameras/Inputs/flyCameraKeyboardInput.js +199 -168
- package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
- package/Cameras/Inputs/flyCameraMouseInput.js +243 -229
- package/Cameras/Inputs/flyCameraMouseInput.js.map +1 -1
- package/Cameras/Inputs/followCameraKeyboardMoveInput.js +311 -266
- package/Cameras/Inputs/followCameraKeyboardMoveInput.js.map +1 -1
- package/Cameras/Inputs/followCameraMouseWheelInput.js +139 -119
- package/Cameras/Inputs/followCameraMouseWheelInput.js.map +1 -1
- package/Cameras/Inputs/followCameraPointersInput.js +239 -203
- package/Cameras/Inputs/followCameraPointersInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraGamepadInput.js +127 -114
- package/Cameras/Inputs/freeCameraGamepadInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +278 -244
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraMouseInput.js +216 -202
- package/Cameras/Inputs/freeCameraMouseInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraMouseWheelInput.js +368 -353
- package/Cameras/Inputs/freeCameraMouseWheelInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraTouchInput.js +185 -172
- package/Cameras/Inputs/freeCameraTouchInput.js.map +1 -1
- package/Cameras/Inputs/geospatialCameraKeyboardInput.d.ts +2 -0
- package/Cameras/Inputs/geospatialCameraKeyboardInput.js +291 -246
- package/Cameras/Inputs/geospatialCameraKeyboardInput.js.map +1 -1
- package/Cameras/Inputs/geospatialCameraPointersInput.d.ts +11 -1
- package/Cameras/Inputs/geospatialCameraPointersInput.js +18 -2
- package/Cameras/Inputs/geospatialCameraPointersInput.js.map +1 -1
- package/Cameras/Inputs/orbitCameraPointersInput.js +112 -96
- package/Cameras/Inputs/orbitCameraPointersInput.js.map +1 -1
- package/Cameras/VR/vrExperienceHelper.d.ts +0 -2
- package/Cameras/VR/vrExperienceHelper.js +0 -2
- package/Cameras/VR/vrExperienceHelper.js.map +1 -1
- package/Cameras/VR/vrExperienceHelper.pure.js +5 -0
- package/Cameras/VR/vrExperienceHelper.pure.js.map +1 -1
- package/Cameras/arcRotateCamera.pure.js +1559 -1479
- package/Cameras/arcRotateCamera.pure.js.map +1 -1
- package/Cameras/camera.pure.js +1225 -1178
- package/Cameras/camera.pure.js.map +1 -1
- package/Cameras/flyCamera.pure.js +369 -351
- package/Cameras/flyCamera.pure.js.map +1 -1
- package/Cameras/followCamera.pure.js +229 -192
- package/Cameras/followCamera.pure.js.map +1 -1
- package/Cameras/freeCamera.pure.js +373 -351
- package/Cameras/freeCamera.pure.js.map +1 -1
- package/Cameras/geospatialCamera.pure.d.ts +30 -7
- package/Cameras/geospatialCamera.pure.js +502 -457
- package/Cameras/geospatialCamera.pure.js.map +1 -1
- package/Cameras/geospatialCameraMovement.js +2 -2
- package/Cameras/geospatialCameraMovement.js.map +1 -1
- package/Cameras/targetCamera.pure.d.ts +7 -0
- package/Cameras/targetCamera.pure.js +550 -509
- package/Cameras/targetCamera.pure.js.map +1 -1
- package/Cameras/universalCamera.pure.js +98 -85
- package/Cameras/universalCamera.pure.js.map +1 -1
- package/Collisions/gpuPicker.d.ts +111 -4
- package/Collisions/gpuPicker.js +696 -119
- package/Collisions/gpuPicker.js.map +1 -1
- package/Compute/computeShader.pure.js +372 -355
- package/Compute/computeShader.pure.js.map +1 -1
- package/Culling/Helper/transformFeedbackBoundingHelper.pure.js +2 -2
- package/Decorators/nodeDecorator.d.ts +11 -1
- package/Decorators/nodeDecorator.js +43 -6
- package/Decorators/nodeDecorator.js.map +1 -1
- package/Engines/AbstractEngine/abstractEngine.loadFile.pure.js +8 -0
- package/Engines/AbstractEngine/abstractEngine.loadFile.pure.js.map +1 -1
- package/Engines/Native/nativeHelpers.js +15 -0
- package/Engines/Native/nativeHelpers.js.map +1 -1
- package/Engines/Native/nativeInterfaces.d.ts +7 -2
- package/Engines/Native/nativeInterfaces.js.map +1 -1
- package/Engines/Native/nativeRenderTargetWrapper.d.ts +5 -0
- package/Engines/Native/nativeRenderTargetWrapper.js +35 -1
- package/Engines/Native/nativeRenderTargetWrapper.js.map +1 -1
- package/Engines/Processors/shaderProcessor.js +5 -3
- package/Engines/Processors/shaderProcessor.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.videoTexture.pure.js +16 -3
- package/Engines/WebGPU/Extensions/engine.videoTexture.pure.js.map +1 -1
- package/Engines/WebGPU/webgpuClearQuad.pure.js +7 -1
- package/Engines/WebGPU/webgpuClearQuad.pure.js.map +1 -1
- package/Engines/abstractEngine.functions.d.ts +8 -2
- package/Engines/abstractEngine.functions.js +12 -4
- package/Engines/abstractEngine.functions.js.map +1 -1
- package/Engines/abstractEngine.pure.d.ts +20 -1
- package/Engines/abstractEngine.pure.js +21 -134
- package/Engines/abstractEngine.pure.js.map +1 -1
- package/Engines/engine.d.ts +208 -0
- package/Engines/engine.pure.js +0 -15
- package/Engines/engine.pure.js.map +1 -1
- package/Engines/nullEngine.pure.d.ts +66 -0
- package/Engines/nullEngine.pure.js +97 -0
- package/Engines/nullEngine.pure.js.map +1 -1
- package/Engines/thinEngine.pure.d.ts +0 -13
- package/Engines/thinEngine.pure.js +4 -23
- package/Engines/thinEngine.pure.js.map +1 -1
- package/Engines/thinNativeEngine.d.ts +0 -1
- package/Engines/thinNativeEngine.js +0 -1
- package/Engines/thinNativeEngine.js.map +1 -1
- package/Engines/thinNativeEngine.pure.d.ts +27 -0
- package/Engines/thinNativeEngine.pure.js +383 -17
- package/Engines/thinNativeEngine.pure.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +1 -0
- package/Engines/webgpuEngine.js +1 -0
- package/Engines/webgpuEngine.js.map +1 -1
- package/Engines/webgpuEngine.pure.d.ts +9 -0
- package/Engines/webgpuEngine.pure.js +7 -0
- package/Engines/webgpuEngine.pure.js.map +1 -1
- package/FlowGraph/flowGraph.js +9 -0
- package/FlowGraph/flowGraph.js.map +1 -1
- package/FlowGraph/flowGraphContext.js +597 -584
- package/FlowGraph/flowGraphContext.js.map +1 -1
- package/FlowGraph/flowGraphDataConnection.pure.d.ts +14 -0
- package/FlowGraph/flowGraphDataConnection.pure.js +38 -1
- package/FlowGraph/flowGraphDataConnection.pure.js.map +1 -1
- package/FlowGraph/serialization.d.ts +11 -0
- package/FlowGraph/serialization.js +11 -1
- package/FlowGraph/serialization.js.map +1 -1
- package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.pure.js +182 -170
- package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.pure.js +196 -184
- package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Layers/selectionOutlineLayerBlock.pure.js +222 -210
- package/FrameGraph/Node/Blocks/Layers/selectionOutlineLayerBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js +123 -111
- package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.js +158 -146
- package/FrameGraph/Node/Blocks/PostProcesses/baseWithPropertiesPostProcessBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.pure.js +63 -51
- package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.pure.js +122 -110
- package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.pure.js +76 -64
- package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/chromaticAberrationPostProcessBlock.pure.js +89 -77
- package/FrameGraph/Node/Blocks/PostProcesses/chromaticAberrationPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.pure.js +134 -122
- package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/colorCorrectionPostProcessBlock.pure.js +58 -46
- package/FrameGraph/Node/Blocks/PostProcesses/colorCorrectionPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.pure.js +107 -95
- package/FrameGraph/Node/Blocks/PostProcesses/convolutionPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.pure.js +181 -169
- package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.pure.js +63 -51
- package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/filterPostProcessBlock.pure.js +63 -51
- package/FrameGraph/Node/Blocks/PostProcesses/filterPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/grainPostProcessBlock.pure.js +76 -64
- package/FrameGraph/Node/Blocks/PostProcesses/grainPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.pure.js +246 -234
- package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/motionBlurPostProcessBlock.pure.js +108 -96
- package/FrameGraph/Node/Blocks/PostProcesses/motionBlurPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/screenSpaceCurvaturePostProcessBlock.pure.js +87 -75
- package/FrameGraph/Node/Blocks/PostProcesses/screenSpaceCurvaturePostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/sharpenPostProcessBlock.pure.js +76 -64
- package/FrameGraph/Node/Blocks/PostProcesses/sharpenPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/ssao2PostProcessBlock.pure.js +313 -301
- package/FrameGraph/Node/Blocks/PostProcesses/ssao2PostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.pure.js +502 -490
- package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/taaPostProcessBlock.pure.js +147 -135
- package/FrameGraph/Node/Blocks/PostProcesses/taaPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/tonemapPostProcessBlock.pure.js +90 -78
- package/FrameGraph/Node/Blocks/PostProcesses/tonemapPostProcessBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/volumetricLightingBlock.pure.js +179 -167
- package/FrameGraph/Node/Blocks/PostProcesses/volumetricLightingBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +462 -451
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.js +265 -253
- package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.pure.js +204 -192
- package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.pure.js +611 -550
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/iblShadowsRendererBlock.pure.js +320 -308
- package/FrameGraph/Node/Blocks/Rendering/iblShadowsRendererBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/utilityLayerRendererBlock.pure.js +87 -75
- package/FrameGraph/Node/Blocks/Rendering/utilityLayerRendererBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Textures/clearBlock.pure.js +154 -142
- package/FrameGraph/Node/Blocks/Textures/clearBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.pure.js +150 -138
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/inputBlock.pure.js +270 -256
- package/FrameGraph/Node/Blocks/inputBlock.pure.js.map +1 -1
- package/FrameGraph/Node/Blocks/lightingVolumeBlock.pure.js +95 -83
- package/FrameGraph/Node/Blocks/lightingVolumeBlock.pure.js.map +1 -1
- package/FrameGraph/Node/nodeRenderGraph.js +715 -693
- package/FrameGraph/Node/nodeRenderGraph.js.map +1 -1
- package/FrameGraph/Node/nodeRenderGraphBlock.js +548 -533
- package/FrameGraph/Node/nodeRenderGraphBlock.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.d.ts +2 -2
- package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js +43 -51
- package/FrameGraph/Tasks/Rendering/iblShadows/iblShadowsAccumulationTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.d.ts +0 -1
- package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.js +0 -1
- package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.d.ts +0 -1
- package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.js +66 -35
- package/FrameGraph/Tasks/Rendering/iblShadowsRendererTask.pure.js.map +1 -1
- package/Helpers/environmentHelper.js +2 -2
- package/Helpers/environmentHelper.js.map +1 -1
- package/Layers/effectLayer.js +529 -519
- package/Layers/effectLayer.js.map +1 -1
- package/Layers/glowLayer.pure.js +428 -413
- package/Layers/glowLayer.pure.js.map +1 -1
- package/Layers/highlightLayer.pure.js +473 -458
- package/Layers/highlightLayer.pure.js.map +1 -1
- package/Layers/selectionOutlineLayer.pure.js +360 -345
- package/Layers/selectionOutlineLayer.pure.js.map +1 -1
- package/Lights/Clustered/clusteredLightContainer.pure.d.ts +1 -1
- package/Lights/Clustered/clusteredLightContainer.pure.js +583 -558
- package/Lights/Clustered/clusteredLightContainer.pure.js.map +1 -1
- package/Lights/Shadows/shadowGenerator.js +6 -1
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Lights/areaLight.pure.js +61 -39
- package/Lights/areaLight.pure.js.map +1 -1
- package/Lights/directionalLight.pure.js +308 -284
- package/Lights/directionalLight.pure.js.map +1 -1
- package/Lights/hemisphericLight.pure.js +123 -104
- package/Lights/hemisphericLight.pure.js.map +1 -1
- package/Lights/light.d.ts +5 -3
- package/Lights/light.js +869 -827
- package/Lights/light.js.map +1 -1
- package/Lights/pointLight.pure.js +185 -174
- package/Lights/pointLight.pure.js.map +1 -1
- package/Lights/rectAreaLight.pure.d.ts +17 -0
- package/Lights/rectAreaLight.pure.js +238 -159
- package/Lights/rectAreaLight.pure.js.map +1 -1
- package/Lights/shadowLight.js +280 -268
- package/Lights/shadowLight.js.map +1 -1
- package/Lights/spotLight.pure.js +460 -427
- package/Lights/spotLight.pure.js.map +1 -1
- package/Loading/Plugins/babylonFileLoader.pure.js +17 -5
- package/Loading/Plugins/babylonFileLoader.pure.js.map +1 -1
- package/Loading/sceneLoader.d.ts +5 -1
- package/Loading/sceneLoader.js +299 -402
- package/Loading/sceneLoader.js.map +1 -1
- package/Materials/Background/backgroundMaterial.pure.d.ts +18 -18
- package/Materials/Background/backgroundMaterial.pure.js +949 -794
- package/Materials/Background/backgroundMaterial.pure.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.d.ts +15 -0
- package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.js +34 -1
- package/Materials/GaussianSplatting/gaussianSplattingGpuPickingMaterialPlugin.pure.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.d.ts +9 -0
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js +26 -2
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.pure.js.map +1 -1
- package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.d.ts +2 -1
- package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.js +169 -149
- package/Materials/GaussianSplatting/gaussianSplattingSolidColorMaterialPlugin.pure.js.map +1 -1
- package/Materials/Node/Blocks/Dual/imageSourceBlock.pure.js +1 -1
- package/Materials/Node/Blocks/Dual/lightBlock.pure.js +442 -429
- package/Materials/Node/Blocks/Dual/lightBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.pure.js +396 -383
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Dual/sceneDepthBlock.pure.js +237 -220
- package/Materials/Node/Blocks/Dual/sceneDepthBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Dual/textureBlock.pure.js +1 -1
- package/Materials/Node/Blocks/Fragment/ambientOcclusionBlock.pure.js +150 -133
- package/Materials/Node/Blocks/Fragment/ambientOcclusionBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.pure.js +265 -250
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/heightToNormalBlock.pure.js +159 -142
- package/Materials/Node/Blocks/Fragment/heightToNormalBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.pure.js +214 -201
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.pure.js +419 -400
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js +3 -1
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/PBR/clearCoatBlock.pure.js +302 -289
- package/Materials/Node/Blocks/PBR/clearCoatBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.js +1327 -1272
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/PBR/reflectionBlock.pure.js +352 -337
- package/Materials/Node/Blocks/PBR/reflectionBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/PBR/refractionBlock.pure.js +297 -277
- package/Materials/Node/Blocks/PBR/refractionBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/PBR/sheenBlock.pure.js +146 -131
- package/Materials/Node/Blocks/PBR/sheenBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.pure.js +158 -145
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/clampBlock.pure.js +92 -77
- package/Materials/Node/Blocks/clampBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/cloudBlock.pure.js +145 -132
- package/Materials/Node/Blocks/cloudBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/conditionalBlock.pure.js +182 -169
- package/Materials/Node/Blocks/conditionalBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/curveBlock.pure.js +259 -246
- package/Materials/Node/Blocks/curveBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/debugBlock.pure.js +119 -106
- package/Materials/Node/Blocks/debugBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/loopBlock.pure.js +123 -110
- package/Materials/Node/Blocks/loopBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/meshAttributeExistsBlock.pure.js +185 -172
- package/Materials/Node/Blocks/meshAttributeExistsBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/remapBlock.pure.js +127 -112
- package/Materials/Node/Blocks/remapBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/transformBlock.pure.js +196 -185
- package/Materials/Node/Blocks/transformBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/triPlanarBlock.pure.js +451 -438
- package/Materials/Node/Blocks/triPlanarBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/trigonometryBlock.pure.js +184 -171
- package/Materials/Node/Blocks/trigonometryBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/waveBlock.pure.js +97 -84
- package/Materials/Node/Blocks/waveBlock.pure.js.map +1 -1
- package/Materials/Node/Blocks/worleyNoise3DBlock.pure.js +276 -263
- package/Materials/Node/Blocks/worleyNoise3DBlock.pure.js.map +1 -1
- package/Materials/Node/nodeMaterial.pure.js +1765 -1737
- package/Materials/Node/nodeMaterial.pure.js.map +1 -1
- package/Materials/Node/nodeMaterialBuildState.d.ts +3 -3
- package/Materials/PBR/openpbrMaterial.pure.d.ts +102 -102
- package/Materials/PBR/openpbrMaterial.pure.js +3115 -2243
- package/Materials/PBR/openpbrMaterial.pure.js.map +1 -1
- package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +3 -3
- package/Materials/PBR/pbrAnisotropicConfiguration.js +255 -227
- package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBRDFConfiguration.d.ts +9 -9
- package/Materials/PBR/pbrBRDFConfiguration.js +203 -155
- package/Materials/PBR/pbrBRDFConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.pure.d.ts +1 -1
- package/Materials/PBR/pbrBaseMaterial.pure.js +1751 -1736
- package/Materials/PBR/pbrBaseMaterial.pure.js.map +1 -1
- package/Materials/PBR/pbrBaseSimpleMaterial.d.ts +13 -13
- package/Materials/PBR/pbrBaseSimpleMaterial.js +205 -117
- package/Materials/PBR/pbrBaseSimpleMaterial.js.map +1 -1
- package/Materials/PBR/pbrClearCoatConfiguration.d.ts +9 -9
- package/Materials/PBR/pbrClearCoatConfiguration.js +464 -406
- package/Materials/PBR/pbrClearCoatConfiguration.js.map +1 -1
- package/Materials/PBR/pbrIridescenceConfiguration.d.ts +3 -3
- package/Materials/PBR/pbrIridescenceConfiguration.js +271 -239
- package/Materials/PBR/pbrIridescenceConfiguration.js.map +1 -1
- package/Materials/PBR/pbrMaterial.pure.d.ts +66 -66
- package/Materials/PBR/pbrMaterial.pure.js +1041 -685
- package/Materials/PBR/pbrMaterial.pure.js.map +1 -1
- package/Materials/PBR/pbrMetallicRoughnessMaterial.pure.d.ts +5 -5
- package/Materials/PBR/pbrMetallicRoughnessMaterial.pure.js +176 -115
- package/Materials/PBR/pbrMetallicRoughnessMaterial.pure.js.map +1 -1
- package/Materials/PBR/pbrSheenConfiguration.d.ts +7 -7
- package/Materials/PBR/pbrSheenConfiguration.js +314 -270
- package/Materials/PBR/pbrSheenConfiguration.js.map +1 -1
- package/Materials/PBR/pbrSpecularGlossinessMaterial.pure.d.ts +5 -5
- package/Materials/PBR/pbrSpecularGlossinessMaterial.pure.js +172 -117
- package/Materials/PBR/pbrSpecularGlossinessMaterial.pure.js.map +1 -1
- package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +16 -16
- package/Materials/PBR/pbrSubSurfaceConfiguration.js +864 -764
- package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
- package/Materials/Textures/HTML/htmlInCanvasPolyfill.d.ts +43 -0
- package/Materials/Textures/HTML/htmlInCanvasPolyfill.js +64 -0
- package/Materials/Textures/HTML/htmlInCanvasPolyfill.js.map +1 -0
- package/Materials/Textures/HTML/htmlInteractionManager.d.ts +69 -0
- package/Materials/Textures/HTML/htmlInteractionManager.js +130 -0
- package/Materials/Textures/HTML/htmlInteractionManager.js.map +1 -0
- package/Materials/Textures/HTML/htmlRaycastInteractionManager.d.ts +84 -0
- package/Materials/Textures/HTML/htmlRaycastInteractionManager.js +246 -0
- package/Materials/Textures/HTML/htmlRaycastInteractionManager.js.map +1 -0
- package/Materials/Textures/HTML/htmlTexture.d.ts +148 -0
- package/Materials/Textures/HTML/htmlTexture.js +455 -0
- package/Materials/Textures/HTML/htmlTexture.js.map +1 -0
- package/Materials/Textures/HTML/index.d.ts +4 -0
- package/Materials/Textures/HTML/index.js +5 -0
- package/Materials/Textures/HTML/index.js.map +1 -0
- package/Materials/Textures/HTML/pure.d.ts +5 -0
- package/Materials/Textures/HTML/pure.js +6 -0
- package/Materials/Textures/HTML/pure.js.map +1 -0
- package/Materials/Textures/Procedurals/proceduralTexture.pure.js +671 -643
- package/Materials/Textures/Procedurals/proceduralTexture.pure.js.map +1 -1
- package/Materials/Textures/baseTexture.pure.js +880 -825
- package/Materials/Textures/baseTexture.pure.js.map +1 -1
- package/Materials/Textures/cubeTexture.d.ts +0 -1
- package/Materials/Textures/cubeTexture.js +0 -1
- package/Materials/Textures/cubeTexture.js.map +1 -1
- package/Materials/Textures/cubeTexture.pure.js +368 -333
- package/Materials/Textures/cubeTexture.pure.js.map +1 -1
- package/Materials/Textures/dynamicTexture.d.ts +0 -1
- package/Materials/Textures/dynamicTexture.js +0 -1
- package/Materials/Textures/dynamicTexture.js.map +1 -1
- package/Materials/Textures/dynamicTexture.pure.js +2 -0
- package/Materials/Textures/dynamicTexture.pure.js.map +1 -1
- package/Materials/Textures/htmlElementTexture.d.ts +0 -2
- package/Materials/Textures/htmlElementTexture.js +0 -2
- package/Materials/Textures/htmlElementTexture.js.map +1 -1
- package/Materials/Textures/htmlElementTexture.pure.js +4 -0
- package/Materials/Textures/htmlElementTexture.pure.js.map +1 -1
- package/Materials/Textures/index.d.ts +1 -0
- package/Materials/Textures/index.js +1 -1
- package/Materials/Textures/index.js.map +1 -1
- package/Materials/Textures/multiRenderTarget.d.ts +0 -1
- package/Materials/Textures/multiRenderTarget.js +0 -1
- package/Materials/Textures/multiRenderTarget.js.map +1 -1
- package/Materials/Textures/multiRenderTarget.pure.js +2 -0
- package/Materials/Textures/multiRenderTarget.pure.js.map +1 -1
- package/Materials/Textures/pure.d.ts +1 -0
- package/Materials/Textures/pure.js +1 -0
- package/Materials/Textures/pure.js.map +1 -1
- package/Materials/Textures/texture.pure.js +961 -923
- package/Materials/Textures/texture.pure.js.map +1 -1
- package/Materials/Textures/videoTexture.pure.d.ts +3 -0
- package/Materials/Textures/videoTexture.pure.js +450 -401
- package/Materials/Textures/videoTexture.pure.js.map +1 -1
- package/Materials/colorCurves.pure.js +510 -477
- package/Materials/colorCurves.pure.js.map +1 -1
- package/Materials/effect.pure.js +0 -7
- package/Materials/effect.pure.js.map +1 -1
- package/Materials/imageProcessing.js +12 -4
- package/Materials/imageProcessing.js.map +1 -1
- package/Materials/imageProcessingConfiguration.pure.js +647 -587
- package/Materials/imageProcessingConfiguration.pure.js.map +1 -1
- package/Materials/material.decalMapConfiguration.pure.d.ts +2 -2
- package/Materials/material.decalMapConfiguration.pure.js +149 -130
- package/Materials/material.decalMapConfiguration.pure.js.map +1 -1
- package/Materials/material.detailMapConfiguration.d.ts +3 -3
- package/Materials/material.detailMapConfiguration.js +213 -175
- package/Materials/material.detailMapConfiguration.js.map +1 -1
- package/Materials/material.pure.js +1815 -1721
- package/Materials/material.pure.js.map +1 -1
- package/Materials/materialPluginBase.pure.js +270 -249
- package/Materials/materialPluginBase.pure.js.map +1 -1
- package/Materials/materialPluginManager.pure.js +18 -8
- package/Materials/materialPluginManager.pure.js.map +1 -1
- package/Materials/materialStencilState.js +211 -200
- package/Materials/materialStencilState.js.map +1 -1
- package/Materials/meshDebugPluginMaterial.pure.d.ts +2 -2
- package/Materials/meshDebugPluginMaterial.pure.js +397 -275
- package/Materials/meshDebugPluginMaterial.pure.js.map +1 -1
- package/Materials/standardMaterial.pure.d.ts +32 -32
- package/Materials/standardMaterial.pure.js +1804 -1394
- package/Materials/standardMaterial.pure.js.map +1 -1
- package/Maths/math.color.pure.js +5 -5
- package/Maths/math.functions.js +38 -30
- package/Maths/math.functions.js.map +1 -1
- package/Maths/math.vector.pure.js +25 -25
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js +18 -8
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.d.ts +86 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js +255 -104
- package/Meshes/GaussianSplatting/gaussianSplattingMeshBase.pure.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.d.ts +39 -0
- package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.js +322 -0
- package/Meshes/GaussianSplatting/gaussianSplattingSortWorker.js.map +1 -0
- package/Meshes/GreasedLine/greasedLineMesh.pure.js +4 -4
- package/Meshes/GreasedLine/greasedLineRibbonMesh.pure.js +3 -3
- package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js +107 -94
- package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.pure.js +276 -263
- package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.pure.js +247 -232
- package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.pure.js +299 -284
- package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/aggregatorBlock.pure.js +196 -181
- package/Meshes/Node/Blocks/Set/aggregatorBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/latticeBlock.pure.js +198 -179
- package/Meshes/Node/Blocks/Set/latticeBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setColorsBlock.pure.js +151 -138
- package/Meshes/Node/Blocks/Set/setColorsBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setMaterialIDBlock.pure.js +107 -94
- package/Meshes/Node/Blocks/Set/setMaterialIDBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setNormalsBlock.pure.js +138 -125
- package/Meshes/Node/Blocks/Set/setNormalsBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setPositionsBlock.pure.js +213 -200
- package/Meshes/Node/Blocks/Set/setPositionsBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setTangentsBlock.pure.js +138 -125
- package/Meshes/Node/Blocks/Set/setTangentsBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setUVsBlock.pure.js +179 -164
- package/Meshes/Node/Blocks/Set/setUVsBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/boxBlock.pure.js +183 -170
- package/Meshes/Node/Blocks/Sources/boxBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/capsuleBlock.pure.js +125 -112
- package/Meshes/Node/Blocks/Sources/capsuleBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/cylinderBlock.pure.js +153 -140
- package/Meshes/Node/Blocks/Sources/cylinderBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/discBlock.pure.js +112 -99
- package/Meshes/Node/Blocks/Sources/discBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/gridBlock.pure.js +133 -120
- package/Meshes/Node/Blocks/Sources/gridBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/icoSphereBlock.pure.js +128 -115
- package/Meshes/Node/Blocks/Sources/icoSphereBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/meshBlock.pure.js +116 -103
- package/Meshes/Node/Blocks/Sources/meshBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/planeBlock.pure.js +160 -147
- package/Meshes/Node/Blocks/Sources/planeBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/sphereBlock.pure.js +144 -131
- package/Meshes/Node/Blocks/Sources/sphereBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/torusBlock.pure.js +112 -99
- package/Meshes/Node/Blocks/Sources/torusBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.pure.js +200 -185
- package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/bevelBlock.pure.js +111 -98
- package/Meshes/Node/Blocks/bevelBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/booleanGeometryBlock.pure.js +182 -165
- package/Meshes/Node/Blocks/booleanGeometryBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/cleanGeometryBlock.pure.js +89 -76
- package/Meshes/Node/Blocks/cleanGeometryBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/conditionBlock.pure.js +184 -169
- package/Meshes/Node/Blocks/conditionBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/extrudeGeometryBlock.pure.js +270 -255
- package/Meshes/Node/Blocks/extrudeGeometryBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/geometryCollectionBlock.pure.js +172 -159
- package/Meshes/Node/Blocks/geometryCollectionBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/geometryCurveBlock.pure.js +230 -217
- package/Meshes/Node/Blocks/geometryCurveBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/geometryEaseBlock.pure.js +256 -245
- package/Meshes/Node/Blocks/geometryEaseBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/geometryOptimizeBlock.pure.js +206 -189
- package/Meshes/Node/Blocks/geometryOptimizeBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/geometryTransformBlock.pure.js +166 -153
- package/Meshes/Node/Blocks/geometryTransformBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/geometryTrigonometryBlock.pure.js +221 -208
- package/Meshes/Node/Blocks/geometryTrigonometryBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/mappingBlock.pure.js +150 -137
- package/Meshes/Node/Blocks/mappingBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/mathBlock.pure.js +269 -256
- package/Meshes/Node/Blocks/mathBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/mergeGeometryBlock.pure.js +141 -128
- package/Meshes/Node/Blocks/mergeGeometryBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/randomBlock.pure.js +161 -148
- package/Meshes/Node/Blocks/randomBlock.pure.js.map +1 -1
- package/Meshes/Node/Blocks/subdivideBlock.pure.js +102 -87
- package/Meshes/Node/Blocks/subdivideBlock.pure.js.map +1 -1
- package/Meshes/Node/nodeGeometry.js +560 -538
- package/Meshes/Node/nodeGeometry.js.map +1 -1
- package/Meshes/Node/nodeGeometryBlock.js +473 -458
- package/Meshes/Node/nodeGeometryBlock.js.map +1 -1
- package/Meshes/abstractMesh.pure.js +2218 -2207
- package/Meshes/abstractMesh.pure.js.map +1 -1
- package/Meshes/geometry.js +30 -15
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/mesh.pure.js +26 -14
- package/Meshes/mesh.pure.js.map +1 -1
- package/Meshes/mesh.vertexData.js +1665 -1655
- package/Meshes/mesh.vertexData.js.map +1 -1
- package/Meshes/transformNode.pure.js +1400 -1372
- package/Meshes/transformNode.pure.js.map +1 -1
- package/Misc/decorators.d.ts +34 -19
- package/Misc/decorators.functions.d.ts +33 -2
- package/Misc/decorators.functions.js +114 -35
- package/Misc/decorators.functions.js.map +1 -1
- package/Misc/decorators.js +96 -68
- package/Misc/decorators.js.map +1 -1
- package/Misc/decorators.serialization.js +47 -40
- package/Misc/decorators.serialization.js.map +1 -1
- package/Misc/decorators.serializationUtilities.d.ts +24 -0
- package/Misc/decorators.serializationUtilities.js +20 -0
- package/Misc/decorators.serializationUtilities.js.map +1 -0
- package/Misc/dumpTools.pure.js +43 -33
- package/Misc/dumpTools.pure.js.map +1 -1
- package/Misc/fileTools.pure.js +8 -0
- package/Misc/fileTools.pure.js.map +1 -1
- package/Misc/observable.pure.js +0 -7
- package/Misc/observable.pure.js.map +1 -1
- package/Misc/snapshotRenderingHelper.d.ts +4 -1
- package/Misc/snapshotRenderingHelper.js.map +1 -1
- package/Misc/symbolMetadataPolyfill.d.ts +11 -0
- package/Misc/symbolMetadataPolyfill.js +22 -0
- package/Misc/symbolMetadataPolyfill.js.map +1 -0
- package/Misc/tools.pure.js +2 -2
- package/Misc/tools.pure.js.map +1 -1
- package/Morph/morphTarget.js +382 -365
- package/Morph/morphTarget.js.map +1 -1
- package/Particles/Node/Blocks/Conditions/particleConditionBlock.pure.js +160 -145
- package/Particles/Node/Blocks/Conditions/particleConditionBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/coneShapeBlock.pure.js +187 -174
- package/Particles/Node/Blocks/Emitters/coneShapeBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/meshShapeBlock.pure.js +238 -219
- package/Particles/Node/Blocks/Emitters/meshShapeBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/setupSpriteSheetBlock.pure.js +140 -115
- package/Particles/Node/Blocks/Emitters/setupSpriteSheetBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/Emitters/sphereShapeBlock.pure.js +157 -144
- package/Particles/Node/Blocks/Emitters/sphereShapeBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/Triggers/particleTriggerBlock.pure.js +133 -119
- package/Particles/Node/Blocks/Triggers/particleTriggerBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/Update/alignAngleBlock.pure.js +93 -80
- package/Particles/Node/Blocks/Update/alignAngleBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleDebugBlock.pure.js +117 -105
- package/Particles/Node/Blocks/particleDebugBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleFloatToIntBlock.pure.js +105 -92
- package/Particles/Node/Blocks/particleFloatToIntBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleGradientValueBlock.pure.js +82 -69
- package/Particles/Node/Blocks/particleGradientValueBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleLocalVariableBlock.pure.js +113 -101
- package/Particles/Node/Blocks/particleLocalVariableBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleMathBlock.pure.js +278 -265
- package/Particles/Node/Blocks/particleMathBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleNumberMathBlock.pure.js +155 -142
- package/Particles/Node/Blocks/particleNumberMathBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleRandomBlock.pure.js +156 -143
- package/Particles/Node/Blocks/particleRandomBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleTrigonometryBlock.pure.js +217 -204
- package/Particles/Node/Blocks/particleTrigonometryBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/particleVectorMathBlock.pure.js +106 -93
- package/Particles/Node/Blocks/particleVectorMathBlock.pure.js.map +1 -1
- package/Particles/Node/Blocks/systemBlock.pure.js +366 -330
- package/Particles/Node/Blocks/systemBlock.pure.js.map +1 -1
- package/Particles/Node/nodeParticleBlock.js +339 -324
- package/Particles/Node/nodeParticleBlock.js.map +1 -1
- package/Particles/Node/nodeParticleSystemSet.js +494 -473
- package/Particles/Node/nodeParticleSystemSet.js.map +1 -1
- package/Particles/gpuParticleSystem.d.ts +0 -1
- package/Particles/gpuParticleSystem.js +0 -1
- package/Particles/gpuParticleSystem.js.map +1 -1
- package/Particles/gpuParticleSystem.pure.d.ts +4 -3
- package/Particles/gpuParticleSystem.pure.js +27 -16
- package/Particles/gpuParticleSystem.pure.js.map +1 -1
- package/Particles/particleSystem.pure.js +57 -2
- package/Particles/particleSystem.pure.js.map +1 -1
- package/Particles/thinParticleSystem.d.ts +0 -1
- package/Particles/thinParticleSystem.js +0 -1
- package/Particles/thinParticleSystem.js.map +1 -1
- package/Particles/thinParticleSystem.pure.js +2 -0
- package/Particles/thinParticleSystem.pure.js.map +1 -1
- package/Particles/webgl2ParticleSystem.pure.js +2 -0
- package/Particles/webgl2ParticleSystem.pure.js.map +1 -1
- package/Physics/v1/physicsImpostor.pure.js +4 -4
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.pure.js +675 -656
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.pure.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.d.ts +0 -1
- package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.js +0 -1
- package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.js +521 -486
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.pure.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +0 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js +0 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.pure.js +241 -220
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.pure.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.pure.js +852 -835
- package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.pure.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.pure.js +1135 -1073
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.pure.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.pure.js +319 -303
- package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.pure.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js +212 -199
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
- package/PostProcesses/blackAndWhitePostProcess.pure.js +67 -55
- package/PostProcesses/blackAndWhitePostProcess.pure.js.map +1 -1
- package/PostProcesses/bloomMergePostProcess.pure.js +74 -62
- package/PostProcesses/bloomMergePostProcess.pure.js.map +1 -1
- package/PostProcesses/blurPostProcess.pure.js +127 -115
- package/PostProcesses/blurPostProcess.pure.js.map +1 -1
- package/PostProcesses/chromaticAberrationPostProcess.pure.js +130 -118
- package/PostProcesses/chromaticAberrationPostProcess.pure.js.map +1 -1
- package/PostProcesses/circleOfConfusionPostProcess.pure.js +115 -104
- package/PostProcesses/circleOfConfusionPostProcess.pure.js.map +1 -1
- package/PostProcesses/colorCorrectionPostProcess.pure.js +55 -43
- package/PostProcesses/colorCorrectionPostProcess.pure.js.map +1 -1
- package/PostProcesses/convolutionPostProcess.pure.js +96 -84
- package/PostProcesses/convolutionPostProcess.pure.js.map +1 -1
- package/PostProcesses/extractHighlightsPostProcess.pure.js +68 -57
- package/PostProcesses/extractHighlightsPostProcess.pure.js.map +1 -1
- package/PostProcesses/filterPostProcess.pure.js +66 -54
- package/PostProcesses/filterPostProcess.pure.js.map +1 -1
- package/PostProcesses/fxaaPostProcess.pure.js.map +1 -1
- package/PostProcesses/grainPostProcess.pure.js +82 -70
- package/PostProcesses/grainPostProcess.pure.js.map +1 -1
- package/PostProcesses/imageProcessingPostProcess.js +334 -322
- package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
- package/PostProcesses/motionBlurPostProcess.pure.js +246 -235
- package/PostProcesses/motionBlurPostProcess.pure.js.map +1 -1
- package/PostProcesses/passPostProcess.pure.js +75 -63
- package/PostProcesses/passPostProcess.pure.js.map +1 -1
- package/PostProcesses/postProcess.pure.js +899 -835
- package/PostProcesses/postProcess.pure.js.map +1 -1
- package/PostProcesses/refractionPostProcess.pure.js +114 -87
- package/PostProcesses/refractionPostProcess.pure.js.map +1 -1
- package/PostProcesses/screenSpaceCurvaturePostProcess.pure.js +108 -96
- package/PostProcesses/screenSpaceCurvaturePostProcess.pure.js.map +1 -1
- package/PostProcesses/screenSpaceReflectionPostProcess.pure.js +241 -220
- package/PostProcesses/screenSpaceReflectionPostProcess.pure.js.map +1 -1
- package/PostProcesses/sharpenPostProcess.pure.js +86 -74
- package/PostProcesses/sharpenPostProcess.pure.js.map +1 -1
- package/PostProcesses/tonemapPostProcess.pure.js +82 -70
- package/PostProcesses/tonemapPostProcess.pure.js.map +1 -1
- package/PostProcesses/volumetricLightScatteringPostProcess.pure.js +500 -465
- package/PostProcesses/volumetricLightScatteringPostProcess.pure.js.map +1 -1
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.d.ts +0 -1
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.js +0 -1
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.js.map +1 -1
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.pure.js +2 -0
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.pure.js.map +1 -1
- package/Probes/reflectionProbe.pure.js +238 -224
- package/Probes/reflectionProbe.pure.js.map +1 -1
- package/Rendering/GlobalIllumination/giRSMManager.pure.d.ts +1 -1
- package/Rendering/GlobalIllumination/giRSMManager.pure.js +138 -105
- package/Rendering/GlobalIllumination/giRSMManager.pure.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsPluginMaterial.pure.d.ts +1 -1
- package/Rendering/IBLShadows/iblShadowsPluginMaterial.pure.js +155 -138
- package/Rendering/IBLShadows/iblShadowsPluginMaterial.pure.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.d.ts +0 -2
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.js +0 -2
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js +5 -0
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.d.ts +0 -1
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js +0 -1
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.d.ts +1 -0
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js +34 -0
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js.map +1 -1
- package/Rendering/edgesRenderer.pure.js.map +1 -1
- package/Rendering/prePassRenderer.d.ts +0 -2
- package/Rendering/prePassRenderer.js +0 -2
- package/Rendering/prePassRenderer.js.map +1 -1
- package/Rendering/prePassRenderer.pure.js +2 -0
- package/Rendering/prePassRenderer.pure.js.map +1 -1
- package/Rendering/reflectiveShadowMap.pure.d.ts +1 -1
- package/Rendering/reflectiveShadowMap.pure.js +151 -130
- package/Rendering/reflectiveShadowMap.pure.js.map +1 -1
- package/Rendering/thinDepthPeelingRenderer.d.ts +0 -1
- package/Rendering/thinDepthPeelingRenderer.js +0 -1
- package/Rendering/thinDepthPeelingRenderer.js.map +1 -1
- package/Shaders/ShadersInclude/gaussianSplatting.js +1 -0
- package/Shaders/ShadersInclude/gaussianSplatting.js.map +1 -1
- package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js +35 -5
- package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
- package/Shaders/gaussianSplatting.fragment.js +17 -1
- package/Shaders/gaussianSplatting.fragment.js.map +1 -1
- package/Shaders/gaussianSplatting.vertex.js +1 -1
- package/Shaders/gaussianSplatting.vertex.js.map +1 -1
- package/Shaders/gaussianSplattingDepth.vertex.js +1 -1
- package/Shaders/gaussianSplattingDepth.vertex.js.map +1 -1
- package/Shaders/picking.fragment.js +39 -3
- package/Shaders/picking.fragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.js +3 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/helperFunctions.js +2 -2
- package/ShadersWGSL/ShadersInclude/helperFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js +39 -7
- package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js +4 -3
- package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js.map +1 -1
- package/ShadersWGSL/gaussianSplatting.fragment.js +14 -1
- package/ShadersWGSL/gaussianSplatting.fragment.js.map +1 -1
- package/ShadersWGSL/gaussianSplatting.vertex.js +2 -2
- package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
- package/ShadersWGSL/gaussianSplattingDepth.vertex.js +2 -2
- package/ShadersWGSL/gaussianSplattingDepth.vertex.js.map +1 -1
- package/ShadersWGSL/lightingVolume.compute.js +2 -2
- package/ShadersWGSL/lightingVolume.compute.js.map +1 -1
- package/ShadersWGSL/picking.fragment.js +22 -1
- package/ShadersWGSL/picking.fragment.js.map +1 -1
- package/XR/features/Layers/WebXRCompositionLayer.d.ts +3 -2
- package/XR/features/Layers/WebXRCompositionLayer.js +2 -2
- package/XR/features/Layers/WebXRCompositionLayer.js.map +1 -1
- package/XR/features/Layers/WebXRWebGPUCompositionLayer.d.ts +59 -0
- package/XR/features/Layers/WebXRWebGPUCompositionLayer.js +120 -0
- package/XR/features/Layers/WebXRWebGPUCompositionLayer.js.map +1 -0
- package/XR/features/Layers/WebXRWebGPUProjectionLayer.d.ts +25 -0
- package/XR/features/Layers/WebXRWebGPUProjectionLayer.js +69 -0
- package/XR/features/Layers/WebXRWebGPUProjectionLayer.js.map +1 -0
- package/XR/features/WebXRLayers.pure.d.ts +8 -0
- package/XR/features/WebXRLayers.pure.js +43 -6
- package/XR/features/WebXRLayers.pure.js.map +1 -1
- package/XR/native/nativeXRRenderTarget.d.ts +2 -2
- package/XR/native/nativeXRRenderTarget.js +2 -2
- package/XR/native/nativeXRRenderTarget.js.map +1 -1
- package/XR/webXRExperienceHelper.js +10 -1
- package/XR/webXRExperienceHelper.js.map +1 -1
- package/XR/webXRGraphicsBinding.d.ts +90 -0
- package/XR/webXRGraphicsBinding.js +85 -0
- package/XR/webXRGraphicsBinding.js.map +1 -0
- package/XR/webXRLayerRenderTargetTexture.d.ts +24 -0
- package/XR/webXRLayerRenderTargetTexture.js +30 -0
- package/XR/webXRLayerRenderTargetTexture.js.map +1 -0
- package/XR/webXRManagedOutputCanvas.d.ts +14 -0
- package/XR/webXRManagedOutputCanvas.js +24 -5
- package/XR/webXRManagedOutputCanvas.js.map +1 -1
- package/XR/webXRRenderTargetTextureProvider.d.ts +25 -4
- package/XR/webXRRenderTargetTextureProvider.js +33 -35
- package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
- package/XR/webXRSessionManager.d.ts +11 -0
- package/XR/webXRSessionManager.js +37 -0
- package/XR/webXRSessionManager.js.map +1 -1
- package/XR/webXRTypes.d.ts +9 -6
- package/XR/webXRTypes.js.map +1 -1
- package/XR/webXRWebGLLayer.d.ts +2 -2
- package/XR/webXRWebGLLayer.js +2 -2
- package/XR/webXRWebGLLayer.js.map +1 -1
- package/XR/webXRWebGLRenderTargetTextureProvider.d.ts +12 -0
- package/XR/webXRWebGLRenderTargetTextureProvider.js +58 -0
- package/XR/webXRWebGLRenderTargetTextureProvider.js.map +1 -0
- package/XR/webXRWebGPURenderTargetTextureProvider.d.ts +69 -0
- package/XR/webXRWebGPURenderTargetTextureProvider.js +148 -0
- package/XR/webXRWebGPURenderTargetTextureProvider.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/node.js +878 -845
- package/node.js.map +1 -1
- package/package.json +8 -14
- package/scene.pure.d.ts +12 -0
- package/scene.pure.js +36 -0
- package/scene.pure.js.map +1 -1
- package/tslib.es6.js +304 -150
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pbrIridescenceConfiguration.js","sourceRoot":"","sources":["../../../../../dev/core/src/Materials/PBR/pbrIridescenceConfiguration.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { type Nullable } from \"../../types\";\r\nimport { serialize, serializeAsTexture, expandToProperty } from \"../../Misc/decorators\";\r\nimport { type BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\nimport { MaterialFlags } from \"../materialFlags\";\r\nimport { type UniformBuffer } from \"../../Materials/uniformBuffer\";\r\nimport { type IAnimatable } from \"../../Animations/animatable.interface\";\r\nimport { type EffectFallbacks } from \"../effectFallbacks\";\r\nimport { Constants } from \"../../Engines/constants\";\r\nimport { MaterialPluginBase } from \"../materialPluginBase.pure\";\r\nimport { MaterialDefines } from \"../materialDefines\";\r\n\r\nimport { type Scene } from \"../../scene\";\r\nimport { type PBRBaseMaterial } from \"./pbrBaseMaterial\";\r\nimport { BindTextureMatrix, PrepareDefinesForMergedUV } from \"../materialHelper.functions\";\r\n\r\n/**\r\n * @internal\r\n */\r\nexport class MaterialIridescenceDefines extends MaterialDefines {\r\n public IRIDESCENCE = false;\r\n public IRIDESCENCE_TEXTURE = false;\r\n public IRIDESCENCE_TEXTUREDIRECTUV = 0;\r\n public IRIDESCENCE_THICKNESS_TEXTURE = false;\r\n public IRIDESCENCE_THICKNESS_TEXTUREDIRECTUV = 0;\r\n}\r\n\r\n/**\r\n * Plugin that implements the iridescence (thin film) component of the PBR material\r\n */\r\nexport class PBRIridescenceConfiguration extends MaterialPluginBase {\r\n protected override _material: PBRBaseMaterial;\r\n\r\n /**\r\n * The default minimum thickness of the thin-film layer given in nanometers (nm).\r\n * Defaults to 100 nm.\r\n * @internal\r\n */\r\n public static readonly _DefaultMinimumThickness = 100;\r\n\r\n /**\r\n * The default maximum thickness of the thin-film layer given in nanometers (nm).\r\n * Defaults to 400 nm.\r\n * @internal\r\n */\r\n public static readonly _DefaultMaximumThickness = 400;\r\n\r\n /**\r\n * The default index of refraction of the thin-film layer.\r\n * Defaults to 1.3\r\n * @internal\r\n */\r\n public static readonly _DefaultIndexOfRefraction = 1.3;\r\n\r\n private _isEnabled = false;\r\n /**\r\n * Defines if the iridescence is enabled in the material.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public isEnabled = false;\r\n\r\n /**\r\n * Defines the iridescence layer strength (between 0 and 1) it defaults to 1.\r\n */\r\n @serialize()\r\n public intensity: number = 1;\r\n\r\n /**\r\n * Defines the minimum thickness of the thin-film layer given in nanometers (nm).\r\n */\r\n @serialize()\r\n public minimumThickness: number = PBRIridescenceConfiguration._DefaultMinimumThickness;\r\n\r\n /**\r\n * Defines the maximum thickness of the thin-film layer given in nanometers (nm). This will be the thickness used if not thickness texture has been set.\r\n */\r\n @serialize()\r\n public maximumThickness: number = PBRIridescenceConfiguration._DefaultMaximumThickness;\r\n\r\n /**\r\n * Defines the maximum thickness of the thin-film layer given in nanometers (nm).\r\n */\r\n @serialize()\r\n public indexOfRefraction: number = PBRIridescenceConfiguration._DefaultIndexOfRefraction;\r\n\r\n private _texture: Nullable<BaseTexture> = null;\r\n /**\r\n * Stores the iridescence intensity in a texture (red channel)\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public texture: Nullable<BaseTexture> = null;\r\n\r\n private _thicknessTexture: Nullable<BaseTexture> = null;\r\n /**\r\n * Stores the iridescence thickness in a texture (green channel)\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public thicknessTexture: Nullable<BaseTexture> = null;\r\n\r\n /** @internal */\r\n private _internalMarkAllSubMeshesAsTexturesDirty: () => void;\r\n\r\n /** @internal */\r\n public _markAllSubMeshesAsTexturesDirty(): void {\r\n this._enable(this._isEnabled);\r\n this._internalMarkAllSubMeshesAsTexturesDirty();\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that the plugin is compatible with a given shader language.\r\n * @returns true if the plugin is compatible with the shader language\r\n */\r\n public override isCompatible(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(material: PBRBaseMaterial, addToPluginList = true) {\r\n super(material, \"PBRIridescence\", 110, new MaterialIridescenceDefines(), addToPluginList);\r\n\r\n this._internalMarkAllSubMeshesAsTexturesDirty = material._dirtyCallbacks[Constants.MATERIAL_TextureDirtyFlag];\r\n }\r\n\r\n /**\r\n * Checks whether the iridescence textures are ready for the sub mesh.\r\n * @param defines defines the material defines to inspect\r\n * @param scene defines the scene to use for readiness checks\r\n * @returns true if iridescence is ready\r\n */\r\n public override isReadyForSubMesh(defines: MaterialIridescenceDefines, scene: Scene): boolean {\r\n if (!this._isEnabled) {\r\n return true;\r\n }\r\n\r\n if (defines._areTexturesDirty) {\r\n if (scene.texturesEnabled) {\r\n if (this._texture && MaterialFlags.IridescenceTextureEnabled) {\r\n if (!this._texture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n\r\n if (this._thicknessTexture && MaterialFlags.IridescenceTextureEnabled) {\r\n if (!this._thicknessTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Updates shader defines for iridescence before attributes are processed.\r\n * @param defines defines the material defines to update\r\n * @param scene defines the scene to use for texture checks\r\n */\r\n public override prepareDefinesBeforeAttributes(defines: MaterialIridescenceDefines, scene: Scene): void {\r\n if (this._isEnabled) {\r\n defines.IRIDESCENCE = true;\r\n\r\n if (defines._areTexturesDirty) {\r\n if (scene.texturesEnabled) {\r\n if (this._texture && MaterialFlags.IridescenceTextureEnabled) {\r\n PrepareDefinesForMergedUV(this._texture, defines, \"IRIDESCENCE_TEXTURE\");\r\n } else {\r\n defines.IRIDESCENCE_TEXTURE = false;\r\n }\r\n\r\n if (this._thicknessTexture && MaterialFlags.IridescenceTextureEnabled) {\r\n PrepareDefinesForMergedUV(this._thicknessTexture, defines, \"IRIDESCENCE_THICKNESS_TEXTURE\");\r\n } else {\r\n defines.IRIDESCENCE_THICKNESS_TEXTURE = false;\r\n }\r\n }\r\n }\r\n } else {\r\n defines.IRIDESCENCE = false;\r\n defines.IRIDESCENCE_TEXTURE = false;\r\n defines.IRIDESCENCE_THICKNESS_TEXTURE = false;\r\n defines.IRIDESCENCE_TEXTUREDIRECTUV = 0;\r\n defines.IRIDESCENCE_THICKNESS_TEXTUREDIRECTUV = 0;\r\n }\r\n }\r\n\r\n /**\r\n * Binds iridescence data for a sub mesh.\r\n * @param uniformBuffer defines the uniform buffer to update\r\n * @param scene defines the scene to use for texture binding\r\n */\r\n public override bindForSubMesh(uniformBuffer: UniformBuffer, scene: Scene): void {\r\n if (!this._isEnabled) {\r\n return;\r\n }\r\n\r\n const isFrozen = this._material.isFrozen;\r\n\r\n if (!uniformBuffer.useUbo || !isFrozen || !uniformBuffer.isSync) {\r\n if ((this._texture || this._thicknessTexture) && MaterialFlags.IridescenceTextureEnabled) {\r\n uniformBuffer.updateFloat4(\r\n \"vIridescenceInfos\",\r\n this._texture?.coordinatesIndex ?? 0,\r\n this._texture?.level ?? 0,\r\n this._thicknessTexture?.coordinatesIndex ?? 0,\r\n this._thicknessTexture?.level ?? 0\r\n );\r\n if (this._texture) {\r\n BindTextureMatrix(this._texture, uniformBuffer, \"iridescence\");\r\n }\r\n if (this._thicknessTexture) {\r\n BindTextureMatrix(this._thicknessTexture, uniformBuffer, \"iridescenceThickness\");\r\n }\r\n }\r\n\r\n // Clear Coat General params\r\n uniformBuffer.updateFloat4(\"vIridescenceParams\", this.intensity, this.indexOfRefraction, this.minimumThickness, this.maximumThickness);\r\n }\r\n\r\n // Textures\r\n if (scene.texturesEnabled) {\r\n if (this._texture && MaterialFlags.IridescenceTextureEnabled) {\r\n uniformBuffer.setTexture(\"iridescenceSampler\", this._texture);\r\n }\r\n\r\n if (this._thicknessTexture && MaterialFlags.IridescenceTextureEnabled) {\r\n uniformBuffer.setTexture(\"iridescenceThicknessSampler\", this._thicknessTexture);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Checks whether iridescence uses a texture.\r\n * @param texture defines the texture to check\r\n * @returns true if the texture is used by iridescence\r\n */\r\n public override hasTexture(texture: BaseTexture): boolean {\r\n if (this._texture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._thicknessTexture === texture) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Adds the active iridescence textures.\r\n * @param activeTextures defines the list of active textures to update\r\n */\r\n public override getActiveTextures(activeTextures: BaseTexture[]): void {\r\n if (this._texture) {\r\n activeTextures.push(this._texture);\r\n }\r\n\r\n if (this._thicknessTexture) {\r\n activeTextures.push(this._thicknessTexture);\r\n }\r\n }\r\n\r\n /**\r\n * Adds the animatable iridescence textures.\r\n * @param animatables defines the list of animatables to update\r\n */\r\n public override getAnimatables(animatables: IAnimatable[]): void {\r\n if (this._texture && this._texture.animations && this._texture.animations.length > 0) {\r\n animatables.push(this._texture);\r\n }\r\n\r\n if (this._thicknessTexture && this._thicknessTexture.animations && this._thicknessTexture.animations.length > 0) {\r\n animatables.push(this._thicknessTexture);\r\n }\r\n }\r\n\r\n /**\r\n * Disposes the iridescence textures.\r\n * @param forceDisposeTextures defines whether to dispose the textures\r\n */\r\n public override dispose(forceDisposeTextures?: boolean): void {\r\n if (forceDisposeTextures) {\r\n this._texture?.dispose();\r\n this._thicknessTexture?.dispose();\r\n }\r\n }\r\n\r\n public override getClassName(): string {\r\n return \"PBRIridescenceConfiguration\";\r\n }\r\n\r\n public override addFallbacks(defines: MaterialIridescenceDefines, fallbacks: EffectFallbacks, currentRank: number): number {\r\n if (defines.IRIDESCENCE) {\r\n fallbacks.addFallback(currentRank++, \"IRIDESCENCE\");\r\n }\r\n return currentRank;\r\n }\r\n\r\n /**\r\n * Adds the iridescence sampler names.\r\n * @param samplers defines the list of sampler names to update\r\n */\r\n public override getSamplers(samplers: string[]): void {\r\n samplers.push(\"iridescenceSampler\", \"iridescenceThicknessSampler\");\r\n }\r\n\r\n public override getUniforms(): { ubo?: Array<{ name: string; size: number; type: string }>; vertex?: string; fragment?: string } {\r\n return {\r\n ubo: [\r\n { name: \"vIridescenceParams\", size: 4, type: \"vec4\" },\r\n { name: \"vIridescenceInfos\", size: 4, type: \"vec4\" },\r\n { name: \"iridescenceMatrix\", size: 16, type: \"mat4\" },\r\n { name: \"iridescenceThicknessMatrix\", size: 16, type: \"mat4\" },\r\n ],\r\n };\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"pbrIridescenceConfiguration.js","sourceRoot":"","sources":["../../../../../dev/core/src/Materials/PBR/pbrIridescenceConfiguration.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAExF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE3F;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,eAAe;IAA/D;;QACW,gBAAW,GAAG,KAAK,CAAC;QACpB,wBAAmB,GAAG,KAAK,CAAC;QAC5B,gCAA2B,GAAG,CAAC,CAAC;QAChC,kCAA6B,GAAG,KAAK,CAAC;QACtC,0CAAqC,GAAG,CAAC,CAAC;IACrD,CAAC;CAAA;AAED;;GAEG;IACU,2BAA2B;;sBAAS,kBAAkB;;;;;;;;;;;;;;;;;;;;;;sBAAtD,2BAA4B,SAAQ,WAAkB;YAyB/D;;eAEG;YAGH,IAAgB,SAAS,yGAAS;YAAlC,IAAgB,SAAS,8GAAS;YA2BlC;;eAEG;YAGH,IAAgB,OAAO,uGAA+B;YAAtD,IAAgB,OAAO,4GAA+B;YAGtD;;eAEG;YAGH,IAAgB,gBAAgB,gHAA+B;YAA/D,IAAgB,gBAAgB,qHAA+B;YAK/D,gBAAgB;YACT,gCAAgC;gBACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9B,IAAI,CAAC,wCAAwC,EAAE,CAAC;YACpD,CAAC;YAED;;;eAGG;YACa,YAAY;gBACxB,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,YAAY,QAAyB,EAAE,eAAe,GAAG,IAAI;gBACzD,KAAK,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,IAAI,0BAA0B,EAAE,EAAE,eAAe,CAAC,CAAC;gBAlEtF,eAAU,GAAG,KAAK,CAAC;gBAMX,mHAAY,KAAK,GAAC;gBAElC;;mBAEG;gBAEI,cAAS,4GAAW,CAAC,GAAC;gBAE7B;;mBAEG;gBAEI,qBAAgB,mHAAW,EAA2B,CAAC,wBAAwB,GAAC;gBAEvF;;mBAEG;gBAEI,qBAAgB,0HAAW,EAA2B,CAAC,wBAAwB,GAAC;gBAEvF;;mBAEG;gBAEI,sBAAiB,2HAAW,EAA2B,CAAC,yBAAyB,GAAC;gBAEjF,aAAQ,mEAA0B,IAAI,EAAC;gBAM/B,+GAAiC,IAAI,GAAC;gBAE9C,sBAAiB,yDAA0B,IAAI,EAAC;gBAMxC,iIAA0C,IAAI,GAAC;gBAE/D,gBAAgB;gBACR,6CAAwC,gEAAa;gBAmBzD,IAAI,CAAC,wCAAwC,GAAG,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;YAClH,CAAC;YAED;;;;;eAKG;YACa,iBAAiB,CAAC,OAAmC,EAAE,KAAY;gBAC/E,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACnB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;wBACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,yBAAyB,EAAE,CAAC;4BAC3D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,CAAC;gCACxC,OAAO,KAAK,CAAC;4BACjB,CAAC;wBACL,CAAC;wBAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,aAAa,CAAC,yBAAyB,EAAE,CAAC;4BACpE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,EAAE,CAAC;gCACjD,OAAO,KAAK,CAAC;4BACjB,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,OAAO,IAAI,CAAC;YAChB,CAAC;YAED;;;;eAIG;YACa,8BAA8B,CAAC,OAAmC,EAAE,KAAY;gBAC5F,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;oBAE3B,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;wBAC5B,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;4BACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,yBAAyB,EAAE,CAAC;gCAC3D,yBAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;4BAC7E,CAAC;iCAAM,CAAC;gCACJ,OAAO,CAAC,mBAAmB,GAAG,KAAK,CAAC;4BACxC,CAAC;4BAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,aAAa,CAAC,yBAAyB,EAAE,CAAC;gCACpE,yBAAyB,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,+BAA+B,CAAC,CAAC;4BAChG,CAAC;iCAAM,CAAC;gCACJ,OAAO,CAAC,6BAA6B,GAAG,KAAK,CAAC;4BAClD,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;oBAC5B,OAAO,CAAC,mBAAmB,GAAG,KAAK,CAAC;oBACpC,OAAO,CAAC,6BAA6B,GAAG,KAAK,CAAC;oBAC9C,OAAO,CAAC,2BAA2B,GAAG,CAAC,CAAC;oBACxC,OAAO,CAAC,qCAAqC,GAAG,CAAC,CAAC;gBACtD,CAAC;YACL,CAAC;YAED;;;;eAIG;YACa,cAAc,CAAC,aAA4B,EAAE,KAAY;gBACrE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACnB,OAAO;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAEzC,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;oBAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,aAAa,CAAC,yBAAyB,EAAE,CAAC;wBACvF,aAAa,CAAC,YAAY,CACtB,mBAAmB,EACnB,IAAI,CAAC,QAAQ,EAAE,gBAAgB,IAAI,CAAC,EACpC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,EACzB,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,IAAI,CAAC,EAC7C,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,CAAC,CACrC,CAAC;wBACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;4BAChB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;wBACnE,CAAC;wBACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BACzB,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAC;wBACrF,CAAC;oBACL,CAAC;oBAED,4BAA4B;oBAC5B,aAAa,CAAC,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC3I,CAAC;gBAED,WAAW;gBACX,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,yBAAyB,EAAE,CAAC;wBAC3D,aAAa,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAClE,CAAC;oBAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,aAAa,CAAC,yBAAyB,EAAE,CAAC;wBACpE,aAAa,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACpF,CAAC;gBACL,CAAC;YACL,CAAC;YAED;;;;eAIG;YACa,UAAU,CAAC,OAAoB;gBAC3C,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,IAAI,IAAI,CAAC,iBAAiB,KAAK,OAAO,EAAE,CAAC;oBACrC,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,OAAO,KAAK,CAAC;YACjB,CAAC;YAED;;;eAGG;YACa,iBAAiB,CAAC,cAA6B;gBAC3D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,CAAC;gBAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAChD,CAAC;YACL,CAAC;YAED;;;eAGG;YACa,cAAc,CAAC,WAA0B;gBACrD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpC,CAAC;gBAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9G,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC7C,CAAC;YACL,CAAC;YAED;;;eAGG;YACa,OAAO,CAAC,oBAA8B;gBAClD,IAAI,oBAAoB,EAAE,CAAC;oBACvB,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;oBACzB,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC;gBACtC,CAAC;YACL,CAAC;YAEe,YAAY;gBACxB,OAAO,6BAA6B,CAAC;YACzC,CAAC;YAEe,YAAY,CAAC,OAAmC,EAAE,SAA0B,EAAE,WAAmB;gBAC7G,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACtB,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAC;gBACxD,CAAC;gBACD,OAAO,WAAW,CAAC;YACvB,CAAC;YAED;;;eAGG;YACa,WAAW,CAAC,QAAkB;gBAC1C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,6BAA6B,CAAC,CAAC;YACvE,CAAC;YAEe,WAAW;gBACvB,OAAO;oBACH,GAAG,EAAE;wBACD,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;wBACrD,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;wBACpD,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;wBACrD,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;qBACjE;iBACJ,CAAC;YACN,CAAC;;;;;;;qCAnQA,SAAS,EAAE,EACX,gBAAgB,CAAC,kCAAkC,CAAC;qCAMpD,SAAS,EAAE;4CAMX,SAAS,EAAE;4CAMX,SAAS,EAAE;6CAMX,SAAS,EAAE;mCAOX,kBAAkB,EAAE,EACpB,gBAAgB,CAAC,kCAAkC,CAAC;4CAOpD,kBAAkB,EAAE,EACpB,gBAAgB,CAAC,kCAAkC,CAAC;YAvCrD,8KAAgB,SAAS,6BAAT,SAAS,6FAAS;YAgClC,wKAAgB,OAAO,6BAAP,OAAO,yFAA+B;YAQtD,mMAAgB,gBAAgB,6BAAhB,gBAAgB,2GAA+B;YAlC/D,6KAAO,SAAS,6BAAT,SAAS,6FAAa;YAM7B,kMAAO,gBAAgB,6BAAhB,gBAAgB,2GAAgE;YAMvF,kMAAO,gBAAgB,6BAAhB,gBAAgB,2GAAgE;YAMvF,qMAAO,iBAAiB,6BAAjB,iBAAiB,6GAAiE;;;QAnDzF;;;;WAIG;QACoB,2BAAwB,GAAG,GAAI;QAEtD;;;;WAIG;QACoB,2BAAwB,GAAG,GAAI;QAEtD;;;;WAIG;QACoB,4BAAyB,GAAG,GAAI;;;SAtB9C,2BAA2B","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { type Nullable } from \"../../types\";\r\nimport { serialize, serializeAsTexture, expandToProperty } from \"../../Misc/decorators\";\r\nimport { type BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\nimport { MaterialFlags } from \"../materialFlags\";\r\nimport { type UniformBuffer } from \"../../Materials/uniformBuffer\";\r\nimport { type IAnimatable } from \"../../Animations/animatable.interface\";\r\nimport { type EffectFallbacks } from \"../effectFallbacks\";\r\nimport { Constants } from \"../../Engines/constants\";\r\nimport { MaterialPluginBase } from \"../materialPluginBase.pure\";\r\nimport { MaterialDefines } from \"../materialDefines\";\r\n\r\nimport { type Scene } from \"../../scene\";\r\nimport { type PBRBaseMaterial } from \"./pbrBaseMaterial\";\r\nimport { BindTextureMatrix, PrepareDefinesForMergedUV } from \"../materialHelper.functions\";\r\n\r\n/**\r\n * @internal\r\n */\r\nexport class MaterialIridescenceDefines extends MaterialDefines {\r\n public IRIDESCENCE = false;\r\n public IRIDESCENCE_TEXTURE = false;\r\n public IRIDESCENCE_TEXTUREDIRECTUV = 0;\r\n public IRIDESCENCE_THICKNESS_TEXTURE = false;\r\n public IRIDESCENCE_THICKNESS_TEXTUREDIRECTUV = 0;\r\n}\r\n\r\n/**\r\n * Plugin that implements the iridescence (thin film) component of the PBR material\r\n */\r\nexport class PBRIridescenceConfiguration extends MaterialPluginBase {\r\n declare protected _material: PBRBaseMaterial;\r\n\r\n /**\r\n * The default minimum thickness of the thin-film layer given in nanometers (nm).\r\n * Defaults to 100 nm.\r\n * @internal\r\n */\r\n public static readonly _DefaultMinimumThickness = 100;\r\n\r\n /**\r\n * The default maximum thickness of the thin-film layer given in nanometers (nm).\r\n * Defaults to 400 nm.\r\n * @internal\r\n */\r\n public static readonly _DefaultMaximumThickness = 400;\r\n\r\n /**\r\n * The default index of refraction of the thin-film layer.\r\n * Defaults to 1.3\r\n * @internal\r\n */\r\n public static readonly _DefaultIndexOfRefraction = 1.3;\r\n\r\n private _isEnabled = false;\r\n /**\r\n * Defines if the iridescence is enabled in the material.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public accessor isEnabled = false;\r\n\r\n /**\r\n * Defines the iridescence layer strength (between 0 and 1) it defaults to 1.\r\n */\r\n @serialize()\r\n public intensity: number = 1;\r\n\r\n /**\r\n * Defines the minimum thickness of the thin-film layer given in nanometers (nm).\r\n */\r\n @serialize()\r\n public minimumThickness: number = PBRIridescenceConfiguration._DefaultMinimumThickness;\r\n\r\n /**\r\n * Defines the maximum thickness of the thin-film layer given in nanometers (nm). This will be the thickness used if not thickness texture has been set.\r\n */\r\n @serialize()\r\n public maximumThickness: number = PBRIridescenceConfiguration._DefaultMaximumThickness;\r\n\r\n /**\r\n * Defines the maximum thickness of the thin-film layer given in nanometers (nm).\r\n */\r\n @serialize()\r\n public indexOfRefraction: number = PBRIridescenceConfiguration._DefaultIndexOfRefraction;\r\n\r\n private _texture: Nullable<BaseTexture> = null;\r\n /**\r\n * Stores the iridescence intensity in a texture (red channel)\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public accessor texture: Nullable<BaseTexture> = null;\r\n\r\n private _thicknessTexture: Nullable<BaseTexture> = null;\r\n /**\r\n * Stores the iridescence thickness in a texture (green channel)\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public accessor thicknessTexture: Nullable<BaseTexture> = null;\r\n\r\n /** @internal */\r\n private _internalMarkAllSubMeshesAsTexturesDirty: () => void;\r\n\r\n /** @internal */\r\n public _markAllSubMeshesAsTexturesDirty(): void {\r\n this._enable(this._isEnabled);\r\n this._internalMarkAllSubMeshesAsTexturesDirty();\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that the plugin is compatible with a given shader language.\r\n * @returns true if the plugin is compatible with the shader language\r\n */\r\n public override isCompatible(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(material: PBRBaseMaterial, addToPluginList = true) {\r\n super(material, \"PBRIridescence\", 110, new MaterialIridescenceDefines(), addToPluginList);\r\n\r\n this._internalMarkAllSubMeshesAsTexturesDirty = material._dirtyCallbacks[Constants.MATERIAL_TextureDirtyFlag];\r\n }\r\n\r\n /**\r\n * Checks whether the iridescence textures are ready for the sub mesh.\r\n * @param defines defines the material defines to inspect\r\n * @param scene defines the scene to use for readiness checks\r\n * @returns true if iridescence is ready\r\n */\r\n public override isReadyForSubMesh(defines: MaterialIridescenceDefines, scene: Scene): boolean {\r\n if (!this._isEnabled) {\r\n return true;\r\n }\r\n\r\n if (defines._areTexturesDirty) {\r\n if (scene.texturesEnabled) {\r\n if (this._texture && MaterialFlags.IridescenceTextureEnabled) {\r\n if (!this._texture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n\r\n if (this._thicknessTexture && MaterialFlags.IridescenceTextureEnabled) {\r\n if (!this._thicknessTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Updates shader defines for iridescence before attributes are processed.\r\n * @param defines defines the material defines to update\r\n * @param scene defines the scene to use for texture checks\r\n */\r\n public override prepareDefinesBeforeAttributes(defines: MaterialIridescenceDefines, scene: Scene): void {\r\n if (this._isEnabled) {\r\n defines.IRIDESCENCE = true;\r\n\r\n if (defines._areTexturesDirty) {\r\n if (scene.texturesEnabled) {\r\n if (this._texture && MaterialFlags.IridescenceTextureEnabled) {\r\n PrepareDefinesForMergedUV(this._texture, defines, \"IRIDESCENCE_TEXTURE\");\r\n } else {\r\n defines.IRIDESCENCE_TEXTURE = false;\r\n }\r\n\r\n if (this._thicknessTexture && MaterialFlags.IridescenceTextureEnabled) {\r\n PrepareDefinesForMergedUV(this._thicknessTexture, defines, \"IRIDESCENCE_THICKNESS_TEXTURE\");\r\n } else {\r\n defines.IRIDESCENCE_THICKNESS_TEXTURE = false;\r\n }\r\n }\r\n }\r\n } else {\r\n defines.IRIDESCENCE = false;\r\n defines.IRIDESCENCE_TEXTURE = false;\r\n defines.IRIDESCENCE_THICKNESS_TEXTURE = false;\r\n defines.IRIDESCENCE_TEXTUREDIRECTUV = 0;\r\n defines.IRIDESCENCE_THICKNESS_TEXTUREDIRECTUV = 0;\r\n }\r\n }\r\n\r\n /**\r\n * Binds iridescence data for a sub mesh.\r\n * @param uniformBuffer defines the uniform buffer to update\r\n * @param scene defines the scene to use for texture binding\r\n */\r\n public override bindForSubMesh(uniformBuffer: UniformBuffer, scene: Scene): void {\r\n if (!this._isEnabled) {\r\n return;\r\n }\r\n\r\n const isFrozen = this._material.isFrozen;\r\n\r\n if (!uniformBuffer.useUbo || !isFrozen || !uniformBuffer.isSync) {\r\n if ((this._texture || this._thicknessTexture) && MaterialFlags.IridescenceTextureEnabled) {\r\n uniformBuffer.updateFloat4(\r\n \"vIridescenceInfos\",\r\n this._texture?.coordinatesIndex ?? 0,\r\n this._texture?.level ?? 0,\r\n this._thicknessTexture?.coordinatesIndex ?? 0,\r\n this._thicknessTexture?.level ?? 0\r\n );\r\n if (this._texture) {\r\n BindTextureMatrix(this._texture, uniformBuffer, \"iridescence\");\r\n }\r\n if (this._thicknessTexture) {\r\n BindTextureMatrix(this._thicknessTexture, uniformBuffer, \"iridescenceThickness\");\r\n }\r\n }\r\n\r\n // Clear Coat General params\r\n uniformBuffer.updateFloat4(\"vIridescenceParams\", this.intensity, this.indexOfRefraction, this.minimumThickness, this.maximumThickness);\r\n }\r\n\r\n // Textures\r\n if (scene.texturesEnabled) {\r\n if (this._texture && MaterialFlags.IridescenceTextureEnabled) {\r\n uniformBuffer.setTexture(\"iridescenceSampler\", this._texture);\r\n }\r\n\r\n if (this._thicknessTexture && MaterialFlags.IridescenceTextureEnabled) {\r\n uniformBuffer.setTexture(\"iridescenceThicknessSampler\", this._thicknessTexture);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Checks whether iridescence uses a texture.\r\n * @param texture defines the texture to check\r\n * @returns true if the texture is used by iridescence\r\n */\r\n public override hasTexture(texture: BaseTexture): boolean {\r\n if (this._texture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._thicknessTexture === texture) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Adds the active iridescence textures.\r\n * @param activeTextures defines the list of active textures to update\r\n */\r\n public override getActiveTextures(activeTextures: BaseTexture[]): void {\r\n if (this._texture) {\r\n activeTextures.push(this._texture);\r\n }\r\n\r\n if (this._thicknessTexture) {\r\n activeTextures.push(this._thicknessTexture);\r\n }\r\n }\r\n\r\n /**\r\n * Adds the animatable iridescence textures.\r\n * @param animatables defines the list of animatables to update\r\n */\r\n public override getAnimatables(animatables: IAnimatable[]): void {\r\n if (this._texture && this._texture.animations && this._texture.animations.length > 0) {\r\n animatables.push(this._texture);\r\n }\r\n\r\n if (this._thicknessTexture && this._thicknessTexture.animations && this._thicknessTexture.animations.length > 0) {\r\n animatables.push(this._thicknessTexture);\r\n }\r\n }\r\n\r\n /**\r\n * Disposes the iridescence textures.\r\n * @param forceDisposeTextures defines whether to dispose the textures\r\n */\r\n public override dispose(forceDisposeTextures?: boolean): void {\r\n if (forceDisposeTextures) {\r\n this._texture?.dispose();\r\n this._thicknessTexture?.dispose();\r\n }\r\n }\r\n\r\n public override getClassName(): string {\r\n return \"PBRIridescenceConfiguration\";\r\n }\r\n\r\n public override addFallbacks(defines: MaterialIridescenceDefines, fallbacks: EffectFallbacks, currentRank: number): number {\r\n if (defines.IRIDESCENCE) {\r\n fallbacks.addFallback(currentRank++, \"IRIDESCENCE\");\r\n }\r\n return currentRank;\r\n }\r\n\r\n /**\r\n * Adds the iridescence sampler names.\r\n * @param samplers defines the list of sampler names to update\r\n */\r\n public override getSamplers(samplers: string[]): void {\r\n samplers.push(\"iridescenceSampler\", \"iridescenceThicknessSampler\");\r\n }\r\n\r\n public override getUniforms(): { ubo?: Array<{ name: string; size: number; type: string }>; vertex?: string; fragment?: string } {\r\n return {\r\n ubo: [\r\n { name: \"vIridescenceParams\", size: 4, type: \"vec4\" },\r\n { name: \"vIridescenceInfos\", size: 4, type: \"vec4\" },\r\n { name: \"iridescenceMatrix\", size: 16, type: \"mat4\" },\r\n { name: \"iridescenceThicknessMatrix\", size: 16, type: \"mat4\" },\r\n ],\r\n };\r\n }\r\n}\r\n"]}
|
|
@@ -38,82 +38,82 @@ export declare class PBRMaterial extends PBRBaseMaterial {
|
|
|
38
38
|
* Intensity of the direct lights e.g. the four lights available in your scene.
|
|
39
39
|
* This impacts both the direct diffuse and specular highlights.
|
|
40
40
|
*/
|
|
41
|
-
directIntensity: number;
|
|
41
|
+
accessor directIntensity: number;
|
|
42
42
|
/**
|
|
43
43
|
* Intensity of the emissive part of the material.
|
|
44
44
|
* This helps controlling the emissive effect without modifying the emissive color.
|
|
45
45
|
*/
|
|
46
|
-
emissiveIntensity: number;
|
|
46
|
+
accessor emissiveIntensity: number;
|
|
47
47
|
/**
|
|
48
48
|
* Intensity of the environment e.g. how much the environment will light the object
|
|
49
49
|
* either through harmonics for rough material or through the reflection for shiny ones.
|
|
50
50
|
*/
|
|
51
|
-
environmentIntensity: number;
|
|
51
|
+
accessor environmentIntensity: number;
|
|
52
52
|
/**
|
|
53
53
|
* This is a special control allowing the reduction of the specular highlights coming from the
|
|
54
54
|
* four lights of the scene. Those highlights may not be needed in full environment lighting.
|
|
55
55
|
*/
|
|
56
|
-
specularIntensity: number;
|
|
56
|
+
accessor specularIntensity: number;
|
|
57
57
|
/**
|
|
58
58
|
* Debug Control allowing disabling the bump map on this material.
|
|
59
59
|
*/
|
|
60
|
-
disableBumpMap: boolean;
|
|
60
|
+
accessor disableBumpMap: boolean;
|
|
61
61
|
/**
|
|
62
62
|
* AKA Diffuse Texture in standard nomenclature.
|
|
63
63
|
*/
|
|
64
|
-
albedoTexture: Nullable<BaseTexture>;
|
|
64
|
+
accessor albedoTexture: Nullable<BaseTexture>;
|
|
65
65
|
/**
|
|
66
66
|
* OpenPBR Base Weight texture (multiplier to the diffuse and metal lobes).
|
|
67
67
|
*/
|
|
68
|
-
baseWeightTexture: Nullable<BaseTexture>;
|
|
68
|
+
accessor baseWeightTexture: Nullable<BaseTexture>;
|
|
69
69
|
/**
|
|
70
70
|
* OpenPBR Base Diffuse Roughness texture (roughness of the diffuse lobe).
|
|
71
71
|
*/
|
|
72
|
-
baseDiffuseRoughnessTexture: Nullable<BaseTexture>;
|
|
72
|
+
accessor baseDiffuseRoughnessTexture: Nullable<BaseTexture>;
|
|
73
73
|
/**
|
|
74
74
|
* AKA Occlusion Texture in other nomenclature.
|
|
75
75
|
*/
|
|
76
|
-
ambientTexture: Nullable<BaseTexture>;
|
|
76
|
+
accessor ambientTexture: Nullable<BaseTexture>;
|
|
77
77
|
/**
|
|
78
78
|
* AKA Occlusion Texture Intensity in other nomenclature.
|
|
79
79
|
*/
|
|
80
|
-
ambientTextureStrength: number;
|
|
80
|
+
accessor ambientTextureStrength: number;
|
|
81
81
|
/**
|
|
82
82
|
* Defines how much the AO map is occluding the analytical lights (point spot...).
|
|
83
83
|
* 1 means it completely occludes it
|
|
84
84
|
* 0 mean it has no impact
|
|
85
85
|
*/
|
|
86
|
-
ambientTextureImpactOnAnalyticalLights: number;
|
|
86
|
+
accessor ambientTextureImpactOnAnalyticalLights: number;
|
|
87
87
|
/**
|
|
88
88
|
* Stores the alpha values in a texture. Use luminance if texture.getAlphaFromRGB is true.
|
|
89
89
|
*/
|
|
90
|
-
opacityTexture: Nullable<BaseTexture>;
|
|
90
|
+
accessor opacityTexture: Nullable<BaseTexture>;
|
|
91
91
|
/**
|
|
92
92
|
* Stores the reflection values in a texture.
|
|
93
93
|
*/
|
|
94
|
-
reflectionTexture: Nullable<BaseTexture>;
|
|
94
|
+
accessor reflectionTexture: Nullable<BaseTexture>;
|
|
95
95
|
/**
|
|
96
96
|
* Stores the emissive values in a texture.
|
|
97
97
|
*/
|
|
98
|
-
emissiveTexture: Nullable<BaseTexture>;
|
|
98
|
+
accessor emissiveTexture: Nullable<BaseTexture>;
|
|
99
99
|
/**
|
|
100
100
|
* AKA Specular texture in other nomenclature.
|
|
101
101
|
*/
|
|
102
|
-
reflectivityTexture: Nullable<BaseTexture>;
|
|
102
|
+
accessor reflectivityTexture: Nullable<BaseTexture>;
|
|
103
103
|
/**
|
|
104
104
|
* Used to switch from specular/glossiness to metallic/roughness workflow.
|
|
105
105
|
*/
|
|
106
|
-
metallicTexture: Nullable<BaseTexture>;
|
|
106
|
+
accessor metallicTexture: Nullable<BaseTexture>;
|
|
107
107
|
/**
|
|
108
108
|
* Specifies the metallic scalar of the metallic/roughness workflow.
|
|
109
109
|
* Can also be used to scale the metalness values of the metallic texture.
|
|
110
110
|
*/
|
|
111
|
-
metallic: Nullable<number>;
|
|
111
|
+
accessor metallic: Nullable<number>;
|
|
112
112
|
/**
|
|
113
113
|
* Specifies the roughness scalar of the metallic/roughness workflow.
|
|
114
114
|
* Can also be used to scale the roughness values of the metallic texture.
|
|
115
115
|
*/
|
|
116
|
-
roughness: Nullable<number>;
|
|
116
|
+
accessor roughness: Nullable<number>;
|
|
117
117
|
/**
|
|
118
118
|
* In metallic workflow, specifies an F0 factor to help configuring the material F0.
|
|
119
119
|
* By default the indexOfrefraction is used to compute F0;
|
|
@@ -123,7 +123,7 @@ export declare class PBRMaterial extends PBRBaseMaterial {
|
|
|
123
123
|
* F0 = defaultF0 * metallicF0Factor * metallicReflectanceColor;
|
|
124
124
|
* F90 = metallicReflectanceColor;
|
|
125
125
|
*/
|
|
126
|
-
metallicF0Factor: number;
|
|
126
|
+
accessor metallicF0Factor: number;
|
|
127
127
|
/**
|
|
128
128
|
* In metallic workflow, specifies an F0 color.
|
|
129
129
|
* By default the F90 is always 1;
|
|
@@ -133,38 +133,38 @@ export declare class PBRMaterial extends PBRBaseMaterial {
|
|
|
133
133
|
* F0 = defaultF0_from_IOR * metallicF0Factor * metallicReflectanceColor
|
|
134
134
|
* F90 = metallicF0Factor;
|
|
135
135
|
*/
|
|
136
|
-
metallicReflectanceColor: Color3;
|
|
136
|
+
accessor metallicReflectanceColor: Color3;
|
|
137
137
|
/**
|
|
138
138
|
* Specifies that only the A channel from metallicReflectanceTexture should be used.
|
|
139
139
|
* If false, both RGB and A channels will be used
|
|
140
140
|
*/
|
|
141
|
-
useOnlyMetallicFromMetallicReflectanceTexture: boolean;
|
|
141
|
+
accessor useOnlyMetallicFromMetallicReflectanceTexture: boolean;
|
|
142
142
|
/**
|
|
143
143
|
* Defines to store metallicReflectanceColor in RGB and metallicF0Factor in A
|
|
144
144
|
* This is multiplied against the scalar values defined in the material.
|
|
145
145
|
* If useOnlyMetallicFromMetallicReflectanceTexture is true, don't use the RGB channels, only A
|
|
146
146
|
*/
|
|
147
|
-
metallicReflectanceTexture: Nullable<BaseTexture>;
|
|
147
|
+
accessor metallicReflectanceTexture: Nullable<BaseTexture>;
|
|
148
148
|
/**
|
|
149
149
|
* Defines to store reflectanceColor in RGB
|
|
150
150
|
* This is multiplied against the scalar values defined in the material.
|
|
151
151
|
* If both reflectanceTexture and metallicReflectanceTexture textures are provided and useOnlyMetallicFromMetallicReflectanceTexture
|
|
152
152
|
* is false, metallicReflectanceTexture takes priority and reflectanceTexture is not used
|
|
153
153
|
*/
|
|
154
|
-
reflectanceTexture: Nullable<BaseTexture>;
|
|
154
|
+
accessor reflectanceTexture: Nullable<BaseTexture>;
|
|
155
155
|
/**
|
|
156
156
|
* Used to enable roughness/glossiness fetch from a separate channel depending on the current mode.
|
|
157
157
|
* Gray Scale represents roughness in metallic mode and glossiness in specular mode.
|
|
158
158
|
*/
|
|
159
|
-
microSurfaceTexture: Nullable<BaseTexture>;
|
|
159
|
+
accessor microSurfaceTexture: Nullable<BaseTexture>;
|
|
160
160
|
/**
|
|
161
161
|
* Stores surface normal data used to displace a mesh in a texture.
|
|
162
162
|
*/
|
|
163
|
-
bumpTexture: Nullable<BaseTexture>;
|
|
163
|
+
accessor bumpTexture: Nullable<BaseTexture>;
|
|
164
164
|
/**
|
|
165
165
|
* Stores the pre-calculated light information of a mesh in a texture.
|
|
166
166
|
*/
|
|
167
|
-
lightmapTexture: Nullable<BaseTexture>;
|
|
167
|
+
accessor lightmapTexture: Nullable<BaseTexture>;
|
|
168
168
|
/**
|
|
169
169
|
* Stores the refracted light information in a texture.
|
|
170
170
|
*/
|
|
@@ -173,35 +173,35 @@ export declare class PBRMaterial extends PBRBaseMaterial {
|
|
|
173
173
|
/**
|
|
174
174
|
* The color of a material in ambient lighting.
|
|
175
175
|
*/
|
|
176
|
-
ambientColor: Color3;
|
|
176
|
+
accessor ambientColor: Color3;
|
|
177
177
|
/**
|
|
178
178
|
* AKA Diffuse Color in other nomenclature.
|
|
179
179
|
*/
|
|
180
|
-
albedoColor: Color3;
|
|
180
|
+
accessor albedoColor: Color3;
|
|
181
181
|
/**
|
|
182
182
|
* OpenPBR Base Weight (multiplier to the diffuse and metal lobes).
|
|
183
183
|
*/
|
|
184
|
-
baseWeight: number;
|
|
184
|
+
accessor baseWeight: number;
|
|
185
185
|
/**
|
|
186
186
|
* OpenPBR Base Diffuse Roughness (roughness of the diffuse lobe).
|
|
187
187
|
*/
|
|
188
|
-
baseDiffuseRoughness: Nullable<number>;
|
|
188
|
+
accessor baseDiffuseRoughness: Nullable<number>;
|
|
189
189
|
/**
|
|
190
190
|
* AKA Specular Color in other nomenclature.
|
|
191
191
|
*/
|
|
192
|
-
reflectivityColor: Color3;
|
|
192
|
+
accessor reflectivityColor: Color3;
|
|
193
193
|
/**
|
|
194
194
|
* The color reflected from the material.
|
|
195
195
|
*/
|
|
196
|
-
reflectionColor: Color3;
|
|
196
|
+
accessor reflectionColor: Color3;
|
|
197
197
|
/**
|
|
198
198
|
* The color emitted from the material.
|
|
199
199
|
*/
|
|
200
|
-
emissiveColor: Color3;
|
|
200
|
+
accessor emissiveColor: Color3;
|
|
201
201
|
/**
|
|
202
202
|
* AKA Glossiness in other nomenclature.
|
|
203
203
|
*/
|
|
204
|
-
microSurface: number;
|
|
204
|
+
accessor microSurface: number;
|
|
205
205
|
/**
|
|
206
206
|
* Index of refraction of the material base layer.
|
|
207
207
|
* https://en.wikipedia.org/wiki/List_of_refractive_indices
|
|
@@ -226,54 +226,54 @@ export declare class PBRMaterial extends PBRBaseMaterial {
|
|
|
226
226
|
/**
|
|
227
227
|
* If true, the light map contains occlusion information instead of lighting info.
|
|
228
228
|
*/
|
|
229
|
-
useLightmapAsShadowmap: boolean;
|
|
229
|
+
accessor useLightmapAsShadowmap: boolean;
|
|
230
230
|
/**
|
|
231
231
|
* Specifies that the alpha is coming form the albedo channel alpha channel for alpha blending.
|
|
232
232
|
*/
|
|
233
|
-
useAlphaFromAlbedoTexture: boolean;
|
|
233
|
+
accessor useAlphaFromAlbedoTexture: boolean;
|
|
234
234
|
/**
|
|
235
235
|
* Enforces alpha test in opaque or blend mode in order to improve the performances of some situations.
|
|
236
236
|
*/
|
|
237
|
-
forceAlphaTest: boolean;
|
|
237
|
+
accessor forceAlphaTest: boolean;
|
|
238
238
|
/**
|
|
239
239
|
* Defines the alpha limits in alpha test mode.
|
|
240
240
|
*/
|
|
241
|
-
alphaCutOff: number;
|
|
241
|
+
accessor alphaCutOff: number;
|
|
242
242
|
/**
|
|
243
243
|
* Specifies that the material will keep the specular highlights over a transparent surface (only the most luminous ones).
|
|
244
244
|
* A car glass is a good example of that. When sun reflects on it you can not see what is behind.
|
|
245
245
|
*/
|
|
246
|
-
useSpecularOverAlpha: boolean;
|
|
246
|
+
accessor useSpecularOverAlpha: boolean;
|
|
247
247
|
/**
|
|
248
248
|
* Specifies if the reflectivity texture contains the glossiness information in its alpha channel.
|
|
249
249
|
*/
|
|
250
|
-
useMicroSurfaceFromReflectivityMapAlpha: boolean;
|
|
250
|
+
accessor useMicroSurfaceFromReflectivityMapAlpha: boolean;
|
|
251
251
|
/**
|
|
252
252
|
* Specifies if the metallic texture contains the roughness information in its alpha channel.
|
|
253
253
|
*/
|
|
254
|
-
useRoughnessFromMetallicTextureAlpha: boolean;
|
|
254
|
+
accessor useRoughnessFromMetallicTextureAlpha: boolean;
|
|
255
255
|
/**
|
|
256
256
|
* Specifies if the metallic texture contains the roughness information in its green channel.
|
|
257
257
|
* Needs useRoughnessFromMetallicTextureAlpha to be false.
|
|
258
258
|
*/
|
|
259
|
-
useRoughnessFromMetallicTextureGreen: boolean;
|
|
259
|
+
accessor useRoughnessFromMetallicTextureGreen: boolean;
|
|
260
260
|
/**
|
|
261
261
|
* Specifies if the metallic texture contains the metallness information in its blue channel.
|
|
262
262
|
*/
|
|
263
|
-
useMetallnessFromMetallicTextureBlue: boolean;
|
|
263
|
+
accessor useMetallnessFromMetallicTextureBlue: boolean;
|
|
264
264
|
/**
|
|
265
265
|
* Specifies if the metallic texture contains the ambient occlusion information in its red channel.
|
|
266
266
|
*/
|
|
267
|
-
useAmbientOcclusionFromMetallicTextureRed: boolean;
|
|
267
|
+
accessor useAmbientOcclusionFromMetallicTextureRed: boolean;
|
|
268
268
|
/**
|
|
269
269
|
* Specifies if the ambient texture contains the ambient occlusion information in its red channel only.
|
|
270
270
|
*/
|
|
271
|
-
useAmbientInGrayScale: boolean;
|
|
271
|
+
accessor useAmbientInGrayScale: boolean;
|
|
272
272
|
/**
|
|
273
273
|
* In case the reflectivity map does not contain the microsurface information in its alpha channel,
|
|
274
274
|
* The material will try to infer what glossiness each pixel should be.
|
|
275
275
|
*/
|
|
276
|
-
useAutoMicroSurfaceFromReflectivityMap: boolean;
|
|
276
|
+
accessor useAutoMicroSurfaceFromReflectivityMap: boolean;
|
|
277
277
|
/**
|
|
278
278
|
* BJS is using an hardcoded light falloff based on a manually sets up range.
|
|
279
279
|
* In PBR, one way to represents the falloff is to use the inverse squared root algorithm.
|
|
@@ -300,57 +300,57 @@ export declare class PBRMaterial extends PBRBaseMaterial {
|
|
|
300
300
|
* Specifies that the material will keeps the reflection highlights over a transparent surface (only the most luminous ones).
|
|
301
301
|
* A car glass is a good example of that. When the street lights reflects on it you can not see what is behind.
|
|
302
302
|
*/
|
|
303
|
-
useRadianceOverAlpha: boolean;
|
|
303
|
+
accessor useRadianceOverAlpha: boolean;
|
|
304
304
|
/**
|
|
305
305
|
* Allows using an object space normal map (instead of tangent space).
|
|
306
306
|
*/
|
|
307
|
-
useObjectSpaceNormalMap: boolean;
|
|
307
|
+
accessor useObjectSpaceNormalMap: boolean;
|
|
308
308
|
/**
|
|
309
309
|
* Allows using the bump map in parallax mode.
|
|
310
310
|
*/
|
|
311
|
-
useParallax: boolean;
|
|
311
|
+
accessor useParallax: boolean;
|
|
312
312
|
/**
|
|
313
313
|
* Allows using the bump map in parallax occlusion mode.
|
|
314
314
|
*/
|
|
315
|
-
useParallaxOcclusion: boolean;
|
|
315
|
+
accessor useParallaxOcclusion: boolean;
|
|
316
316
|
/**
|
|
317
317
|
* Controls the scale bias of the parallax mode.
|
|
318
318
|
*/
|
|
319
|
-
parallaxScaleBias: number;
|
|
319
|
+
accessor parallaxScaleBias: number;
|
|
320
320
|
/**
|
|
321
321
|
* If sets to true, disables all the lights affecting the material.
|
|
322
322
|
*/
|
|
323
|
-
disableLighting: boolean;
|
|
323
|
+
accessor disableLighting: boolean;
|
|
324
324
|
/**
|
|
325
325
|
* Force the shader to compute irradiance in the fragment shader in order to take bump in account.
|
|
326
326
|
*/
|
|
327
|
-
forceIrradianceInFragment: boolean;
|
|
327
|
+
accessor forceIrradianceInFragment: boolean;
|
|
328
328
|
/**
|
|
329
329
|
* Number of Simultaneous lights allowed on the material.
|
|
330
330
|
*/
|
|
331
|
-
maxSimultaneousLights: number;
|
|
331
|
+
accessor maxSimultaneousLights: number;
|
|
332
332
|
/**
|
|
333
333
|
* If sets to true, x component of normal map value will invert (x = 1.0 - x).
|
|
334
334
|
*/
|
|
335
|
-
invertNormalMapX: boolean;
|
|
335
|
+
accessor invertNormalMapX: boolean;
|
|
336
336
|
/**
|
|
337
337
|
* If sets to true, y component of normal map value will invert (y = 1.0 - y).
|
|
338
338
|
*/
|
|
339
|
-
invertNormalMapY: boolean;
|
|
339
|
+
accessor invertNormalMapY: boolean;
|
|
340
340
|
/**
|
|
341
341
|
* If sets to true and backfaceCulling is false, normals will be flipped on the backside.
|
|
342
342
|
*/
|
|
343
|
-
twoSidedLighting: boolean;
|
|
343
|
+
accessor twoSidedLighting: boolean;
|
|
344
344
|
/**
|
|
345
345
|
* A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested.
|
|
346
346
|
* And/Or occlude the blended part. (alpha is converted to gamma to compute the fresnel)
|
|
347
347
|
*/
|
|
348
|
-
useAlphaFresnel: boolean;
|
|
348
|
+
accessor useAlphaFresnel: boolean;
|
|
349
349
|
/**
|
|
350
350
|
* A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested.
|
|
351
351
|
* And/Or occlude the blended part. (alpha stays linear to compute the fresnel)
|
|
352
352
|
*/
|
|
353
|
-
useLinearAlphaFresnel: boolean;
|
|
353
|
+
accessor useLinearAlphaFresnel: boolean;
|
|
354
354
|
/**
|
|
355
355
|
* Let user defines the brdf lookup texture used for IBL.
|
|
356
356
|
* A default 8bit version is embedded but you could point at :
|
|
@@ -359,35 +359,35 @@ export declare class PBRMaterial extends PBRBaseMaterial {
|
|
|
359
359
|
* * LEGACY Default None correlated https://assets.babylonjs.com/environments/uncorrelatedBRDF_RGBD.png
|
|
360
360
|
* * LEGACY Default None correlated 16bit pixel depth https://assets.babylonjs.com/environments/uncorrelatedBRDF.dds
|
|
361
361
|
*/
|
|
362
|
-
environmentBRDFTexture: Nullable<BaseTexture>;
|
|
362
|
+
accessor environmentBRDFTexture: Nullable<BaseTexture>;
|
|
363
363
|
/**
|
|
364
364
|
* Force normal to face away from face.
|
|
365
365
|
*/
|
|
366
|
-
forceNormalForward: boolean;
|
|
366
|
+
accessor forceNormalForward: boolean;
|
|
367
367
|
/**
|
|
368
368
|
* Enables specular anti aliasing in the PBR shader.
|
|
369
369
|
* It will both interacts on the Geometry for analytical and IBL lighting.
|
|
370
370
|
* It also prefilter the roughness map based on the bump values.
|
|
371
371
|
*/
|
|
372
|
-
enableSpecularAntiAliasing: boolean;
|
|
372
|
+
accessor enableSpecularAntiAliasing: boolean;
|
|
373
373
|
/**
|
|
374
374
|
* This parameters will enable/disable Horizon occlusion to prevent normal maps to look shiny when the normal
|
|
375
375
|
* makes the reflect vector face the model (under horizon).
|
|
376
376
|
*/
|
|
377
|
-
useHorizonOcclusion: boolean;
|
|
377
|
+
accessor useHorizonOcclusion: boolean;
|
|
378
378
|
/**
|
|
379
379
|
* This parameters will enable/disable radiance occlusion by preventing the radiance to lit
|
|
380
380
|
* too much the area relying on ambient texture to define their ambient occlusion.
|
|
381
381
|
*/
|
|
382
|
-
useRadianceOcclusion: boolean;
|
|
382
|
+
accessor useRadianceOcclusion: boolean;
|
|
383
383
|
/**
|
|
384
384
|
* If set to true, no lighting calculations will be applied.
|
|
385
385
|
*/
|
|
386
|
-
unlit: boolean;
|
|
386
|
+
accessor unlit: boolean;
|
|
387
387
|
/**
|
|
388
388
|
* If sets to true, the decal map will be applied after the detail map. Else, it is applied before (default: false)
|
|
389
389
|
*/
|
|
390
|
-
applyDecalMapAfterDetailMap: boolean;
|
|
390
|
+
accessor applyDecalMapAfterDetailMap: boolean;
|
|
391
391
|
/**
|
|
392
392
|
* Instantiates a new PBRMaterial instance.
|
|
393
393
|
*
|