From f86fdd6eb413d99211a81d8ad8eb4363733c4daf Mon Sep 17 00:00:00 2001 From: Jeran Date: Fri, 27 Feb 2026 16:58:29 +0100 Subject: [PATCH 1/2] useMemo on sphere --- src/components/plots/AnalysisWG.tsx | 1 - src/components/plots/Sphere.tsx | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/plots/AnalysisWG.tsx b/src/components/plots/AnalysisWG.tsx index 6f6f0de6..dd19f416 100644 --- a/src/components/plots/AnalysisWG.tsx +++ b/src/components/plots/AnalysisWG.tsx @@ -224,7 +224,6 @@ const AnalysisWG = ({ setTexture, }: { setTexture: React.Dispatch new THREE.IcosahedronGeometry(1, sphereResolution), [sphereResolution]); const shaderMaterial = useMemo(()=>{ const shader = new THREE.ShaderMaterial({ @@ -140,7 +141,8 @@ export const Sphere = ({textures} : {textures: THREE.Data3DTexture[] | THREE.Dat return shader },[isFlat, textures, borderTexture]) - const backMaterial = shaderMaterial.clone() + const backMaterial = useMemo(()=>shaderMaterial.clone(),[shaderMaterial]) + backMaterial.side = THREE.BackSide; useEffect(()=>{ if (shaderMaterial){ From 977b0130e756c9b4dbc5097bc9f4a178da42b754 Mon Sep 17 00:00:00 2001 From: Jeran Date: Fri, 27 Feb 2026 17:04:44 +0100 Subject: [PATCH 2/2] include backside --- src/components/plots/Sphere.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/plots/Sphere.tsx b/src/components/plots/Sphere.tsx index 6fc413d9..4fbd4abf 100644 --- a/src/components/plots/Sphere.tsx +++ b/src/components/plots/Sphere.tsx @@ -141,9 +141,12 @@ export const Sphere = ({textures} : {textures: THREE.Data3DTexture[] | THREE.Dat return shader },[isFlat, textures, borderTexture]) - const backMaterial = useMemo(()=>shaderMaterial.clone(),[shaderMaterial]) + const backMaterial = useMemo(()=>{ + const mat = shaderMaterial.clone() + mat.side = THREE.BackSide; + return mat; + },[shaderMaterial]) - backMaterial.side = THREE.BackSide; useEffect(()=>{ if (shaderMaterial){ const uniforms = shaderMaterial.uniforms;