diff --git a/src/EffectComposer.tsx b/src/EffectComposer.tsx index cc3db74..32c559c 100644 --- a/src/EffectComposer.tsx +++ b/src/EffectComposer.tsx @@ -1,5 +1,5 @@ import type { TextureDataType } from 'three' -import { HalfFloatType, NoToneMapping } from 'three' +import { HalfFloatType, NoToneMapping, Vector2 } from 'three' import React, { forwardRef, useMemo, @@ -48,6 +48,8 @@ export type EffectComposerProps = { scene?: THREE.Scene } +const glSize = new Vector2(); + const isConvolution = (effect: Effect): boolean => (effect.getAttributes() & EffectAttribute.CONVOLUTION) === EffectAttribute.CONVOLUTION @@ -114,7 +116,9 @@ export const EffectComposer = React.memo( resolutionScale, ]) - useEffect(() => composer?.setSize(size.width, size.height), [composer, size]) + gl.getSize(glSize); + + useEffect(() => composer.setSize(glSize.width, glSize.height), [composer, glSize.width, glSize.height]) useFrame( (_, delta) => { if (enabled) {