@react-three/postprocessing 3.0.5 → 3.1.1
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 +6 -7
- package/dist/EffectComposer.d.ts +9 -2
- package/dist/EffectGroup.d.ts +9 -0
- package/dist/createEffectComponent.d.ts +30 -0
- package/dist/effects/ASCII.d.ts +28 -7
- package/dist/effects/Autofocus.d.ts +1 -1
- package/dist/effects/Bloom.d.ts +9 -1
- package/dist/effects/BrightnessContrast.d.ts +14 -1
- package/dist/effects/ChromaticAberration.d.ts +26 -3
- package/dist/effects/ColorAverage.d.ts +7 -7
- package/dist/effects/ColorDepth.d.ts +7 -1
- package/dist/effects/Depth.d.ts +12 -1
- package/dist/effects/DotScreen.d.ts +14 -1
- package/dist/effects/FXAA.d.ts +10 -1
- package/dist/effects/Glitch.d.ts +16 -11
- package/dist/effects/GodRays.d.ts +1 -1
- package/dist/effects/Grid.d.ts +7 -6
- package/dist/effects/HueSaturation.d.ts +14 -1
- package/dist/effects/LUT.d.ts +1 -1
- package/dist/effects/LensFlare.d.ts +46 -5
- package/dist/effects/Noise.d.ts +7 -1
- package/dist/effects/Outline.d.ts +6 -3
- package/dist/effects/Pixelation.d.ts +1 -1
- package/dist/effects/Ramp.d.ts +58 -6
- package/dist/effects/SMAA.d.ts +9 -1
- package/dist/effects/SSAO.d.ts +1 -1
- package/dist/effects/ScanlineEffect.d.ts +12 -1
- package/dist/effects/SelectiveBloom.d.ts +1 -1
- package/dist/effects/Sepia.d.ts +12 -1
- package/dist/effects/ShockWave.d.ts +11 -1
- package/dist/effects/Texture.d.ts +4 -4
- package/dist/effects/TiltShift.d.ts +9 -1
- package/dist/effects/TiltShift2.d.ts +44 -4
- package/dist/effects/ToneMapping.d.ts +9 -3
- package/dist/effects/Vignette.d.ts +18 -1
- package/dist/effects/Water.d.ts +17 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +2205 -713
- package/dist/index.js.map +1 -1
- package/dist/passes/DepthPicking.d.ts +11 -0
- package/dist/{effects → passes}/N8AO.d.ts +2 -1
- package/dist/util.d.ts +9 -15
- package/dist/wrapEffect.d.ts +3 -3
- package/package.json +6 -5
- package/src/EffectComposer.tsx +143 -42
- package/src/EffectGroup.tsx +74 -0
- package/src/createEffectComponent.tsx +71 -0
- package/src/effects/ASCII.tsx +75 -28
- package/src/effects/Autofocus.tsx +24 -77
- package/src/effects/Bloom.tsx +32 -4
- package/src/effects/BrightnessContrast.tsx +5 -2
- package/src/effects/ChromaticAberration.tsx +13 -21
- package/src/effects/ColorAverage.tsx +3 -16
- package/src/effects/ColorDepth.tsx +23 -2
- package/src/effects/Depth.tsx +4 -2
- package/src/effects/DepthOfField.tsx +48 -26
- package/src/effects/DotScreen.tsx +5 -2
- package/src/effects/FXAA.tsx +4 -2
- package/src/effects/Glitch.tsx +26 -31
- package/src/effects/GodRays.tsx +90 -6
- package/src/effects/Grid.tsx +17 -18
- package/src/effects/HueSaturation.tsx +5 -2
- package/src/effects/LUT.tsx +9 -11
- package/src/effects/LensFlare.tsx +209 -55
- package/src/effects/Noise.tsx +14 -2
- package/src/effects/Outline.tsx +55 -56
- package/src/effects/Pixelation.tsx +11 -8
- package/src/effects/Ramp.tsx +96 -7
- package/src/effects/SMAA.tsx +18 -2
- package/src/effects/SSAO.tsx +130 -22
- package/src/effects/ScanlineEffect.tsx +6 -6
- package/src/effects/SelectiveBloom.tsx +26 -44
- package/src/effects/Sepia.tsx +4 -2
- package/src/effects/ShockWave.tsx +30 -2
- package/src/effects/Texture.tsx +10 -9
- package/src/effects/TiltShift.tsx +30 -2
- package/src/effects/TiltShift2.tsx +72 -6
- package/src/effects/ToneMapping.tsx +16 -3
- package/src/effects/Vignette.tsx +5 -2
- package/src/effects/Water.tsx +21 -6
- package/src/index.ts +4 -2
- package/src/passes/DepthPicking.tsx +63 -0
- package/src/{effects → passes}/N8AO.tsx +28 -4
- package/src/tests/Autofocus.test.tsx +38 -0
- package/src/tests/Bloom.test.tsx +76 -0
- package/src/tests/ChromaticAberration.test.tsx +50 -0
- package/src/tests/ColorDepth.test.tsx +71 -0
- package/src/tests/DepthOfField.test.tsx +130 -0
- package/src/tests/DepthPicking.test.tsx +250 -0
- package/src/tests/EffectComposer.test.tsx +501 -8
- package/src/tests/EffectGroup.test.tsx +337 -0
- package/src/tests/Glitch.test.tsx +56 -0
- package/src/tests/GodRays.test.tsx +101 -0
- package/src/tests/Grid.test.tsx +34 -0
- package/src/tests/LUT.test.tsx +64 -0
- package/src/tests/N8AO.test.tsx +92 -0
- package/src/tests/Outline.test.tsx +122 -0
- package/src/tests/SSAO.test.tsx +140 -0
- package/src/tests/SelectiveBloom.test.tsx +48 -0
- package/src/tests/ShockWave.test.tsx +95 -0
- package/src/tests/TiltShift.test.tsx +76 -0
- package/src/tests/createEffectComponent.test.tsx +286 -0
- package/src/tests/effects.smoke.test.tsx +46 -42
- package/src/util.tsx +148 -23
- package/src/wrapEffect.tsx +3 -2
- package/dist/tests/test-utils.d.ts +0 -12
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/EffectComposer.tsx","../src/Selection.tsx","../src/util.tsx","../src/wrapEffect.tsx","../src/effects/ASCII.tsx","../src/effects/DepthOfField.tsx","../src/effects/Autofocus.tsx","../src/effects/Bloom.tsx","../src/effects/BrightnessContrast.tsx","../src/effects/ChromaticAberration.tsx","../src/effects/ColorAverage.tsx","../src/effects/ColorDepth.tsx","../src/effects/Depth.tsx","../src/effects/DotScreen.tsx","../src/effects/FXAA.tsx","../src/effects/Glitch.tsx","../src/effects/GodRays.tsx","../src/effects/Grid.tsx","../src/effects/HueSaturation.tsx","../src/effects/LensFlare.tsx","../src/effects/LUT.tsx","../src/effects/Noise.tsx","../src/effects/Outline.tsx","../src/effects/Pixelation.tsx","../src/effects/Ramp.tsx","../src/effects/ScanlineEffect.tsx","../src/effects/SelectiveBloom.tsx","../src/effects/Sepia.tsx","../src/effects/ShockWave.tsx","../src/effects/SMAA.tsx","../src/effects/SSAO.tsx","../src/effects/Texture.tsx","../src/effects/TiltShift.tsx","../src/effects/TiltShift2.tsx","../src/effects/ToneMapping.tsx","../src/effects/Vignette.tsx","../src/effects/Water.tsx","../src/effects/N8AO.tsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/Selection.tsx","../src/util.tsx","../src/createEffectComponent.tsx","../src/EffectComposer.tsx","../src/EffectGroup.tsx","../src/wrapEffect.tsx","../src/effects/ASCII.tsx","../src/passes/DepthPicking.tsx","../src/effects/DepthOfField.tsx","../src/effects/Autofocus.tsx","../src/effects/Bloom.tsx","../src/effects/BrightnessContrast.tsx","../src/effects/ChromaticAberration.tsx","../src/effects/ColorAverage.tsx","../src/effects/ColorDepth.tsx","../src/effects/Depth.tsx","../src/effects/DotScreen.tsx","../src/effects/FXAA.tsx","../src/effects/Glitch.tsx","../src/effects/GodRays.tsx","../src/effects/Grid.tsx","../src/effects/HueSaturation.tsx","../src/effects/LensFlare.tsx","../src/effects/LUT.tsx","../src/effects/Noise.tsx","../src/effects/Outline.tsx","../src/effects/Pixelation.tsx","../src/effects/Ramp.tsx","../src/effects/ScanlineEffect.tsx","../src/effects/SelectiveBloom.tsx","../src/effects/Sepia.tsx","../src/effects/ShockWave.tsx","../src/effects/SMAA.tsx","../src/effects/SSAO.tsx","../src/effects/Texture.tsx","../src/effects/TiltShift.tsx","../src/effects/TiltShift2.tsx","../src/effects/ToneMapping.tsx","../src/effects/Vignette.tsx","../src/effects/Water.tsx","../src/passes/N8AO.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Ref } from 'react';
|
|
2
|
+
import type { Camera } from 'three';
|
|
3
|
+
import { Vector2, Vector3 } from 'three';
|
|
4
|
+
export type DepthPickingApi = {
|
|
5
|
+
readDepth: (ndc: Vector2 | Vector3) => Promise<number>;
|
|
6
|
+
};
|
|
7
|
+
export type DepthPickingProps = {
|
|
8
|
+
ref?: Ref<DepthPickingApi>;
|
|
9
|
+
};
|
|
10
|
+
export declare function DepthPicking({ ref }: DepthPickingProps): null;
|
|
11
|
+
export declare function useDepthPicking(pass: React.RefObject<DepthPickingApi | null>, camera?: Camera): (x: number, y: number) => Promise<Vector3 | false>;
|
|
@@ -2,6 +2,7 @@ import { ReactThreeFiber } from '@react-three/fiber';
|
|
|
2
2
|
import { Ref } from 'react';
|
|
3
3
|
import { N8AOPostPass } from 'n8ao';
|
|
4
4
|
export type N8AOProps = {
|
|
5
|
+
enabled?: boolean;
|
|
5
6
|
aoRadius?: number;
|
|
6
7
|
distanceFalloff?: number;
|
|
7
8
|
intensity?: number;
|
|
@@ -16,4 +17,4 @@ export type N8AOProps = {
|
|
|
16
17
|
renderMode?: 0 | 1 | 2 | 3 | 4;
|
|
17
18
|
ref?: Ref<N8AOPostPass>;
|
|
18
19
|
};
|
|
19
|
-
export declare function N8AO({ halfRes, screenSpaceRadius, quality, depthAwareUpsampling, aoRadius, aoSamples, denoiseSamples, denoiseRadius, distanceFalloff, intensity, color, renderMode, ref, }: N8AOProps): import("react").JSX.Element;
|
|
20
|
+
export declare function N8AO({ enabled, halfRes, screenSpaceRadius, quality, depthAwareUpsampling, aoRadius, aoSamples, denoiseSamples, denoiseRadius, distanceFalloff, intensity, color, renderMode, ref, }: N8AOProps): import("react").JSX.Element;
|
package/dist/util.d.ts
CHANGED
|
@@ -1,25 +1,19 @@
|
|
|
1
1
|
import type { Selection as PPSelection } from 'postprocessing';
|
|
2
|
-
import { type RefObject } from 'react';
|
|
3
|
-
import { Object3D, Vector2 } from 'three';
|
|
2
|
+
import { type Ref, type RefObject } from 'react';
|
|
3
|
+
import { Group, Object3D, Vector2, Vector3 } from 'three';
|
|
4
4
|
export declare const EMPTY_ARRAY: never[];
|
|
5
5
|
export declare const resolveRef: <T>(ref: T | RefObject<T>) => T;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* `selection` prop (used only when there's no enclosing <Selection>), or
|
|
10
|
-
* the declarative Selection/Select API. The two are mutually exclusive -
|
|
11
|
-
* context wins when both are present.
|
|
12
|
-
*/
|
|
6
|
+
export declare function useMergeRefs<T>(localRef: RefObject<T | null>, outerRef: Ref<T> | undefined): (instance: T | null) => void | (() => void);
|
|
7
|
+
export declare function readGroupChildren<T>(group: Group, filter: (object: unknown) => object is T): T[];
|
|
8
|
+
export declare function updateIfChanged<T>(ref: RefObject<T[]>, next: T[]): boolean;
|
|
13
9
|
export declare function useSelectionSync(effect: {
|
|
14
10
|
selection: PPSelection;
|
|
15
11
|
}, selection: Object3D | Object3D[] | RefObject<Object3D | null> | RefObject<Object3D | null>[], selectionLayer: number): void;
|
|
16
|
-
/**
|
|
17
|
-
* r3f never disposes <primitive> objects (their state may be owned outside
|
|
18
|
-
* React), so effects rendered that way must dispose themselves. Guards
|
|
19
|
-
* against double-dispose across StrictMode's dev-only mount/cleanup/mount
|
|
20
|
-
* cycle, where the cleanup closure re-runs against the same instance.
|
|
21
|
-
*/
|
|
22
12
|
export declare const useDispose: <T extends {
|
|
23
13
|
dispose?: () => void;
|
|
24
14
|
}>(instance: T) => void;
|
|
15
|
+
export declare function readPierced(instance: object, key: string): unknown;
|
|
16
|
+
export declare function applyPierced(instance: object, key: string, value: unknown): void;
|
|
17
|
+
export declare function useLiveDefaults<T extends object>(instance: T | RefObject<T | null> | null, values: Record<string, unknown>, keys: Iterable<string>, get?: (instance: T, key: string) => unknown, set?: (instance: T, key: string, value: unknown) => void): void;
|
|
25
18
|
export declare const useVector2: (props: Record<string, unknown>, key: string) => Vector2;
|
|
19
|
+
export declare const useVector3: (props: Record<string, unknown>, key: string) => Vector3;
|
package/dist/wrapEffect.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { BlendFunction
|
|
1
|
+
import type { BlendFunction } from 'postprocessing';
|
|
2
2
|
import { type JSX, type Ref } from 'react';
|
|
3
|
-
|
|
3
|
+
import type { EffectConstructor } from './createEffectComponent';
|
|
4
|
+
export type { EffectConstructor };
|
|
4
5
|
type FirstConstructorParam<T extends EffectConstructor> = ConstructorParameters<T> extends [infer P, ...any[]] ? P : ConstructorParameters<T> extends [(infer P)?, ...any[]] ? Partial<P> : {};
|
|
5
6
|
export type EffectProps<T extends EffectConstructor> = FirstConstructorParam<T> & {
|
|
6
7
|
ref?: Ref<InstanceType<T>>;
|
|
@@ -9,4 +10,3 @@ export type EffectProps<T extends EffectConstructor> = FirstConstructorParam<T>
|
|
|
9
10
|
args?: ConstructorParameters<T>;
|
|
10
11
|
};
|
|
11
12
|
export declare function wrapEffect<T extends EffectConstructor>(effect: T, defaults?: EffectProps<T>): (props: EffectProps<T>) => JSX.Element;
|
|
12
|
-
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-three/postprocessing",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.1",
|
|
4
4
|
"description": "postprocessing wrapper for React and @react-three/fiber",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"postprocessing",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"3d"
|
|
12
12
|
],
|
|
13
13
|
"license": "MIT",
|
|
14
|
+
"packageManager": "pnpm@11.15.1",
|
|
14
15
|
"files": [
|
|
15
16
|
"dist",
|
|
16
17
|
"src"
|
|
@@ -28,7 +29,7 @@
|
|
|
28
29
|
},
|
|
29
30
|
"homepage": "https://github.com/pmndrs/react-postprocessing#readme",
|
|
30
31
|
"scripts": {
|
|
31
|
-
"build": "vite build && tsc",
|
|
32
|
+
"build": "vite build && tsc -p tsconfig.build.json",
|
|
32
33
|
"eslint": "eslint . --fix",
|
|
33
34
|
"eslint:ci": "eslint .",
|
|
34
35
|
"test": "vitest run",
|
|
@@ -67,7 +68,7 @@
|
|
|
67
68
|
"peerDependencies": {
|
|
68
69
|
"@react-three/fiber": ">=9.7.0",
|
|
69
70
|
"postprocessing": "^6.36.0",
|
|
70
|
-
"react": "^19.
|
|
71
|
-
"three": ">= 0.
|
|
71
|
+
"react": "^19.0.0",
|
|
72
|
+
"three": ">= 0.156.0"
|
|
72
73
|
}
|
|
73
|
-
}
|
|
74
|
+
}
|
package/src/EffectComposer.tsx
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { useFrame, useThree
|
|
1
|
+
import { useFrame, useThree } from '@react-three/fiber'
|
|
2
2
|
import {
|
|
3
|
+
CopyPass,
|
|
3
4
|
DepthDownsamplingPass,
|
|
4
5
|
Effect,
|
|
5
6
|
EffectAttribute,
|
|
@@ -16,13 +17,15 @@ import {
|
|
|
16
17
|
useImperativeHandle,
|
|
17
18
|
useLayoutEffect,
|
|
18
19
|
useMemo,
|
|
20
|
+
useReducer,
|
|
19
21
|
useRef,
|
|
20
22
|
useState,
|
|
21
23
|
type ReactNode,
|
|
22
24
|
type Ref,
|
|
23
25
|
} from 'react'
|
|
24
26
|
import type { Camera, Group, Scene, TextureDataType, WebGLRenderer } from 'three'
|
|
25
|
-
import { HalfFloatType, NoToneMapping } from 'three'
|
|
27
|
+
import { HalfFloatType, NoToneMapping, Vector2 } from 'three'
|
|
28
|
+
import { readGroupChildren, updateIfChanged } from './util'
|
|
26
29
|
|
|
27
30
|
export const EffectComposerContext = /* @__PURE__ */ createContext<{
|
|
28
31
|
composer: EffectComposerImpl
|
|
@@ -31,6 +34,11 @@ export const EffectComposerContext = /* @__PURE__ */ createContext<{
|
|
|
31
34
|
camera: Camera
|
|
32
35
|
scene: Scene
|
|
33
36
|
resolutionScale?: number
|
|
37
|
+
// A child's local state update doesn't re-render its parent - descendants
|
|
38
|
+
// that add/remove a bare Pass of their own (e.g. EffectGroup) call this
|
|
39
|
+
// to make the tree walk below notice.
|
|
40
|
+
requestRebuild: () => void
|
|
41
|
+
autoClear: boolean
|
|
34
42
|
}>(null!)
|
|
35
43
|
|
|
36
44
|
export type EffectComposerProps = {
|
|
@@ -41,12 +49,15 @@ export type EffectComposerProps = {
|
|
|
41
49
|
enableNormalPass?: boolean
|
|
42
50
|
stencilBuffer?: boolean
|
|
43
51
|
autoClear?: boolean
|
|
52
|
+
autoRenderToScreen?: boolean
|
|
44
53
|
resolutionScale?: number
|
|
45
54
|
multisampling?: number
|
|
46
55
|
frameBufferType?: TextureDataType
|
|
47
56
|
renderPriority?: number
|
|
48
57
|
camera?: Camera
|
|
49
58
|
scene?: Scene
|
|
59
|
+
renderPass?: (scene: Scene, camera: Camera) => Pass
|
|
60
|
+
mergeMode?: 'auto' | 'all' | 'none'
|
|
50
61
|
ref?: Ref<EffectComposerImpl>
|
|
51
62
|
}
|
|
52
63
|
|
|
@@ -59,11 +70,8 @@ type ComposerState = {
|
|
|
59
70
|
const isConvolution = (effect: Effect): boolean =>
|
|
60
71
|
(effect.getAttributes() & EffectAttribute.CONVOLUTION) === EffectAttribute.CONVOLUTION
|
|
61
72
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
* them. Ref-counted per (renderer, property) since composers can share a
|
|
65
|
-
* renderer; skips restoring if the value already changed since acquire.
|
|
66
|
-
*/
|
|
73
|
+
// autoClear/toneMapping get force-set and never restored. Ref-counted per
|
|
74
|
+
// (renderer, property) since composers can share a renderer.
|
|
67
75
|
function createRendererPropertyGuard<K extends 'autoClear' | 'toneMapping'>(property: K) {
|
|
68
76
|
const refs = new WeakMap<
|
|
69
77
|
WebGLRenderer,
|
|
@@ -97,12 +105,48 @@ function createRendererPropertyGuard<K extends 'autoClear' | 'toneMapping'>(prop
|
|
|
97
105
|
const autoClearGuard = /* @__PURE__ */ createRendererPropertyGuard('autoClear')
|
|
98
106
|
const toneMappingGuard = /* @__PURE__ */ createRendererPropertyGuard('toneMapping')
|
|
99
107
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
*/
|
|
105
|
-
|
|
108
|
+
// Scratch vector for gl.getSize() below - written then read synchronously
|
|
109
|
+
// within the same call, never held onto across a render/frame, so sharing
|
|
110
|
+
// one instance across every <EffectComposer> is safe (same reasoning as
|
|
111
|
+
// DEFAULT_SCREEN_RES in LensFlare.tsx: safe because nothing ever aliases it).
|
|
112
|
+
const glSize = /* @__PURE__ */ new Vector2()
|
|
113
|
+
|
|
114
|
+
// Stable identity for the `renderPass` default - it's in the creation
|
|
115
|
+
// effect's dependency array below (changing it recreates the composer,
|
|
116
|
+
// same as depthBuffer/multisampling), so a fresh arrow function every
|
|
117
|
+
// render here would recreate the composer on every render too.
|
|
118
|
+
const defaultRenderPass = (scene: Scene, camera: Camera): Pass => new RenderPass(scene, camera)
|
|
119
|
+
|
|
120
|
+
// Only passes buildPasses itself constructs - not a user's own bare Pass,
|
|
121
|
+
// which owns its own lifecycle.
|
|
122
|
+
const generatedPasses = /* @__PURE__ */ new WeakSet<Pass>()
|
|
123
|
+
|
|
124
|
+
// EffectGroup registers its pass here (see EffectGroup.tsx) so the rebuild
|
|
125
|
+
// effect below knows to add a shared trailing CopyPass.
|
|
126
|
+
export const groupPasses = /* @__PURE__ */ new WeakSet<Pass>()
|
|
127
|
+
|
|
128
|
+
// Not pass.dispose() - EffectPass.dispose() also disposes the effects it
|
|
129
|
+
// wraps, which have their own lifecycle. setEffects([]) detaches them first.
|
|
130
|
+
export function disposePassWithoutEffects(pass: Pass): void {
|
|
131
|
+
if (pass instanceof EffectPass) {
|
|
132
|
+
;(pass as unknown as { setEffects(effects: never[]): void }).setEffects([])
|
|
133
|
+
}
|
|
134
|
+
Pass.prototype.dispose.call(pass)
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function disposeGeneratedPass(pass: Pass): void {
|
|
138
|
+
if (!generatedPasses.has(pass)) return
|
|
139
|
+
disposePassWithoutEffects(pass)
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// 'auto' (default): consecutive Effects share one EffectPass, same as vanilla
|
|
143
|
+
// postprocessing allows by hand - a run may contain at most one convolution
|
|
144
|
+
// Effect (e.g. DepthOfField), since the library throws if two land in the
|
|
145
|
+
// same pass. 'all' merges through that limit too, same no-guardrail
|
|
146
|
+
// treatment EffectGroup already gives its own children - multiple
|
|
147
|
+
// convolution Effects in one run will throw at render time. 'none' gives
|
|
148
|
+
// every Effect its own EffectPass.
|
|
149
|
+
function buildPasses(nodes: Array<Effect | Pass>, camera: Camera, mergeMode: 'auto' | 'all' | 'none'): Pass[] {
|
|
106
150
|
const passes: Pass[] = []
|
|
107
151
|
|
|
108
152
|
for (let i = 0; i < nodes.length; i++) {
|
|
@@ -110,17 +154,22 @@ function buildPasses(nodes: Array<Effect | Pass>, camera: Camera): Pass[] {
|
|
|
110
154
|
|
|
111
155
|
if (node instanceof Effect) {
|
|
112
156
|
const effects: Effect[] = [node]
|
|
157
|
+
let hasConvolution = isConvolution(node)
|
|
113
158
|
|
|
114
|
-
if (
|
|
159
|
+
if (mergeMode !== 'none') {
|
|
115
160
|
let next: Effect | Pass | undefined
|
|
116
161
|
while ((next = nodes[i + 1]) instanceof Effect) {
|
|
117
|
-
|
|
162
|
+
const nextIsConvolution = isConvolution(next)
|
|
163
|
+
if (mergeMode === 'auto' && hasConvolution && nextIsConvolution) break
|
|
118
164
|
effects.push(next)
|
|
165
|
+
hasConvolution ||= nextIsConvolution
|
|
119
166
|
i++
|
|
120
167
|
}
|
|
121
168
|
}
|
|
122
169
|
|
|
123
|
-
|
|
170
|
+
const pass = new EffectPass(camera, ...effects)
|
|
171
|
+
generatedPasses.add(pass)
|
|
172
|
+
passes.push(pass)
|
|
124
173
|
} else if (node instanceof Pass) {
|
|
125
174
|
passes.push(node)
|
|
126
175
|
}
|
|
@@ -137,27 +186,35 @@ export const EffectComposer = /* @__PURE__ */ memo(function EffectComposer({
|
|
|
137
186
|
enabled = true,
|
|
138
187
|
renderPriority = 1,
|
|
139
188
|
autoClear = true,
|
|
189
|
+
autoRenderToScreen = true,
|
|
140
190
|
depthBuffer,
|
|
141
191
|
enableNormalPass,
|
|
142
192
|
stencilBuffer,
|
|
143
193
|
multisampling = 8,
|
|
144
194
|
frameBufferType = HalfFloatType,
|
|
195
|
+
renderPass = defaultRenderPass,
|
|
196
|
+
mergeMode = 'auto',
|
|
145
197
|
ref,
|
|
146
198
|
}: EffectComposerProps) {
|
|
147
|
-
const { gl, scene: defaultScene, camera: defaultCamera
|
|
199
|
+
const { gl, scene: defaultScene, camera: defaultCamera } = useThree()
|
|
148
200
|
const scene = _scene || defaultScene
|
|
149
201
|
const camera = _camera || defaultCamera
|
|
150
202
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
//
|
|
203
|
+
gl.getSize(glSize)
|
|
204
|
+
|
|
205
|
+
// useMemo can't own WebGL resources - React may discard it without cleanup.
|
|
154
206
|
const [composerState, setComposerState] = useState<ComposerState | null>(null)
|
|
155
207
|
|
|
208
|
+
// Dispatch is stable across renders, so it never destabilizes `state` below.
|
|
209
|
+
const [, requestRebuild] = useReducer((c: number) => c + 1, 0)
|
|
210
|
+
|
|
156
211
|
useEffect(() => {
|
|
157
212
|
autoClearGuard.acquire(gl, false)
|
|
158
213
|
|
|
159
214
|
const effectComposer = new EffectComposerImpl(gl, { depthBuffer, stencilBuffer, multisampling, frameBufferType })
|
|
160
|
-
|
|
215
|
+
|
|
216
|
+
effectComposer.autoRenderToScreen = autoRenderToScreen
|
|
217
|
+
effectComposer.addPass(renderPass(scene, camera))
|
|
161
218
|
|
|
162
219
|
let normalPass: NormalPass | null = null
|
|
163
220
|
let downSamplingPass: DepthDownsamplingPass | null = null
|
|
@@ -174,27 +231,51 @@ export const EffectComposer = /* @__PURE__ */ memo(function EffectComposer({
|
|
|
174
231
|
}
|
|
175
232
|
}
|
|
176
233
|
|
|
177
|
-
effectComposer.setSize(
|
|
234
|
+
effectComposer.setSize(glSize.width, glSize.height)
|
|
178
235
|
|
|
179
236
|
setComposerState({ composer: effectComposer, normalPass, downSamplingPass })
|
|
180
237
|
|
|
181
238
|
return () => {
|
|
239
|
+
// The rebuild effect below may not have detached its passes yet
|
|
240
|
+
// (composerState only updates next render) - without this, dispose()
|
|
241
|
+
// would kill effects the new composer is about to reuse.
|
|
242
|
+
for (const pass of effectComposer.passes) disposeGeneratedPass(pass)
|
|
182
243
|
effectComposer.dispose()
|
|
183
244
|
autoClearGuard.release(gl)
|
|
184
245
|
}
|
|
185
|
-
// `
|
|
246
|
+
// `glSize` intentionally excluded: it's applied via the composer.setSize
|
|
186
247
|
// effect below, and shouldn't tear down/recreate the whole composer.
|
|
187
248
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
188
|
-
}, [
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
249
|
+
}, [
|
|
250
|
+
camera,
|
|
251
|
+
gl,
|
|
252
|
+
depthBuffer,
|
|
253
|
+
stencilBuffer,
|
|
254
|
+
multisampling,
|
|
255
|
+
frameBufferType,
|
|
256
|
+
autoRenderToScreen,
|
|
257
|
+
renderPass,
|
|
258
|
+
scene,
|
|
259
|
+
enableNormalPass,
|
|
260
|
+
resolutionScale,
|
|
261
|
+
])
|
|
262
|
+
|
|
263
|
+
// Last size actually applied to the composer, so the check below is a
|
|
264
|
+
// cheap no-op on frames where nothing changed.
|
|
265
|
+
const appliedSizeRef = useRef({ width: -1, height: -1 })
|
|
193
266
|
|
|
194
267
|
useFrame(
|
|
195
268
|
(_, delta) => {
|
|
196
269
|
if (!enabled || !composerState) return
|
|
197
270
|
const { composer } = composerState
|
|
271
|
+
|
|
272
|
+
gl.getSize(glSize)
|
|
273
|
+
if (glSize.width !== appliedSizeRef.current.width || glSize.height !== appliedSizeRef.current.height) {
|
|
274
|
+
composer.setSize(glSize.width, glSize.height)
|
|
275
|
+
appliedSizeRef.current.width = glSize.width
|
|
276
|
+
appliedSizeRef.current.height = glSize.height
|
|
277
|
+
}
|
|
278
|
+
|
|
198
279
|
const currentAutoClear = gl.autoClear
|
|
199
280
|
gl.autoClear = autoClear
|
|
200
281
|
if (stencilBuffer && !autoClear) gl.clearStencil()
|
|
@@ -204,24 +285,39 @@ export const EffectComposer = /* @__PURE__ */ memo(function EffectComposer({
|
|
|
204
285
|
enabled ? renderPriority : 0
|
|
205
286
|
)
|
|
206
287
|
|
|
207
|
-
//
|
|
208
|
-
//
|
|
209
|
-
// through wrapper components — even after a reorder or a remount.
|
|
288
|
+
// Derived from the r3f scene graph (not tracked incrementally) so order
|
|
289
|
+
// always matches JSX, even through wrapper components or a reorder.
|
|
210
290
|
const group = useRef<Group>(null!)
|
|
291
|
+
const nodesRef = useRef<Array<Effect | Pass>>([])
|
|
292
|
+
const [nodesVersion, setNodesVersion] = useState(0)
|
|
211
293
|
|
|
294
|
+
// Runs every render, but only bumps nodesVersion (triggering the rebuild
|
|
295
|
+
// below) when the resolved node list actually changed.
|
|
296
|
+
useLayoutEffect(() => {
|
|
297
|
+
if (!composerState) return
|
|
298
|
+
const nodes = readGroupChildren(
|
|
299
|
+
group.current,
|
|
300
|
+
(object): object is Effect | Pass => object instanceof Effect || object instanceof Pass
|
|
301
|
+
)
|
|
302
|
+
if (updateIfChanged(nodesRef, nodes)) setNodesVersion((v) => v + 1)
|
|
303
|
+
})
|
|
304
|
+
|
|
305
|
+
// Only re-runs when nodesVersion/composerState/camera change - React's
|
|
306
|
+
// own dependency bailout, so create/cleanup pairing stays correct.
|
|
212
307
|
useLayoutEffect(() => {
|
|
213
308
|
if (!composerState) return
|
|
214
309
|
const { composer, normalPass, downSamplingPass } = composerState
|
|
215
310
|
|
|
216
|
-
const passes
|
|
217
|
-
const groupInstance = (group.current as Group & { __r3f: Instance<Group> }).__r3f
|
|
311
|
+
const passes = buildPasses(nodesRef.current, camera, mergeMode)
|
|
218
312
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
313
|
+
// A toggleable pass (EffectGroup) sitting last would leave nothing on
|
|
314
|
+
// screen once disabled - postprocessing assigns renderToScreen by
|
|
315
|
+
// structural position, not `.enabled`. A shared trailing CopyPass
|
|
316
|
+
// (always enabled, always added last) fixes that for the whole chain.
|
|
317
|
+
if (passes.some((pass) => groupPasses.has(pass))) {
|
|
318
|
+
const trailingCopyPass = new CopyPass()
|
|
319
|
+
generatedPasses.add(trailingCopyPass)
|
|
320
|
+
passes.push(trailingCopyPass)
|
|
225
321
|
}
|
|
226
322
|
|
|
227
323
|
for (const pass of passes) composer.addPass(pass)
|
|
@@ -232,11 +328,14 @@ export const EffectComposer = /* @__PURE__ */ memo(function EffectComposer({
|
|
|
232
328
|
}
|
|
233
329
|
|
|
234
330
|
return () => {
|
|
235
|
-
for (const pass of passes)
|
|
331
|
+
for (const pass of passes) {
|
|
332
|
+
composer.removePass(pass)
|
|
333
|
+
disposeGeneratedPass(pass)
|
|
334
|
+
}
|
|
236
335
|
if (normalPass) normalPass.enabled = false
|
|
237
336
|
if (downSamplingPass) downSamplingPass.enabled = false
|
|
238
337
|
}
|
|
239
|
-
}, [composerState,
|
|
338
|
+
}, [composerState, nodesVersion, camera, mergeMode])
|
|
240
339
|
|
|
241
340
|
// Disable tone mapping because threejs disallows tonemapping on render targets
|
|
242
341
|
useEffect(() => {
|
|
@@ -258,9 +357,11 @@ export const EffectComposer = /* @__PURE__ */ memo(function EffectComposer({
|
|
|
258
357
|
resolutionScale,
|
|
259
358
|
camera,
|
|
260
359
|
scene,
|
|
360
|
+
requestRebuild,
|
|
361
|
+
autoClear,
|
|
261
362
|
}
|
|
262
363
|
: null,
|
|
263
|
-
[composerState, resolutionScale, camera, scene]
|
|
364
|
+
[composerState, resolutionScale, camera, scene, requestRebuild, autoClear]
|
|
264
365
|
)
|
|
265
366
|
|
|
266
367
|
// Expose the composer
|