From f44a7fd5ca2f2cf8a120bd5bd6c6cd27d2b02fdf Mon Sep 17 00:00:00 2001 From: Yuki Shimada Date: Sat, 18 May 2024 09:05:02 +0900 Subject: [PATCH 1/3] fix: getAppropriateMaterial --- src/foundation/renderer/RenderPass.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/foundation/renderer/RenderPass.ts b/src/foundation/renderer/RenderPass.ts index 3fee3ae92..3e80adcb8 100644 --- a/src/foundation/renderer/RenderPass.ts +++ b/src/foundation/renderer/RenderPass.ts @@ -451,7 +451,8 @@ export class RenderPass extends RnObject { getAppropriateMaterial(primitive: Primitive): Material { let material = this._getMaterialOf(primitive); - if (this.__material != null) { + if (material != null) { + } else if (this.__material != null) { material = this.__material; } else { material = primitive.material; From 85d817cdceeeb154591dcefce2ed8f5f02ce6e50 Mon Sep 17 00:00:00 2001 From: Yuki Shimada Date: Sat, 18 May 2024 09:38:14 +0900 Subject: [PATCH 2/3] fix: add Material.__stateVersion++; --- src/foundation/materials/core/Material.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/foundation/materials/core/Material.ts b/src/foundation/materials/core/Material.ts index 5d291f87e..5b91a76ec 100644 --- a/src/foundation/materials/core/Material.ts +++ b/src/foundation/materials/core/Material.ts @@ -284,6 +284,8 @@ export class Material extends RnObject { ); this._shaderProgramUid = programUid; + Material.__stateVersion++; + return programUid; } @@ -302,6 +304,7 @@ export class Material extends RnObject { ); this._shaderProgramUid = programUid; + Material.__stateVersion++; } /** @@ -329,6 +332,7 @@ export class Material extends RnObject { // this.__updatedShaderSources = updatedShaderSources; } + Material.__stateVersion++; return programUid; } From e495a11e490c348d21aff0002a410d21c3baecf9 Mon Sep 17 00:00:00 2001 From: Yuki Shimada Date: Sat, 18 May 2024 09:39:38 +0900 Subject: [PATCH 3/3] fix: _setForce --- src/foundation/math/MathClassUtil.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/foundation/math/MathClassUtil.ts b/src/foundation/math/MathClassUtil.ts index a6a079a00..6ca959b66 100644 --- a/src/foundation/math/MathClassUtil.ts +++ b/src/foundation/math/MathClassUtil.ts @@ -545,7 +545,7 @@ export class MathClassUtil { } else if (Array.isArray(objForDetectType)) { let isSame = true; for (let i = 0; i < objForDetectType.length; i++) { - if (objForDetectType[i] !== val[i]) { + if (objForDetectType[i] !== val._v[i]) { isSame = false; break; }