@react-three/postprocessing 2.1.3 → 2.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,6 +9,7 @@ export declare const EffectComposerContext: React.Context<{
9
9
  scene: THREE.Scene;
10
10
  }>;
11
11
  export declare type EffectComposerProps = {
12
+ enabled?: boolean;
12
13
  children: JSX.Element | JSX.Element[];
13
14
  depthBuffer?: boolean;
14
15
  disableNormalPass?: boolean;
package/dist/index.cjs.js CHANGED
@@ -125,6 +125,8 @@ var EffectComposer = /*#__PURE__*/React__default["default"].memo( /*#__PURE__*/R
125
125
  var children = _ref.children,
126
126
  camera = _ref.camera,
127
127
  scene = _ref.scene,
128
+ _ref$enabled = _ref.enabled,
129
+ enabled = _ref$enabled === void 0 ? true : _ref$enabled,
128
130
  _ref$renderPriority = _ref.renderPriority,
129
131
  renderPriority = _ref$renderPriority === void 0 ? 1 : _ref$renderPriority,
130
132
  _ref$autoClear = _ref.autoClear,
@@ -151,7 +153,7 @@ var EffectComposer = /*#__PURE__*/React__default["default"].memo( /*#__PURE__*/R
151
153
  var effectComposer = new postprocessing.EffectComposer(gl, {
152
154
  depthBuffer: depthBuffer,
153
155
  stencilBuffer: stencilBuffer,
154
- multisampling: threeStdlib.isWebGL2Available() ? multisampling : 0,
156
+ multisampling: multisampling > 0 && threeStdlib.isWebGL2Available() ? multisampling : 0,
155
157
  frameBufferType: frameBufferType
156
158
  }); // Add render pass
157
159
 
@@ -175,8 +177,11 @@ var EffectComposer = /*#__PURE__*/React__default["default"].memo( /*#__PURE__*/R
175
177
  return composer == null ? void 0 : composer.setSize(size.width, size.height);
176
178
  }, [composer, size]);
177
179
  fiber.useFrame(function (_, delta) {
178
- return void (gl.autoClear = autoClear, composer.render(delta));
179
- }, renderPriority);
180
+ if (enabled) {
181
+ gl.autoClear = autoClear;
182
+ composer.render(delta);
183
+ }
184
+ }, enabled ? renderPriority : 0);
180
185
  var group = React.useRef(null);
181
186
  React.useLayoutEffect(function () {
182
187
  var effectPass;
@@ -185,7 +190,7 @@ var EffectComposer = /*#__PURE__*/React__default["default"].memo( /*#__PURE__*/R
185
190
  effectPass = _construct__default["default"](postprocessing.EffectPass, [camera].concat(group.current.__r3f.objects));
186
191
  composer.addPass(effectPass);
187
192
  effectPass.renderToScreen = true;
188
- if (normalPass) normalPass.enabled = false;
193
+ if (normalPass) normalPass.enabled = true;
189
194
  }
190
195
 
191
196
  return function () {
package/dist/index.js CHANGED
@@ -83,6 +83,7 @@ const EffectComposer = /*#__PURE__*/React.memo( /*#__PURE__*/forwardRef((_ref, r
83
83
  children,
84
84
  camera,
85
85
  scene,
86
+ enabled = true,
86
87
  renderPriority = 1,
87
88
  autoClear = true,
88
89
  depthBuffer,
@@ -104,7 +105,7 @@ const EffectComposer = /*#__PURE__*/React.memo( /*#__PURE__*/forwardRef((_ref, r
104
105
  const effectComposer = new EffectComposer$2(gl, {
105
106
  depthBuffer,
106
107
  stencilBuffer,
107
- multisampling: isWebGL2Available() ? multisampling : 0,
108
+ multisampling: multisampling > 0 && isWebGL2Available() ? multisampling : 0,
108
109
  frameBufferType
109
110
  }); // Add render pass
110
111
 
@@ -120,7 +121,12 @@ const EffectComposer = /*#__PURE__*/React.memo( /*#__PURE__*/forwardRef((_ref, r
120
121
  return [effectComposer, pass];
121
122
  }, [camera, gl, depthBuffer, stencilBuffer, multisampling, frameBufferType, scene, disableNormalPass]);
122
123
  useLayoutEffect(() => composer == null ? void 0 : composer.setSize(size.width, size.height), [composer, size]);
123
- useFrame((_, delta) => void (gl.autoClear = autoClear, composer.render(delta)), renderPriority);
124
+ useFrame((_, delta) => {
125
+ if (enabled) {
126
+ gl.autoClear = autoClear;
127
+ composer.render(delta);
128
+ }
129
+ }, enabled ? renderPriority : 0);
124
130
  const group = useRef(null);
125
131
  useLayoutEffect(() => {
126
132
  let effectPass;
@@ -129,7 +135,7 @@ const EffectComposer = /*#__PURE__*/React.memo( /*#__PURE__*/forwardRef((_ref, r
129
135
  effectPass = new EffectPass(camera, ...group.current.__r3f.objects);
130
136
  composer.addPass(effectPass);
131
137
  effectPass.renderToScreen = true;
132
- if (normalPass) normalPass.enabled = false;
138
+ if (normalPass) normalPass.enabled = true;
133
139
  }
134
140
 
135
141
  return () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/postprocessing",
3
- "version": "2.1.3",
3
+ "version": "2.1.6",
4
4
  "description": "postprocessing wrapper for React and @react-three/fiber",
5
5
  "keywords": [
6
6
  "postprocessing",
@@ -38,7 +38,7 @@
38
38
  "typegen": "tsc --emitDeclarationOnly || true"
39
39
  },
40
40
  "dependencies": {
41
- "postprocessing": "^6.24.0",
41
+ "postprocessing": "^6.24.1",
42
42
  "react-merge-refs": "^1.1.0",
43
43
  "three-stdlib": "^2.8.6"
44
44
  },