Skip to content

Commit 7d901b5

Browse files
authored
fix: MeshReflectorMaterial creating FBO every re-render (#2409)
1 parent 8de6e00 commit 7d901b5

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/core/MeshReflectorMaterial.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ export const MeshReflectorMaterial: ForwardRefComponent<MeshReflectorMaterialPro
5757
const scene = useThree(({ scene }) => scene)
5858
blur = Array.isArray(blur) ? blur : [blur, blur]
5959
const hasBlur = blur[0] + blur[1] > 0
60+
const blurX = blur[0]
61+
const blurY = blur[1]
6062
const materialRef = React.useRef<MeshReflectorMaterialImpl>(null!)
6163
React.useImperativeHandle(ref, () => materialRef.current, [])
6264
const [reflectorPlane] = React.useState(() => new Plane())
@@ -146,8 +148,8 @@ export const MeshReflectorMaterial: ForwardRefComponent<MeshReflectorMaterialPro
146148
const blurpass = new BlurPass({
147149
gl,
148150
resolution,
149-
width: blur[0],
150-
height: blur[1],
151+
width: blurX,
152+
height: blurY,
151153
minDepthThreshold,
152154
maxDepthThreshold,
153155
depthScale,
@@ -176,7 +178,8 @@ export const MeshReflectorMaterial: ForwardRefComponent<MeshReflectorMaterialPro
176178
return [fbo1, fbo2, blurpass, reflectorProps]
177179
}, [
178180
gl,
179-
blur,
181+
blurX,
182+
blurY,
180183
textureMatrix,
181184
resolution,
182185
mirror,

0 commit comments

Comments
 (0)