@babylonjs/core 7.42.0 → 7.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Animations/animation.js +1 -1
- package/Animations/animation.js.map +1 -1
- package/Culling/Helper/computeShaderBoundingHelper.js +3 -4
- package/Culling/Helper/computeShaderBoundingHelper.js.map +1 -1
- package/Culling/Helper/transformFeedbackBoundingHelper.js +27 -64
- package/Culling/Helper/transformFeedbackBoundingHelper.js.map +1 -1
- package/Engines/Extensions/engine.multiRender.js +3 -2
- package/Engines/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +1 -0
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js +5 -0
- package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureManager.js +6 -1
- package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.d.ts +64 -0
- package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.js +147 -0
- package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +0 -15
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.d.ts +4 -0
- package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.js +9 -0
- package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.d.ts +1 -6
- package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.js +0 -13
- package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/shadowGeneratorBlock.js +0 -1
- package/FrameGraph/Node/Blocks/Rendering/shadowGeneratorBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/index.d.ts +1 -0
- package/FrameGraph/Node/Blocks/index.js +1 -0
- package/FrameGraph/Node/Blocks/index.js.map +1 -1
- package/FrameGraph/Node/nodeRenderGraphBlock.js +17 -0
- package/FrameGraph/Node/nodeRenderGraphBlock.js.map +1 -1
- package/FrameGraph/Passes/renderPass.d.ts +0 -8
- package/FrameGraph/Passes/renderPass.js +0 -10
- package/FrameGraph/Passes/renderPass.js.map +1 -1
- package/FrameGraph/Tasks/Layers/glowLayerTask.d.ts +57 -0
- package/FrameGraph/Tasks/Layers/glowLayerTask.js +173 -0
- package/FrameGraph/Tasks/Layers/glowLayerTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/bloomMergeTask.js +1 -1
- package/FrameGraph/Tasks/PostProcesses/bloomMergeTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/bloomTask.js +7 -0
- package/FrameGraph/Tasks/PostProcesses/bloomTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/circleOfConfusionTask.js +1 -1
- package/FrameGraph/Tasks/PostProcesses/circleOfConfusionTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.js +1 -1
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldMergeTask.js +5 -5
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldMergeTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.js +12 -4
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.js.map +1 -1
- package/FrameGraph/Tasks/PostProcesses/postProcessTask.js +1 -1
- package/FrameGraph/Tasks/PostProcesses/postProcessTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.d.ts +0 -8
- package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.js +1 -17
- package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.js +3 -0
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +4 -6
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js +20 -22
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.d.ts +7 -1
- package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.js +21 -5
- package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js +4 -6
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Texture/copyToTextureTask.js +1 -1
- package/FrameGraph/Tasks/Texture/copyToTextureTask.js.map +1 -1
- package/FrameGraph/frameGraph.js +22 -11
- package/FrameGraph/frameGraph.js.map +1 -1
- package/FrameGraph/frameGraphRenderContext.d.ts +2 -1
- package/FrameGraph/frameGraphRenderContext.js +2 -1
- package/FrameGraph/frameGraphRenderContext.js.map +1 -1
- package/FrameGraph/frameGraphTask.d.ts +11 -1
- package/FrameGraph/frameGraphTask.js +8 -0
- package/FrameGraph/frameGraphTask.js.map +1 -1
- package/FrameGraph/frameGraphTextureManager.d.ts +8 -2
- package/FrameGraph/frameGraphTextureManager.js +10 -4
- package/FrameGraph/frameGraphTextureManager.js.map +1 -1
- package/FrameGraph/index.d.ts +1 -0
- package/FrameGraph/index.js +1 -0
- package/FrameGraph/index.js.map +1 -1
- package/Layers/effectLayer.d.ts +32 -33
- package/Layers/effectLayer.js +144 -530
- package/Layers/effectLayer.js.map +1 -1
- package/Layers/glowLayer.d.ts +14 -41
- package/Layers/glowLayer.js +92 -178
- package/Layers/glowLayer.js.map +1 -1
- package/Layers/highlightLayer.d.ts +0 -1
- package/Layers/highlightLayer.js +0 -1
- package/Layers/highlightLayer.js.map +1 -1
- package/Layers/index.d.ts +2 -0
- package/Layers/index.js +2 -0
- package/Layers/index.js.map +1 -1
- package/Layers/thinEffectLayer.d.ts +230 -0
- package/Layers/thinEffectLayer.js +734 -0
- package/Layers/thinEffectLayer.js.map +1 -0
- package/Layers/thinGlowLayer.d.ts +141 -0
- package/Layers/thinGlowLayer.js +292 -0
- package/Layers/thinGlowLayer.js.map +1 -0
- package/Lights/Shadows/shadowGenerator.js +40 -19
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Materials/GreasedLine/greasedLinePluginMaterialShadersGLSL.js +17 -11
- package/Materials/GreasedLine/greasedLinePluginMaterialShadersGLSL.js.map +1 -1
- package/Materials/GreasedLine/greasedLinePluginMaterialShadersWGSL.js +18 -12
- package/Materials/GreasedLine/greasedLinePluginMaterialShadersWGSL.js.map +1 -1
- package/Materials/Node/Blocks/Input/inputBlock.js +34 -2
- package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js +34 -24
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +10 -0
- package/Materials/Node/nodeMaterial.js +12 -0
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.d.ts +5 -0
- package/Materials/PBR/pbrBaseMaterial.js +5 -0
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/Textures/renderTargetTexture.d.ts +12 -0
- package/Materials/Textures/renderTargetTexture.js +29 -8
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/materialHelper.functions.d.ts +17 -1
- package/Materials/materialHelper.functions.js +76 -4
- package/Materials/materialHelper.functions.js.map +1 -1
- package/Materials/shaderMaterial.d.ts +5 -4
- package/Materials/shaderMaterial.js +28 -51
- package/Materials/shaderMaterial.js.map +1 -1
- package/Materials/standardMaterial.d.ts +5 -0
- package/Materials/standardMaterial.js +5 -0
- package/Materials/standardMaterial.js.map +1 -1
- package/Meshes/Builders/greasedLineBuilder.d.ts +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +22 -22
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
- package/Meshes/GreasedLine/greasedLineBaseMesh.js +1 -0
- package/Meshes/GreasedLine/greasedLineBaseMesh.js.map +1 -1
- package/Meshes/abstractMesh.d.ts +1 -2
- package/Meshes/abstractMesh.js +1 -2
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/linesMesh.js +2 -2
- package/Meshes/linesMesh.js.map +1 -1
- package/Meshes/mesh.d.ts +30 -3
- package/Meshes/mesh.js +56 -29
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/subMesh.js +16 -3
- package/Meshes/subMesh.js.map +1 -1
- package/Misc/fileTools.js +14 -7
- package/Misc/fileTools.js.map +1 -1
- package/Morph/morphTargetManager.d.ts +20 -0
- package/Morph/morphTargetManager.js +31 -1
- package/Morph/morphTargetManager.js.map +1 -1
- package/PostProcesses/volumetricLightScatteringPostProcess.js +15 -16
- package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
- package/Rendering/depthRenderer.js +13 -15
- package/Rendering/depthRenderer.js.map +1 -1
- package/Rendering/geometryBufferRenderer.js +13 -15
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/objectRenderer.d.ts +9 -2
- package/Rendering/objectRenderer.js +44 -7
- package/Rendering/objectRenderer.js.map +1 -1
- package/Rendering/outlineRenderer.js +13 -15
- package/Rendering/outlineRenderer.js.map +1 -1
- package/Shaders/ShadersInclude/morphTargetsVertex.js +16 -4
- package/Shaders/ShadersInclude/morphTargetsVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +17 -5
- package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js.map +1 -1
- package/assetContainer.d.ts +43 -0
- package/assetContainer.js +67 -0
- package/assetContainer.js.map +1 -1
- package/package.json +1 -1
- package/scene.js +10 -3
- package/scene.js.map +1 -1
|
@@ -11,7 +11,7 @@ import { PushMaterial } from "./pushMaterial.js";
|
|
|
11
11
|
import { EngineStore } from "../Engines/engineStore.js";
|
|
12
12
|
|
|
13
13
|
import { addClipPlaneUniforms, bindClipPlane, prepareStringDefinesForClipPlanes } from "./clipPlaneMaterialHelper.js";
|
|
14
|
-
import { BindBonesParameters, BindFogParameters, BindLogDepth, BindMorphTargetParameters, BindSceneUniformBuffer, PrepareAttributesForBakedVertexAnimation, PushAttributesForInstances, } from "./materialHelper.functions.js";
|
|
14
|
+
import { BindBonesParameters, BindFogParameters, BindLogDepth, BindMorphTargetParameters, BindSceneUniformBuffer, PrepareAttributesForBakedVertexAnimation, PrepareDefinesAndAttributesForMorphTargets, PushAttributesForInstances, } from "./materialHelper.functions.js";
|
|
15
15
|
const onCreatedEffectParameters = { effect: null, subMesh: null };
|
|
16
16
|
/**
|
|
17
17
|
* The ShaderMaterial object has the necessary methods to pass data from your scene to the Vertex and Fragment Shaders and returns a material that can be applied to any mesh.
|
|
@@ -510,7 +510,7 @@ export class ShaderMaterial extends PushMaterial {
|
|
|
510
510
|
// Instances
|
|
511
511
|
const defines = [];
|
|
512
512
|
const attribs = [];
|
|
513
|
-
|
|
513
|
+
let fallbacks = null;
|
|
514
514
|
let shaderName = this._shaderPath, uniforms = this._options.uniforms, uniformBuffers = this._options.uniformBuffers, samplers = this._options.samplers;
|
|
515
515
|
// global multiview
|
|
516
516
|
if (engine.getCaps().multiview && scene.activeCamera && scene.activeCamera.outputRenderTarget && scene.activeCamera.outputRenderTarget.getViewCount() > 1) {
|
|
@@ -554,6 +554,7 @@ export class ShaderMaterial extends PushMaterial {
|
|
|
554
554
|
}
|
|
555
555
|
const skeleton = mesh.skeleton;
|
|
556
556
|
defines.push("#define NUM_BONE_INFLUENCERS " + mesh.numBoneInfluencers);
|
|
557
|
+
fallbacks = new EffectFallbacks();
|
|
557
558
|
fallbacks.addCPUSkinningFallback(0, mesh);
|
|
558
559
|
if (skeleton.isUsingTextureForMatrices) {
|
|
559
560
|
defines.push("#define BONETEXTURE");
|
|
@@ -578,32 +579,17 @@ export class ShaderMaterial extends PushMaterial {
|
|
|
578
579
|
let numInfluencers = 0;
|
|
579
580
|
const manager = mesh ? mesh.morphTargetManager : null;
|
|
580
581
|
if (manager) {
|
|
581
|
-
const uv =
|
|
582
|
-
const uv2 =
|
|
583
|
-
const tangent =
|
|
584
|
-
const normal =
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
defines.push("#define MORPHTARGETS_UV2");
|
|
592
|
-
}
|
|
593
|
-
if (tangent) {
|
|
594
|
-
defines.push("#define MORPHTARGETS_TANGENT");
|
|
595
|
-
}
|
|
596
|
-
if (normal) {
|
|
597
|
-
defines.push("#define MORPHTARGETS_NORMAL");
|
|
598
|
-
}
|
|
599
|
-
if (position) {
|
|
600
|
-
defines.push("#define MORPHTARGETS_POSITION");
|
|
601
|
-
}
|
|
602
|
-
if (numInfluencers > 0) {
|
|
603
|
-
defines.push("#define MORPHTARGETS");
|
|
604
|
-
}
|
|
582
|
+
const uv = defines.indexOf("#define UV1") !== -1;
|
|
583
|
+
const uv2 = defines.indexOf("#define UV2") !== -1;
|
|
584
|
+
const tangent = defines.indexOf("#define TANGENT") !== -1;
|
|
585
|
+
const normal = defines.indexOf("#define NORMAL") !== -1;
|
|
586
|
+
numInfluencers = PrepareDefinesAndAttributesForMorphTargets(manager, defines, attribs, mesh, true, // usePositionMorph
|
|
587
|
+
normal, // useNormalMorph
|
|
588
|
+
tangent, // useTangentMorph
|
|
589
|
+
uv, // useUVMorph
|
|
590
|
+
uv2 // useUV2Morph
|
|
591
|
+
);
|
|
605
592
|
if (manager.isUsingTextureForTargets) {
|
|
606
|
-
defines.push("#define MORPHTARGETS_TEXTURE");
|
|
607
593
|
if (uniforms.indexOf("morphTargetTextureIndices") === -1) {
|
|
608
594
|
uniforms.push("morphTargetTextureIndices");
|
|
609
595
|
}
|
|
@@ -611,19 +597,6 @@ export class ShaderMaterial extends PushMaterial {
|
|
|
611
597
|
this._options.samplers.push("morphTargets");
|
|
612
598
|
}
|
|
613
599
|
}
|
|
614
|
-
defines.push("#define NUM_MORPH_INFLUENCERS " + numInfluencers);
|
|
615
|
-
for (let index = 0; index < numInfluencers; index++) {
|
|
616
|
-
attribs.push(VertexBuffer.PositionKind + index);
|
|
617
|
-
if (normal) {
|
|
618
|
-
attribs.push(VertexBuffer.NormalKind + index);
|
|
619
|
-
}
|
|
620
|
-
if (tangent) {
|
|
621
|
-
attribs.push(VertexBuffer.TangentKind + index);
|
|
622
|
-
}
|
|
623
|
-
if (uv) {
|
|
624
|
-
attribs.push(VertexBuffer.UVKind + "_" + index);
|
|
625
|
-
}
|
|
626
|
-
}
|
|
627
600
|
if (numInfluencers > 0) {
|
|
628
601
|
uniforms = uniforms.slice();
|
|
629
602
|
uniforms.push("morphTargetInfluences");
|
|
@@ -743,23 +716,24 @@ export class ShaderMaterial extends PushMaterial {
|
|
|
743
716
|
* @param effectOverride - If provided, use this effect instead of internal effect
|
|
744
717
|
*/
|
|
745
718
|
bindOnlyWorldMatrix(world, effectOverride) {
|
|
746
|
-
const scene = this.getScene();
|
|
747
719
|
const effect = effectOverride ?? this.getEffect();
|
|
748
720
|
if (!effect) {
|
|
749
721
|
return;
|
|
750
722
|
}
|
|
751
|
-
|
|
723
|
+
const uniforms = this._options.uniforms;
|
|
724
|
+
if (uniforms.indexOf("world") !== -1) {
|
|
752
725
|
effect.setMatrix("world", world);
|
|
753
726
|
}
|
|
754
|
-
|
|
727
|
+
const scene = this.getScene();
|
|
728
|
+
if (uniforms.indexOf("worldView") !== -1) {
|
|
755
729
|
world.multiplyToRef(scene.getViewMatrix(), this._cachedWorldViewMatrix);
|
|
756
730
|
effect.setMatrix("worldView", this._cachedWorldViewMatrix);
|
|
757
731
|
}
|
|
758
|
-
if (
|
|
732
|
+
if (uniforms.indexOf("worldViewProjection") !== -1) {
|
|
759
733
|
world.multiplyToRef(scene.getTransformMatrix(), this._cachedWorldViewProjectionMatrix);
|
|
760
734
|
effect.setMatrix("worldViewProjection", this._cachedWorldViewProjectionMatrix);
|
|
761
735
|
}
|
|
762
|
-
if (
|
|
736
|
+
if (uniforms.indexOf("view") !== -1) {
|
|
763
737
|
effect.setMatrix("view", scene.getViewMatrix());
|
|
764
738
|
}
|
|
765
739
|
}
|
|
@@ -960,9 +934,9 @@ export class ShaderMaterial extends PushMaterial {
|
|
|
960
934
|
}
|
|
961
935
|
if (effect && mesh && (mustRebind || !this.isFrozen)) {
|
|
962
936
|
// Morph targets
|
|
963
|
-
|
|
964
|
-
if (
|
|
965
|
-
|
|
937
|
+
BindMorphTargetParameters(mesh, effect);
|
|
938
|
+
if (mesh.morphTargetManager && mesh.morphTargetManager.isUsingTextureForTargets) {
|
|
939
|
+
mesh.morphTargetManager._bind(effect);
|
|
966
940
|
}
|
|
967
941
|
const bvaManager = mesh.bakedVertexAnimationManager;
|
|
968
942
|
if (bvaManager && bvaManager.isEnabled) {
|
|
@@ -1235,17 +1209,20 @@ export class ShaderMaterial extends PushMaterial {
|
|
|
1235
1209
|
// Vector2
|
|
1236
1210
|
serializationObject.vectors2 = {};
|
|
1237
1211
|
for (name in this._vectors2) {
|
|
1238
|
-
|
|
1212
|
+
const v2 = this._vectors2[name];
|
|
1213
|
+
serializationObject.vectors2[name] = [v2.x, v2.y];
|
|
1239
1214
|
}
|
|
1240
1215
|
// Vector3
|
|
1241
1216
|
serializationObject.vectors3 = {};
|
|
1242
1217
|
for (name in this._vectors3) {
|
|
1243
|
-
|
|
1218
|
+
const v3 = this._vectors3[name];
|
|
1219
|
+
serializationObject.vectors3[name] = [v3.x, v3.y, v3.z];
|
|
1244
1220
|
}
|
|
1245
1221
|
// Vector4
|
|
1246
1222
|
serializationObject.vectors4 = {};
|
|
1247
1223
|
for (name in this._vectors4) {
|
|
1248
|
-
|
|
1224
|
+
const v4 = this._vectors4[name];
|
|
1225
|
+
serializationObject.vectors4[name] = [v4.x, v4.y, v4.z, v4.w];
|
|
1249
1226
|
}
|
|
1250
1227
|
// Quaternion
|
|
1251
1228
|
serializationObject.quaternions = {};
|