@react-three/postprocessing 2.5.1 → 2.5.4
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/dist/effects/Bloom.d.ts +3 -0
- package/dist/index.cjs +52 -38
- package/dist/index.js +32 -13
- package/package.json +1 -1
package/dist/effects/Bloom.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { BloomEffect, BlendFunction } from 'postprocessing';
|
|
3
3
|
export declare const Bloom: import("react").ForwardRefExoticComponent<{
|
|
4
|
+
mipmapBlur?: boolean;
|
|
5
|
+
radius?: number;
|
|
6
|
+
levels?: number;
|
|
4
7
|
blendFunction?: BlendFunction;
|
|
5
8
|
luminanceThreshold?: number;
|
|
6
9
|
luminanceSmoothing?: number;
|
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", "radius", "levels"];
|
|
486
|
+
|
|
491
487
|
var addLight = function addLight(light, effect) {
|
|
492
488
|
return light.layers.enable(effect.selection.layer);
|
|
493
489
|
};
|
|
@@ -508,7 +504,11 @@ 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
|
+
radius = _ref.radius,
|
|
510
|
+
levels = _ref.levels,
|
|
511
|
+
props = _objectWithoutPropertiesLoose__default["default"](_ref, _excluded$3);
|
|
512
512
|
|
|
513
513
|
if (lights.length === 0) {
|
|
514
514
|
console.warn('SelectiveBloom requires lights to work.');
|
|
@@ -523,16 +523,19 @@ var SelectiveBloom = /*#__PURE__*/React.forwardRef(function SelectiveBloom(_ref,
|
|
|
523
523
|
camera = _useContext.camera;
|
|
524
524
|
|
|
525
525
|
var effect = React.useMemo(function () {
|
|
526
|
-
return new postprocessing.SelectiveBloomEffect(scene, camera, {
|
|
526
|
+
return new postprocessing.SelectiveBloomEffect(scene, camera, _extends__default["default"]({
|
|
527
527
|
blendFunction: postprocessing.BlendFunction.SCREEN,
|
|
528
528
|
luminanceThreshold: luminanceThreshold,
|
|
529
529
|
luminanceSmoothing: luminanceSmoothing,
|
|
530
530
|
intensity: intensity,
|
|
531
531
|
width: width,
|
|
532
532
|
height: height,
|
|
533
|
-
kernelSize: kernelSize
|
|
534
|
-
|
|
535
|
-
|
|
533
|
+
kernelSize: kernelSize,
|
|
534
|
+
mipmapBlur: mipmapBlur,
|
|
535
|
+
radius: radius,
|
|
536
|
+
levels: levels
|
|
537
|
+
}, props));
|
|
538
|
+
}, [camera, height, intensity, kernelSize, luminanceSmoothing, luminanceThreshold, scene, width, height, mipmapBlur, radius, levels]);
|
|
536
539
|
var api = React.useContext(selectionContext);
|
|
537
540
|
React.useEffect(function () {
|
|
538
541
|
// Do not allow array selection if declarative selection is active
|
|
@@ -564,27 +567,23 @@ var SelectiveBloom = /*#__PURE__*/React.forwardRef(function SelectiveBloom(_ref,
|
|
|
564
567
|
};
|
|
565
568
|
}
|
|
566
569
|
}, [effect, lights, selectionLayer]);
|
|
567
|
-
|
|
570
|
+
React.useRef();
|
|
568
571
|
React.useEffect(function () {
|
|
569
572
|
if (api && api.enabled) {
|
|
570
573
|
var _api$selected;
|
|
571
574
|
|
|
572
|
-
var _effect = ref.current;
|
|
573
|
-
|
|
574
575
|
if ((_api$selected = api.selected) != null && _api$selected.length) {
|
|
575
|
-
|
|
576
|
-
|
|
576
|
+
effect.selection.set(api.selected);
|
|
577
577
|
invalidate();
|
|
578
578
|
return function () {
|
|
579
|
-
|
|
580
|
-
|
|
579
|
+
effect.selection.clear();
|
|
581
580
|
invalidate();
|
|
582
581
|
};
|
|
583
582
|
}
|
|
584
583
|
}
|
|
585
584
|
}, [api]);
|
|
586
585
|
return /*#__PURE__*/React__default["default"].createElement("primitive", {
|
|
587
|
-
ref:
|
|
586
|
+
ref: forwardRef,
|
|
588
587
|
object: effect,
|
|
589
588
|
dispose: null
|
|
590
589
|
});
|
|
@@ -729,6 +728,21 @@ var SSR = /*#__PURE__*/React.forwardRef(function SSR(_ref, ref) {
|
|
|
729
728
|
});
|
|
730
729
|
invalidate();
|
|
731
730
|
}, [props]);
|
|
731
|
+
var api = React.useContext(selectionContext);
|
|
732
|
+
React.useEffect(function () {
|
|
733
|
+
if (api && api.enabled) {
|
|
734
|
+
var _api$selected;
|
|
735
|
+
|
|
736
|
+
if ((_api$selected = api.selected) != null && _api$selected.length) {
|
|
737
|
+
effect.selection.set(api.selected);
|
|
738
|
+
invalidate();
|
|
739
|
+
return function () {
|
|
740
|
+
effect.selection.clear();
|
|
741
|
+
invalidate();
|
|
742
|
+
};
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
}, [api]);
|
|
732
746
|
return /*#__PURE__*/React__default["default"].createElement("primitive", {
|
|
733
747
|
ref: ref,
|
|
734
748
|
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,11 @@ const SelectiveBloom = /*#__PURE__*/forwardRef(function SelectiveBloom(_ref, for
|
|
|
419
417
|
intensity,
|
|
420
418
|
width,
|
|
421
419
|
height,
|
|
422
|
-
kernelSize
|
|
420
|
+
kernelSize,
|
|
421
|
+
mipmapBlur,
|
|
422
|
+
radius,
|
|
423
|
+
levels,
|
|
424
|
+
...props
|
|
423
425
|
} = _ref;
|
|
424
426
|
|
|
425
427
|
if (lights.length === 0) {
|
|
@@ -438,8 +440,12 @@ const SelectiveBloom = /*#__PURE__*/forwardRef(function SelectiveBloom(_ref, for
|
|
|
438
440
|
intensity,
|
|
439
441
|
width,
|
|
440
442
|
height,
|
|
441
|
-
kernelSize
|
|
442
|
-
|
|
443
|
+
kernelSize,
|
|
444
|
+
mipmapBlur,
|
|
445
|
+
radius,
|
|
446
|
+
levels,
|
|
447
|
+
...props
|
|
448
|
+
}), [camera, height, intensity, kernelSize, luminanceSmoothing, luminanceThreshold, scene, width, height, mipmapBlur, radius, levels]);
|
|
443
449
|
const api = useContext(selectionContext);
|
|
444
450
|
useEffect(() => {
|
|
445
451
|
// Do not allow array selection if declarative selection is active
|
|
@@ -467,13 +473,11 @@ const SelectiveBloom = /*#__PURE__*/forwardRef(function SelectiveBloom(_ref, for
|
|
|
467
473
|
};
|
|
468
474
|
}
|
|
469
475
|
}, [effect, lights, selectionLayer]);
|
|
470
|
-
|
|
476
|
+
useRef();
|
|
471
477
|
useEffect(() => {
|
|
472
478
|
if (api && api.enabled) {
|
|
473
479
|
var _api$selected;
|
|
474
480
|
|
|
475
|
-
const effect = ref.current;
|
|
476
|
-
|
|
477
481
|
if ((_api$selected = api.selected) != null && _api$selected.length) {
|
|
478
482
|
effect.selection.set(api.selected);
|
|
479
483
|
invalidate();
|
|
@@ -485,7 +489,7 @@ const SelectiveBloom = /*#__PURE__*/forwardRef(function SelectiveBloom(_ref, for
|
|
|
485
489
|
}
|
|
486
490
|
}, [api]);
|
|
487
491
|
return /*#__PURE__*/React.createElement("primitive", {
|
|
488
|
-
ref:
|
|
492
|
+
ref: forwardRef,
|
|
489
493
|
object: effect,
|
|
490
494
|
dispose: null
|
|
491
495
|
});
|
|
@@ -617,6 +621,21 @@ const SSR = /*#__PURE__*/forwardRef(function SSR(_ref, ref) {
|
|
|
617
621
|
Object.keys(props).forEach(key => effect[key] = props[key]);
|
|
618
622
|
invalidate();
|
|
619
623
|
}, [props]);
|
|
624
|
+
const api = useContext(selectionContext);
|
|
625
|
+
useEffect(() => {
|
|
626
|
+
if (api && api.enabled) {
|
|
627
|
+
var _api$selected;
|
|
628
|
+
|
|
629
|
+
if ((_api$selected = api.selected) != null && _api$selected.length) {
|
|
630
|
+
effect.selection.set(api.selected);
|
|
631
|
+
invalidate();
|
|
632
|
+
return () => {
|
|
633
|
+
effect.selection.clear();
|
|
634
|
+
invalidate();
|
|
635
|
+
};
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
}, [api]);
|
|
620
639
|
return /*#__PURE__*/React.createElement("primitive", {
|
|
621
640
|
ref: ref,
|
|
622
641
|
object: effect
|