Skip to content

Commit 55b3258

Browse files
committed
fix(soba): restart portal before render when priority changes in MeshPortalMaterial
1 parent 5ac3e8f commit 55b3258

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

Diff for: libs/soba/materials/src/lib/mesh-portal-material.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,11 @@ export class ManagePortalScene {
100100

101101
afterNextRender(() => {
102102
portalScene().matrixAutoUpdate = false;
103+
});
103104

104-
// we start the before render in afterNextRender because we need the priority input to be resolved
105-
injectBeforeRender(
105+
effect((onCleanup) => {
106+
// we start the before render in effect because we need the priority input to be resolved
107+
const sub = injectBeforeRender(
106108
({ gl, camera }) => {
107109
const material = this.material();
108110

@@ -150,6 +152,7 @@ export class ManagePortalScene {
150152
},
151153
{ injector, priority: this.priority() },
152154
);
155+
onCleanup(() => sub());
153156
});
154157
}
155158
}
@@ -304,9 +307,6 @@ export class NgtsMeshPortalMaterial {
304307
setEvents({ enabled: !events });
305308
});
306309

307-
// React.useEffect(() => {
308-
// if (events !== undefined) setEvents({ enabled: !events })
309-
// }, [events])
310310
effect(() => {
311311
const [material, parent] = [this.materialRef().nativeElement, this.parent()];
312312
if (!parent) return;

0 commit comments

Comments
 (0)