@onerjs/core 8.54.8 → 8.54.9
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.
|
@@ -76,10 +76,7 @@ export class PushMaterial extends Material {
|
|
|
76
76
|
* @param notBoundToMesh defines whether the material is not bound to a mesh
|
|
77
77
|
*/
|
|
78
78
|
dispose(forceDisposeEffect, forceDisposeTextures, notBoundToMesh) {
|
|
79
|
-
|
|
80
|
-
this._activeEffect.dispose(forceDisposeEffect);
|
|
81
|
-
this._activeEffect = undefined;
|
|
82
|
-
}
|
|
79
|
+
this._activeEffect = undefined;
|
|
83
80
|
super.dispose(forceDisposeEffect, forceDisposeTextures, notBoundToMesh);
|
|
84
81
|
}
|
|
85
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pushMaterial.js","sourceRoot":"","sources":["../../../../dev/core/src/Materials/pushMaterial.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pushMaterial.js","sourceRoot":"","sources":["../../../../dev/core/src/Materials/pushMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["import { type Nullable } from \"../types\";\r\nimport { type Scene } from \"../scene\";\r\nimport { Matrix } from \"../Maths/math.vector.pure\";\r\nimport { type AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { type Mesh } from \"../Meshes/mesh\";\r\nimport { Material } from \"../Materials/material\";\r\nimport { type Effect } from \"../Materials/effect\";\r\nimport { type SubMesh } from \"../Meshes/subMesh\";\r\n/**\r\n * Base class of materials working in push mode in babylon JS\r\n * @internal\r\n */\r\nexport class PushMaterial extends Material {\r\n protected _activeEffect?: Effect;\r\n\r\n protected _normalMatrix: Matrix = new Matrix();\r\n\r\n constructor(name: string, scene?: Scene, storeEffectOnSubMeshes = true, forceGLSL = false) {\r\n super(name, scene, undefined, forceGLSL);\r\n this._storeEffectOnSubMeshes = storeEffectOnSubMeshes;\r\n }\r\n\r\n public override getEffect(): Effect {\r\n return this._storeEffectOnSubMeshes ? this._activeEffect! : super.getEffect()!;\r\n }\r\n\r\n public override isReady(mesh?: AbstractMesh, useInstances?: boolean): boolean {\r\n if (!mesh) {\r\n return false;\r\n }\r\n\r\n if (!this._storeEffectOnSubMeshes) {\r\n return true;\r\n }\r\n\r\n if (!mesh.subMeshes || mesh.subMeshes.length === 0) {\r\n return true;\r\n }\r\n\r\n return this.isReadyForSubMesh(mesh, mesh.subMeshes[0], useInstances);\r\n }\r\n\r\n protected _isReadyForSubMesh(subMesh: SubMesh) {\r\n const defines = subMesh.materialDefines;\r\n if (!this.checkReadyOnEveryCall && subMesh.effect && defines) {\r\n if (defines._renderId === this.getScene().getRenderId()) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Binds the given world matrix to the active effect\r\n *\r\n * @param world the matrix to bind\r\n */\r\n public override bindOnlyWorldMatrix(world: Matrix): void {\r\n this._activeEffect!.setMatrix(\"world\", world);\r\n }\r\n\r\n /**\r\n * Binds the given normal matrix to the active effect\r\n *\r\n * @param normalMatrix the matrix to bind\r\n */\r\n public bindOnlyNormalMatrix(normalMatrix: Matrix): void {\r\n this._activeEffect!.setMatrix(\"normalMatrix\", normalMatrix);\r\n }\r\n\r\n public override bind(world: Matrix, mesh?: Mesh): void {\r\n if (!mesh) {\r\n return;\r\n }\r\n\r\n this.bindForSubMesh(world, mesh, mesh.subMeshes[0]);\r\n }\r\n\r\n protected override _afterBind(mesh?: AbstractMesh, effect: Nullable<Effect> = null, subMesh?: SubMesh): void {\r\n super._afterBind(mesh, effect, subMesh);\r\n this.getScene()._cachedEffect = effect;\r\n if (subMesh) {\r\n subMesh._drawWrapper._forceRebindOnNextCall = false;\r\n } else {\r\n this._drawWrapper._forceRebindOnNextCall = false;\r\n }\r\n }\r\n\r\n protected _mustRebind(scene: Scene, effect: Effect, subMesh: SubMesh, visibility = 1): boolean {\r\n return subMesh._drawWrapper._forceRebindOnNextCall || scene.isCachedMaterialInvalid(this, effect, visibility);\r\n }\r\n\r\n /**\r\n * Disposes the push material resources.\r\n * @param forceDisposeEffect defines whether to dispose the effect\r\n * @param forceDisposeTextures defines whether to dispose the textures\r\n * @param notBoundToMesh defines whether the material is not bound to a mesh\r\n */\r\n public override dispose(forceDisposeEffect?: boolean, forceDisposeTextures?: boolean, notBoundToMesh?: boolean) {\r\n this._activeEffect = undefined;\r\n super.dispose(forceDisposeEffect, forceDisposeTextures, notBoundToMesh);\r\n }\r\n}\r\n"]}
|
package/Meshes/mesh.pure.js
CHANGED
|
@@ -2682,6 +2682,9 @@ export class Mesh extends AbstractMesh {
|
|
|
2682
2682
|
if (internalDataInfo._onBetweenPassObservable) {
|
|
2683
2683
|
internalDataInfo._onBetweenPassObservable.clear();
|
|
2684
2684
|
}
|
|
2685
|
+
if (internalDataInfo._effectiveMaterial) {
|
|
2686
|
+
internalDataInfo._effectiveMaterial = null;
|
|
2687
|
+
}
|
|
2685
2688
|
if (internalDataInfo._onMeshReadyObserverAdded) {
|
|
2686
2689
|
internalDataInfo._onMeshReadyObserverAdded = null;
|
|
2687
2690
|
}
|