@react-three/postprocessing 2.5.0 → 2.5.3
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.
- package/README.md +2 -2
- package/dist/index.cjs +48 -38
- package/dist/index.js +28 -13
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/@react-three/postprocessing)
|
|
5
5
|
[](https://discord.gg/ZZjjNvJ)
|
|
6
6
|
|
|
7
|
-
`react-postprocessing` is a [postprocessing](https://github.com/
|
|
7
|
+
`react-postprocessing` is a [postprocessing](https://github.com/pmndrs/postprocessing) wrapper for [@react-three/fiber](https://github.com/pmndrs/@react-three/fiber). This is not (yet) meant for complex orchestration of effects, but can save you [hundreds of LOC](https://twitter.com/0xca0a/status/1289501594698960897) for a straight forward effects-chain.
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
npm install @react-three/postprocessing
|
|
@@ -20,7 +20,7 @@ npm install @react-three/postprocessing
|
|
|
20
20
|
|
|
21
21
|
#### Why postprocessing and not three/examples/jsm/postprocessing?
|
|
22
22
|
|
|
23
|
-
From [https://github.com/
|
|
23
|
+
From [https://github.com/pmndrs/postprocessing](https://github.com/pmndrs/postprocessing#performance)
|
|
24
24
|
|
|
25
25
|
> This library provides an EffectPass which automatically organizes and merges any given combination of effects. This minimizes the amount of render operations and makes it possible to combine many effects without the performance penalties of traditional pass chaining. Additionally, every effect can choose its own blend function.
|
|
26
26
|
>
|
package/dist/index.cjs
CHANGED
|
@@ -10,7 +10,6 @@ var fiber = require('@react-three/fiber');
|
|
|
10
10
|
var _extends = require('@babel/runtime/helpers/extends');
|
|
11
11
|
var _construct = require('@babel/runtime/helpers/construct');
|
|
12
12
|
var threeStdlib = require('three-stdlib');
|
|
13
|
-
var mergeRefs = require('react-merge-refs');
|
|
14
13
|
var screenSpaceReflections = require('screen-space-reflections');
|
|
15
14
|
|
|
16
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -19,9 +18,8 @@ var _objectWithoutPropertiesLoose__default = /*#__PURE__*/_interopDefaultLegacy(
|
|
|
19
18
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
20
19
|
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
21
20
|
var _construct__default = /*#__PURE__*/_interopDefaultLegacy(_construct);
|
|
22
|
-
var mergeRefs__default = /*#__PURE__*/_interopDefaultLegacy(mergeRefs);
|
|
23
21
|
|
|
24
|
-
var _excluded$
|
|
22
|
+
var _excluded$9 = ["blendFunction", "opacity"];
|
|
25
23
|
|
|
26
24
|
var isRef = function isRef(ref) {
|
|
27
25
|
return !!ref.current;
|
|
@@ -38,7 +36,7 @@ var wrapEffect = function wrapEffect(effectImpl, defaultBlendMode) {
|
|
|
38
36
|
return /*#__PURE__*/React.forwardRef(function Wrap(_ref, ref) {
|
|
39
37
|
var blendFunction = _ref.blendFunction,
|
|
40
38
|
opacity = _ref.opacity,
|
|
41
|
-
props = _objectWithoutPropertiesLoose__default["default"](_ref, _excluded$
|
|
39
|
+
props = _objectWithoutPropertiesLoose__default["default"](_ref, _excluded$9);
|
|
42
40
|
|
|
43
41
|
var invalidate = fiber.useThree(function (state) {
|
|
44
42
|
return state.invalidate;
|
|
@@ -225,11 +223,11 @@ var EffectComposer = /*#__PURE__*/React__default["default"].memo( /*#__PURE__*/R
|
|
|
225
223
|
}, children));
|
|
226
224
|
}));
|
|
227
225
|
|
|
228
|
-
var _excluded$
|
|
226
|
+
var _excluded$8 = ["target", "depthTexture"];
|
|
229
227
|
var DepthOfField = /*#__PURE__*/React.forwardRef(function DepthOfField(_ref, ref) {
|
|
230
228
|
var target = _ref.target,
|
|
231
229
|
depthTexture = _ref.depthTexture,
|
|
232
|
-
props = _objectWithoutPropertiesLoose__default["default"](_ref, _excluded$
|
|
230
|
+
props = _objectWithoutPropertiesLoose__default["default"](_ref, _excluded$8);
|
|
233
231
|
|
|
234
232
|
var invalidate = fiber.useThree(function (state) {
|
|
235
233
|
return state.invalidate;
|
|
@@ -259,11 +257,11 @@ var DepthOfField = /*#__PURE__*/React.forwardRef(function DepthOfField(_ref, ref
|
|
|
259
257
|
|
|
260
258
|
var DotScreen = wrapEffect(postprocessing.DotScreenEffect);
|
|
261
259
|
|
|
262
|
-
var _excluded$
|
|
260
|
+
var _excluded$7 = ["active"];
|
|
263
261
|
var Glitch = /*#__PURE__*/React.forwardRef(function Glitch(_ref, ref) {
|
|
264
262
|
var _ref$active = _ref.active,
|
|
265
263
|
active = _ref$active === void 0 ? true : _ref$active,
|
|
266
|
-
props = _objectWithoutPropertiesLoose__default["default"](_ref, _excluded$
|
|
264
|
+
props = _objectWithoutPropertiesLoose__default["default"](_ref, _excluded$7);
|
|
267
265
|
|
|
268
266
|
var invalidate = fiber.useThree(function (state) {
|
|
269
267
|
return state.invalidate;
|
|
@@ -303,10 +301,10 @@ var GodRays = /*#__PURE__*/React.forwardRef(function GodRays(props, ref) {
|
|
|
303
301
|
});
|
|
304
302
|
});
|
|
305
303
|
|
|
306
|
-
var _excluded$
|
|
304
|
+
var _excluded$6 = ["size"];
|
|
307
305
|
var Grid = /*#__PURE__*/React.forwardRef(function Grid(_ref, ref) {
|
|
308
306
|
var size = _ref.size,
|
|
309
|
-
props = _objectWithoutPropertiesLoose__default["default"](_ref, _excluded$
|
|
307
|
+
props = _objectWithoutPropertiesLoose__default["default"](_ref, _excluded$6);
|
|
310
308
|
|
|
311
309
|
var invalidate = fiber.useThree(function (state) {
|
|
312
310
|
return state.invalidate;
|
|
@@ -329,7 +327,7 @@ var HueSaturation = wrapEffect(postprocessing.HueSaturationEffect);
|
|
|
329
327
|
|
|
330
328
|
var Noise = wrapEffect(postprocessing.NoiseEffect, postprocessing.BlendFunction.COLOR_DODGE);
|
|
331
329
|
|
|
332
|
-
var _excluded$
|
|
330
|
+
var _excluded$5 = ["enabled", "children"];
|
|
333
331
|
var selectionContext = /*#__PURE__*/React.createContext(null);
|
|
334
332
|
function Selection(_ref) {
|
|
335
333
|
var children = _ref.children,
|
|
@@ -355,7 +353,7 @@ function Select(_ref2) {
|
|
|
355
353
|
var _ref2$enabled = _ref2.enabled,
|
|
356
354
|
enabled = _ref2$enabled === void 0 ? false : _ref2$enabled,
|
|
357
355
|
children = _ref2.children,
|
|
358
|
-
props = _objectWithoutPropertiesLoose__default["default"](_ref2, _excluded$
|
|
356
|
+
props = _objectWithoutPropertiesLoose__default["default"](_ref2, _excluded$5);
|
|
359
357
|
|
|
360
358
|
var group = React.useRef(null);
|
|
361
359
|
var api = React.useContext(selectionContext);
|
|
@@ -387,7 +385,7 @@ function Select(_ref2) {
|
|
|
387
385
|
}, props), children);
|
|
388
386
|
}
|
|
389
387
|
|
|
390
|
-
var _excluded$
|
|
388
|
+
var _excluded$4 = ["selection", "selectionLayer", "blendFunction", "patternTexture", "edgeStrength", "pulseSpeed", "visibleEdgeColor", "hiddenEdgeColor", "width", "height", "kernelSize", "blur", "xRay"];
|
|
391
389
|
var Outline = /*#__PURE__*/React.forwardRef(function Outline(_ref, forwardRef) {
|
|
392
390
|
var _ref$selection = _ref.selection,
|
|
393
391
|
selection = _ref$selection === void 0 ? [] : _ref$selection,
|
|
@@ -403,8 +401,8 @@ var Outline = /*#__PURE__*/React.forwardRef(function Outline(_ref, forwardRef) {
|
|
|
403
401
|
height = _ref.height,
|
|
404
402
|
kernelSize = _ref.kernelSize,
|
|
405
403
|
blur = _ref.blur,
|
|
406
|
-
xRay = _ref.xRay
|
|
407
|
-
_objectWithoutPropertiesLoose__default["default"](_ref, _excluded$
|
|
404
|
+
xRay = _ref.xRay,
|
|
405
|
+
props = _objectWithoutPropertiesLoose__default["default"](_ref, _excluded$4);
|
|
408
406
|
|
|
409
407
|
var invalidate = fiber.useThree(function (state) {
|
|
410
408
|
return state.invalidate;
|
|
@@ -415,7 +413,7 @@ var Outline = /*#__PURE__*/React.forwardRef(function Outline(_ref, forwardRef) {
|
|
|
415
413
|
camera = _useContext.camera;
|
|
416
414
|
|
|
417
415
|
var effect = React.useMemo(function () {
|
|
418
|
-
return new postprocessing.OutlineEffect(scene, camera, {
|
|
416
|
+
return new postprocessing.OutlineEffect(scene, camera, _extends__default["default"]({
|
|
419
417
|
blendFunction: blendFunction,
|
|
420
418
|
patternTexture: patternTexture,
|
|
421
419
|
edgeStrength: edgeStrength,
|
|
@@ -427,7 +425,7 @@ var Outline = /*#__PURE__*/React.forwardRef(function Outline(_ref, forwardRef) {
|
|
|
427
425
|
kernelSize: kernelSize,
|
|
428
426
|
blur: blur,
|
|
429
427
|
xRay: xRay
|
|
430
|
-
});
|
|
428
|
+
}, props));
|
|
431
429
|
}, [blendFunction, blur, camera, edgeStrength, height, hiddenEdgeColor, kernelSize, patternTexture, pulseSpeed, scene, visibleEdgeColor, width, xRay]);
|
|
432
430
|
var api = React.useContext(selectionContext);
|
|
433
431
|
React.useEffect(function () {
|
|
@@ -446,27 +444,23 @@ var Outline = /*#__PURE__*/React.forwardRef(function Outline(_ref, forwardRef) {
|
|
|
446
444
|
effect.selectionLayer = selectionLayer;
|
|
447
445
|
invalidate();
|
|
448
446
|
}, [effect, selectionLayer]);
|
|
449
|
-
|
|
447
|
+
React.useRef();
|
|
450
448
|
React.useEffect(function () {
|
|
451
449
|
if (api && api.enabled) {
|
|
452
450
|
var _api$selected;
|
|
453
451
|
|
|
454
|
-
var _effect = ref.current;
|
|
455
|
-
|
|
456
452
|
if ((_api$selected = api.selected) != null && _api$selected.length) {
|
|
457
|
-
|
|
458
|
-
|
|
453
|
+
effect.selection.set(api.selected);
|
|
459
454
|
invalidate();
|
|
460
455
|
return function () {
|
|
461
|
-
|
|
462
|
-
|
|
456
|
+
effect.selection.clear();
|
|
463
457
|
invalidate();
|
|
464
458
|
};
|
|
465
459
|
}
|
|
466
460
|
}
|
|
467
461
|
}, [api]);
|
|
468
462
|
return /*#__PURE__*/React__default["default"].createElement("primitive", {
|
|
469
|
-
ref:
|
|
463
|
+
ref: forwardRef,
|
|
470
464
|
object: effect
|
|
471
465
|
});
|
|
472
466
|
});
|
|
@@ -488,6 +482,8 @@ var Pixelation = /*#__PURE__*/React.forwardRef(function Pixelation(_ref, ref) {
|
|
|
488
482
|
|
|
489
483
|
var Scanline = wrapEffect(postprocessing.ScanlineEffect, postprocessing.BlendFunction.OVERLAY);
|
|
490
484
|
|
|
485
|
+
var _excluded$3 = ["selection", "selectionLayer", "lights", "luminanceThreshold", "luminanceSmoothing", "intensity", "width", "height", "kernelSize", "mipmapBlur"];
|
|
486
|
+
|
|
491
487
|
var addLight = function addLight(light, effect) {
|
|
492
488
|
return light.layers.enable(effect.selection.layer);
|
|
493
489
|
};
|
|
@@ -508,7 +504,9 @@ var SelectiveBloom = /*#__PURE__*/React.forwardRef(function SelectiveBloom(_ref,
|
|
|
508
504
|
intensity = _ref.intensity,
|
|
509
505
|
width = _ref.width,
|
|
510
506
|
height = _ref.height,
|
|
511
|
-
kernelSize = _ref.kernelSize
|
|
507
|
+
kernelSize = _ref.kernelSize,
|
|
508
|
+
mipmapBlur = _ref.mipmapBlur,
|
|
509
|
+
props = _objectWithoutPropertiesLoose__default["default"](_ref, _excluded$3);
|
|
512
510
|
|
|
513
511
|
if (lights.length === 0) {
|
|
514
512
|
console.warn('SelectiveBloom requires lights to work.');
|
|
@@ -523,16 +521,17 @@ var SelectiveBloom = /*#__PURE__*/React.forwardRef(function SelectiveBloom(_ref,
|
|
|
523
521
|
camera = _useContext.camera;
|
|
524
522
|
|
|
525
523
|
var effect = React.useMemo(function () {
|
|
526
|
-
return new postprocessing.SelectiveBloomEffect(scene, camera, {
|
|
524
|
+
return new postprocessing.SelectiveBloomEffect(scene, camera, _extends__default["default"]({
|
|
527
525
|
blendFunction: postprocessing.BlendFunction.SCREEN,
|
|
528
526
|
luminanceThreshold: luminanceThreshold,
|
|
529
527
|
luminanceSmoothing: luminanceSmoothing,
|
|
530
528
|
intensity: intensity,
|
|
531
529
|
width: width,
|
|
532
530
|
height: height,
|
|
533
|
-
kernelSize: kernelSize
|
|
534
|
-
|
|
535
|
-
|
|
531
|
+
kernelSize: kernelSize,
|
|
532
|
+
mipmapBlur: mipmapBlur
|
|
533
|
+
}, props));
|
|
534
|
+
}, [camera, height, intensity, kernelSize, luminanceSmoothing, luminanceThreshold, scene, width, height, mipmapBlur]);
|
|
536
535
|
var api = React.useContext(selectionContext);
|
|
537
536
|
React.useEffect(function () {
|
|
538
537
|
// Do not allow array selection if declarative selection is active
|
|
@@ -564,27 +563,23 @@ var SelectiveBloom = /*#__PURE__*/React.forwardRef(function SelectiveBloom(_ref,
|
|
|
564
563
|
};
|
|
565
564
|
}
|
|
566
565
|
}, [effect, lights, selectionLayer]);
|
|
567
|
-
|
|
566
|
+
React.useRef();
|
|
568
567
|
React.useEffect(function () {
|
|
569
568
|
if (api && api.enabled) {
|
|
570
569
|
var _api$selected;
|
|
571
570
|
|
|
572
|
-
var _effect = ref.current;
|
|
573
|
-
|
|
574
571
|
if ((_api$selected = api.selected) != null && _api$selected.length) {
|
|
575
|
-
|
|
576
|
-
|
|
572
|
+
effect.selection.set(api.selected);
|
|
577
573
|
invalidate();
|
|
578
574
|
return function () {
|
|
579
|
-
|
|
580
|
-
|
|
575
|
+
effect.selection.clear();
|
|
581
576
|
invalidate();
|
|
582
577
|
};
|
|
583
578
|
}
|
|
584
579
|
}
|
|
585
580
|
}, [api]);
|
|
586
581
|
return /*#__PURE__*/React__default["default"].createElement("primitive", {
|
|
587
|
-
ref:
|
|
582
|
+
ref: forwardRef,
|
|
588
583
|
object: effect,
|
|
589
584
|
dispose: null
|
|
590
585
|
});
|
|
@@ -729,6 +724,21 @@ var SSR = /*#__PURE__*/React.forwardRef(function SSR(_ref, ref) {
|
|
|
729
724
|
});
|
|
730
725
|
invalidate();
|
|
731
726
|
}, [props]);
|
|
727
|
+
var api = React.useContext(selectionContext);
|
|
728
|
+
React.useEffect(function () {
|
|
729
|
+
if (api && api.enabled) {
|
|
730
|
+
var _api$selected;
|
|
731
|
+
|
|
732
|
+
if ((_api$selected = api.selected) != null && _api$selected.length) {
|
|
733
|
+
effect.selection.set(api.selected);
|
|
734
|
+
invalidate();
|
|
735
|
+
return function () {
|
|
736
|
+
effect.selection.clear();
|
|
737
|
+
invalidate();
|
|
738
|
+
};
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
}, [api]);
|
|
732
742
|
return /*#__PURE__*/React__default["default"].createElement("primitive", {
|
|
733
743
|
ref: ref,
|
|
734
744
|
object: effect
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,6 @@ import React, { forwardRef, useMemo, useLayoutEffect, createContext, useEffect,
|
|
|
3
3
|
import { Vector2, HalfFloatType, Vector3, TextureLoader, sRGBEncoding, RepeatWrapping } from 'three';
|
|
4
4
|
import { useThree, useFrame, useLoader } from '@react-three/fiber';
|
|
5
5
|
import { isWebGL2Available } from 'three-stdlib';
|
|
6
|
-
import mergeRefs from 'react-merge-refs';
|
|
7
6
|
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
8
7
|
import { SSREffect } from 'screen-space-reflections';
|
|
9
8
|
|
|
@@ -347,7 +346,8 @@ const Outline = /*#__PURE__*/forwardRef(function Outline(_ref, forwardRef) {
|
|
|
347
346
|
height,
|
|
348
347
|
kernelSize,
|
|
349
348
|
blur,
|
|
350
|
-
xRay
|
|
349
|
+
xRay,
|
|
350
|
+
...props
|
|
351
351
|
}), [blendFunction, blur, camera, edgeStrength, height, hiddenEdgeColor, kernelSize, patternTexture, pulseSpeed, scene, visibleEdgeColor, width, xRay]);
|
|
352
352
|
const api = useContext(selectionContext);
|
|
353
353
|
useEffect(() => {
|
|
@@ -366,13 +366,11 @@ const Outline = /*#__PURE__*/forwardRef(function Outline(_ref, forwardRef) {
|
|
|
366
366
|
effect.selectionLayer = selectionLayer;
|
|
367
367
|
invalidate();
|
|
368
368
|
}, [effect, selectionLayer]);
|
|
369
|
-
|
|
369
|
+
useRef();
|
|
370
370
|
useEffect(() => {
|
|
371
371
|
if (api && api.enabled) {
|
|
372
372
|
var _api$selected;
|
|
373
373
|
|
|
374
|
-
const effect = ref.current;
|
|
375
|
-
|
|
376
374
|
if ((_api$selected = api.selected) != null && _api$selected.length) {
|
|
377
375
|
effect.selection.set(api.selected);
|
|
378
376
|
invalidate();
|
|
@@ -384,7 +382,7 @@ const Outline = /*#__PURE__*/forwardRef(function Outline(_ref, forwardRef) {
|
|
|
384
382
|
}
|
|
385
383
|
}, [api]);
|
|
386
384
|
return /*#__PURE__*/React.createElement("primitive", {
|
|
387
|
-
ref:
|
|
385
|
+
ref: forwardRef,
|
|
388
386
|
object: effect
|
|
389
387
|
});
|
|
390
388
|
});
|
|
@@ -419,7 +417,9 @@ const SelectiveBloom = /*#__PURE__*/forwardRef(function SelectiveBloom(_ref, for
|
|
|
419
417
|
intensity,
|
|
420
418
|
width,
|
|
421
419
|
height,
|
|
422
|
-
kernelSize
|
|
420
|
+
kernelSize,
|
|
421
|
+
mipmapBlur,
|
|
422
|
+
...props
|
|
423
423
|
} = _ref;
|
|
424
424
|
|
|
425
425
|
if (lights.length === 0) {
|
|
@@ -438,8 +438,10 @@ const SelectiveBloom = /*#__PURE__*/forwardRef(function SelectiveBloom(_ref, for
|
|
|
438
438
|
intensity,
|
|
439
439
|
width,
|
|
440
440
|
height,
|
|
441
|
-
kernelSize
|
|
442
|
-
|
|
441
|
+
kernelSize,
|
|
442
|
+
mipmapBlur,
|
|
443
|
+
...props
|
|
444
|
+
}), [camera, height, intensity, kernelSize, luminanceSmoothing, luminanceThreshold, scene, width, height, mipmapBlur]);
|
|
443
445
|
const api = useContext(selectionContext);
|
|
444
446
|
useEffect(() => {
|
|
445
447
|
// Do not allow array selection if declarative selection is active
|
|
@@ -467,13 +469,11 @@ const SelectiveBloom = /*#__PURE__*/forwardRef(function SelectiveBloom(_ref, for
|
|
|
467
469
|
};
|
|
468
470
|
}
|
|
469
471
|
}, [effect, lights, selectionLayer]);
|
|
470
|
-
|
|
472
|
+
useRef();
|
|
471
473
|
useEffect(() => {
|
|
472
474
|
if (api && api.enabled) {
|
|
473
475
|
var _api$selected;
|
|
474
476
|
|
|
475
|
-
const effect = ref.current;
|
|
476
|
-
|
|
477
477
|
if ((_api$selected = api.selected) != null && _api$selected.length) {
|
|
478
478
|
effect.selection.set(api.selected);
|
|
479
479
|
invalidate();
|
|
@@ -485,7 +485,7 @@ const SelectiveBloom = /*#__PURE__*/forwardRef(function SelectiveBloom(_ref, for
|
|
|
485
485
|
}
|
|
486
486
|
}, [api]);
|
|
487
487
|
return /*#__PURE__*/React.createElement("primitive", {
|
|
488
|
-
ref:
|
|
488
|
+
ref: forwardRef,
|
|
489
489
|
object: effect,
|
|
490
490
|
dispose: null
|
|
491
491
|
});
|
|
@@ -617,6 +617,21 @@ const SSR = /*#__PURE__*/forwardRef(function SSR(_ref, ref) {
|
|
|
617
617
|
Object.keys(props).forEach(key => effect[key] = props[key]);
|
|
618
618
|
invalidate();
|
|
619
619
|
}, [props]);
|
|
620
|
+
const api = useContext(selectionContext);
|
|
621
|
+
useEffect(() => {
|
|
622
|
+
if (api && api.enabled) {
|
|
623
|
+
var _api$selected;
|
|
624
|
+
|
|
625
|
+
if ((_api$selected = api.selected) != null && _api$selected.length) {
|
|
626
|
+
effect.selection.set(api.selected);
|
|
627
|
+
invalidate();
|
|
628
|
+
return () => {
|
|
629
|
+
effect.selection.clear();
|
|
630
|
+
invalidate();
|
|
631
|
+
};
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
}, [api]);
|
|
620
635
|
return /*#__PURE__*/React.createElement("primitive", {
|
|
621
636
|
ref: ref,
|
|
622
637
|
object: effect
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-three/postprocessing",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.3",
|
|
4
4
|
"description": "postprocessing wrapper for React and @react-three/fiber",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"postprocessing",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"postprocessing": "^6.28.4",
|
|
43
43
|
"react-merge-refs": "^1.1.0",
|
|
44
|
-
"screen-space-reflections": "^2.0.
|
|
44
|
+
"screen-space-reflections": "^2.0.6",
|
|
45
45
|
"three-stdlib": "^2.8.11"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|