@react-three/drei 9.74.0 → 9.74.2
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 +12 -4
- package/core/FaceControls.cjs.js +1 -1
- package/core/Facemesh.cjs.js +1 -1
- package/core/Facemesh.js +2 -3
- package/core/Hud.cjs.js +1 -1
- package/core/Hud.js +5 -2
- package/core/MeshPortalMaterial.cjs.js +1 -1
- package/core/MeshPortalMaterial.d.ts +22 -25
- package/core/MeshPortalMaterial.js +312 -10
- package/core/RenderTexture.cjs.js +1 -1
- package/core/RenderTexture.js +3 -1
- package/core/index.cjs.js +1 -1
- package/core/index.js +0 -1
- package/index.cjs.js +1 -1
- package/native/index.cjs.js +1 -1
- package/native/index.js +0 -1
- package/package.json +1 -1
- package/web/View.cjs.js +1 -1
- package/web/View.js +3 -1
- package/web/index.cjs.js +1 -1
- package/web/index.js +0 -1
|
@@ -1,34 +1,31 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { ReactThreeFiber } from '@react-three/fiber';
|
|
4
|
+
export declare type PortalMaterialType = ReactThreeFiber.ShaderMaterialProps & {
|
|
5
|
+
resolution: ReactThreeFiber.Vector2;
|
|
6
|
+
blur: number;
|
|
7
|
+
size: number;
|
|
8
|
+
sdf: THREE.Texture;
|
|
9
|
+
map: THREE.Texture;
|
|
10
|
+
};
|
|
4
11
|
declare global {
|
|
5
12
|
namespace JSX {
|
|
6
13
|
interface IntrinsicElements {
|
|
7
|
-
|
|
8
|
-
resolution: ReactThreeFiber.Vector2;
|
|
9
|
-
};
|
|
14
|
+
portalMaterialImpl: PortalMaterialType;
|
|
10
15
|
}
|
|
11
16
|
}
|
|
12
17
|
}
|
|
13
|
-
export declare type PortalProps = JSX.IntrinsicElements['
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
rotation?: ReactThreeFiber.Euler | undefined;
|
|
28
|
-
matrix?: ReactThreeFiber.Matrix4 | undefined;
|
|
29
|
-
quaternion?: ReactThreeFiber.Quaternion | undefined;
|
|
30
|
-
layers?: ReactThreeFiber.Layers | undefined;
|
|
31
|
-
dispose?: (() => void) | null | undefined;
|
|
32
|
-
} & import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<typeof THREE.ShaderMaterial & {
|
|
33
|
-
key: string;
|
|
34
|
-
}>>;
|
|
18
|
+
export declare type PortalProps = JSX.IntrinsicElements['portalMaterialImpl'] & {
|
|
19
|
+
blur?: number;
|
|
20
|
+
resolution?: number;
|
|
21
|
+
};
|
|
22
|
+
export declare const MeshPortalMaterial: React.ForwardRefExoticComponent<Pick<ReactThreeFiber.ExtendedColors<ReactThreeFiber.Overwrite<Partial<THREE.ShaderMaterial>, ReactThreeFiber.NodeProps<THREE.ShaderMaterial, [THREE.ShaderMaterialParameters]>>> & {
|
|
23
|
+
resolution: ReactThreeFiber.Vector2;
|
|
24
|
+
blur: number;
|
|
25
|
+
size: number;
|
|
26
|
+
sdf: THREE.Texture;
|
|
27
|
+
map: THREE.Texture;
|
|
28
|
+
} & {
|
|
29
|
+
blur?: number | undefined;
|
|
30
|
+
resolution?: number | undefined;
|
|
31
|
+
}, "attach" | "args" | "children" | "key" | "onUpdate" | "size" | "map" | keyof THREE.ShaderMaterial | "blur" | "resolution" | "sdf"> & React.RefAttributes<PortalMaterialType>>;
|
|
@@ -2,49 +2,98 @@ import _extends from '@babel/runtime/helpers/esm/extends';
|
|
|
2
2
|
import * as THREE from 'three';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { extend, useThree, useFrame } from '@react-three/fiber';
|
|
5
|
+
import { useFBO } from './useFBO.js';
|
|
5
6
|
import { RenderTexture } from './RenderTexture.js';
|
|
6
7
|
import { shaderMaterial } from './shaderMaterial.js';
|
|
8
|
+
import { FullScreenQuad } from 'three-stdlib';
|
|
7
9
|
|
|
8
|
-
const
|
|
10
|
+
const PortalMaterialImpl = shaderMaterial({
|
|
11
|
+
blur: 0,
|
|
9
12
|
map: null,
|
|
13
|
+
sdf: null,
|
|
14
|
+
size: 0,
|
|
10
15
|
resolution: new THREE.Vector2()
|
|
11
|
-
}, `
|
|
16
|
+
}, `varying vec2 vUv;
|
|
17
|
+
void main() {
|
|
12
18
|
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
13
|
-
|
|
19
|
+
vUv = uv;
|
|
20
|
+
}`, `uniform sampler2D sdf;
|
|
21
|
+
uniform sampler2D map;
|
|
22
|
+
uniform float blur;
|
|
23
|
+
uniform float size;
|
|
24
|
+
uniform float time;
|
|
14
25
|
uniform vec2 resolution;
|
|
26
|
+
varying vec2 vUv;
|
|
27
|
+
#include <packing>
|
|
15
28
|
void main() {
|
|
16
29
|
vec2 uv = gl_FragCoord.xy / resolution.xy;
|
|
17
30
|
vec4 t = texture2D(map, uv);
|
|
18
|
-
|
|
31
|
+
float k = blur;
|
|
32
|
+
float d = texture2D(sdf, vUv).r/size;
|
|
33
|
+
float alpha = 1.0 - smoothstep(0.0, 1.0, clamp(d/k + 1.0, 0.0, 1.0));
|
|
34
|
+
gl_FragColor = vec4(t.rgb, blur == 0.0 ? t.a : t.a * alpha);
|
|
19
35
|
#include <tonemapping_fragment>
|
|
20
36
|
#include <encodings_fragment>
|
|
21
37
|
}`);
|
|
22
38
|
const MeshPortalMaterial = /*#__PURE__*/React.forwardRef(({
|
|
23
39
|
children,
|
|
40
|
+
resolution = 512,
|
|
24
41
|
...props
|
|
25
42
|
}, fref) => {
|
|
26
43
|
extend({
|
|
27
|
-
|
|
44
|
+
PortalMaterialImpl
|
|
28
45
|
});
|
|
29
46
|
const ref = React.useRef(null);
|
|
30
47
|
const group = React.useRef(null);
|
|
31
48
|
const {
|
|
49
|
+
gl,
|
|
32
50
|
size,
|
|
33
51
|
events,
|
|
34
52
|
viewport
|
|
35
53
|
} = useThree();
|
|
36
|
-
|
|
54
|
+
const maskRenderTarget = useFBO(resolution, resolution);
|
|
55
|
+
const [imageMaterial] = React.useState(() => new THREE.MeshBasicMaterial());
|
|
56
|
+
React.useLayoutEffect(() => {
|
|
37
57
|
var _ref$current;
|
|
38
58
|
|
|
39
|
-
let
|
|
59
|
+
let mask = (_ref$current = ref.current) == null ? void 0 : _ref$current.__r3f.parent;
|
|
60
|
+
if (!mask) return;
|
|
61
|
+
const boundingBox = new THREE.Box3().setFromBufferAttribute(mask.geometry.attributes.position);
|
|
62
|
+
const orthoCam = new THREE.OrthographicCamera(boundingBox.min.x * (1 + 2 / resolution), boundingBox.max.x * (1 + 2 / resolution), boundingBox.max.y * (1 + 2 / resolution), boundingBox.min.y * (1 + 2 / resolution), 0.1, 1000);
|
|
63
|
+
orthoCam.position.set(0, 0, 1);
|
|
64
|
+
orthoCam.lookAt(0, 0, 0);
|
|
65
|
+
const oldMaterial = mask.material;
|
|
66
|
+
mask.material = imageMaterial;
|
|
67
|
+
gl.setRenderTarget(maskRenderTarget);
|
|
68
|
+
gl.render(mask, orthoCam);
|
|
69
|
+
const sg = makeSDFGenerator(resolution, resolution, gl);
|
|
70
|
+
const sdf = sg(maskRenderTarget.texture);
|
|
71
|
+
const readSdf = new Float32Array(resolution * resolution);
|
|
72
|
+
gl.readRenderTargetPixels(sdf, 0, 0, resolution, resolution, readSdf); // Get smallest value in sdf
|
|
73
|
+
|
|
74
|
+
let min = Infinity;
|
|
75
|
+
|
|
76
|
+
for (let i = 0; i < readSdf.length; i++) {
|
|
77
|
+
if (readSdf[i] < min) min = readSdf[i];
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
min = -min;
|
|
81
|
+
ref.current.size = min;
|
|
82
|
+
ref.current.sdf = sdf.texture;
|
|
83
|
+
mask.material = oldMaterial;
|
|
84
|
+
gl.setRenderTarget(null);
|
|
85
|
+
}, [resolution]);
|
|
86
|
+
useFrame(() => {
|
|
87
|
+
var _ref$current2;
|
|
88
|
+
|
|
89
|
+
let parent = (_ref$current2 = ref.current) == null ? void 0 : _ref$current2.__r3f.parent;
|
|
40
90
|
|
|
41
91
|
if (parent) {
|
|
42
92
|
group.current.matrix.copy(parent.matrixWorld);
|
|
43
93
|
}
|
|
44
94
|
});
|
|
45
95
|
React.useImperativeHandle(fref, () => ref.current);
|
|
46
|
-
return /*#__PURE__*/React.createElement("
|
|
47
|
-
// @ts-ignore
|
|
96
|
+
return /*#__PURE__*/React.createElement("portalMaterialImpl", _extends({
|
|
48
97
|
ref: ref,
|
|
49
98
|
resolution: [size.width * viewport.dpr, size.height * viewport.dpr],
|
|
50
99
|
toneMapped: false
|
|
@@ -52,10 +101,263 @@ const MeshPortalMaterial = /*#__PURE__*/React.forwardRef(({
|
|
|
52
101
|
attach: "map",
|
|
53
102
|
compute: events.compute
|
|
54
103
|
}, /*#__PURE__*/React.createElement("group", {
|
|
55
|
-
onPointerOver: () => null,
|
|
56
104
|
matrixAutoUpdate: false,
|
|
57
105
|
ref: group
|
|
58
106
|
}, children)));
|
|
59
107
|
});
|
|
60
108
|
|
|
109
|
+
const makeSDFGenerator = (clientWidth, clientHeight, renderer) => {
|
|
110
|
+
let finalTarget = new THREE.WebGLRenderTarget(clientWidth, clientHeight, {
|
|
111
|
+
minFilter: THREE.LinearMipmapLinearFilter,
|
|
112
|
+
magFilter: THREE.LinearFilter,
|
|
113
|
+
type: THREE.FloatType,
|
|
114
|
+
format: THREE.RedFormat,
|
|
115
|
+
generateMipmaps: true
|
|
116
|
+
});
|
|
117
|
+
let outsideRenderTarget = new THREE.WebGLRenderTarget(clientWidth, clientHeight, {
|
|
118
|
+
minFilter: THREE.NearestFilter,
|
|
119
|
+
magFilter: THREE.NearestFilter
|
|
120
|
+
});
|
|
121
|
+
let insideRenderTarget = new THREE.WebGLRenderTarget(clientWidth, clientHeight, {
|
|
122
|
+
minFilter: THREE.NearestFilter,
|
|
123
|
+
magFilter: THREE.NearestFilter
|
|
124
|
+
});
|
|
125
|
+
let outsideRenderTarget2 = new THREE.WebGLRenderTarget(clientWidth, clientHeight, {
|
|
126
|
+
minFilter: THREE.NearestFilter,
|
|
127
|
+
magFilter: THREE.NearestFilter
|
|
128
|
+
});
|
|
129
|
+
let insideRenderTarget2 = new THREE.WebGLRenderTarget(clientWidth, clientHeight, {
|
|
130
|
+
minFilter: THREE.NearestFilter,
|
|
131
|
+
magFilter: THREE.NearestFilter
|
|
132
|
+
});
|
|
133
|
+
let outsideRenderTargetFinal = new THREE.WebGLRenderTarget(clientWidth, clientHeight, {
|
|
134
|
+
minFilter: THREE.NearestFilter,
|
|
135
|
+
magFilter: THREE.NearestFilter,
|
|
136
|
+
type: THREE.FloatType,
|
|
137
|
+
format: THREE.RedFormat
|
|
138
|
+
});
|
|
139
|
+
let insideRenderTargetFinal = new THREE.WebGLRenderTarget(clientWidth, clientHeight, {
|
|
140
|
+
minFilter: THREE.NearestFilter,
|
|
141
|
+
magFilter: THREE.NearestFilter,
|
|
142
|
+
type: THREE.FloatType,
|
|
143
|
+
format: THREE.RedFormat
|
|
144
|
+
});
|
|
145
|
+
const uvRender = new FullScreenQuad(new THREE.ShaderMaterial({
|
|
146
|
+
uniforms: {
|
|
147
|
+
tex: {
|
|
148
|
+
value: null
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
vertexShader:
|
|
152
|
+
/*glsl*/
|
|
153
|
+
`
|
|
154
|
+
varying vec2 vUv;
|
|
155
|
+
void main() {
|
|
156
|
+
vUv = uv;
|
|
157
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
|
|
158
|
+
}`,
|
|
159
|
+
fragmentShader:
|
|
160
|
+
/*glsl*/
|
|
161
|
+
`
|
|
162
|
+
uniform sampler2D tex;
|
|
163
|
+
varying vec2 vUv;
|
|
164
|
+
#include <packing>
|
|
165
|
+
void main() {
|
|
166
|
+
gl_FragColor = pack2HalfToRGBA(vUv * (round(texture2D(tex, vUv).x)));
|
|
167
|
+
}`
|
|
168
|
+
}));
|
|
169
|
+
const uvRenderInside = new FullScreenQuad(new THREE.ShaderMaterial({
|
|
170
|
+
uniforms: {
|
|
171
|
+
tex: {
|
|
172
|
+
value: null
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
vertexShader:
|
|
176
|
+
/*glsl*/
|
|
177
|
+
`
|
|
178
|
+
varying vec2 vUv;
|
|
179
|
+
void main() {
|
|
180
|
+
vUv = uv;
|
|
181
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
|
|
182
|
+
}`,
|
|
183
|
+
fragmentShader:
|
|
184
|
+
/*glsl*/
|
|
185
|
+
`
|
|
186
|
+
uniform sampler2D tex;
|
|
187
|
+
varying vec2 vUv;
|
|
188
|
+
#include <packing>
|
|
189
|
+
void main() {
|
|
190
|
+
gl_FragColor = pack2HalfToRGBA(vUv * (1.0 - round(texture2D(tex, vUv).x)));
|
|
191
|
+
}`
|
|
192
|
+
}));
|
|
193
|
+
const jumpFloodRender = new FullScreenQuad(new THREE.ShaderMaterial({
|
|
194
|
+
uniforms: {
|
|
195
|
+
tex: {
|
|
196
|
+
value: null
|
|
197
|
+
},
|
|
198
|
+
offset: {
|
|
199
|
+
value: 0.0
|
|
200
|
+
},
|
|
201
|
+
level: {
|
|
202
|
+
value: 0.0
|
|
203
|
+
},
|
|
204
|
+
maxSteps: {
|
|
205
|
+
value: 0.0
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
vertexShader:
|
|
209
|
+
/*glsl*/
|
|
210
|
+
`
|
|
211
|
+
varying vec2 vUv;
|
|
212
|
+
void main() {
|
|
213
|
+
vUv = uv;
|
|
214
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
|
|
215
|
+
}`,
|
|
216
|
+
fragmentShader:
|
|
217
|
+
/*glsl*/
|
|
218
|
+
`
|
|
219
|
+
varying vec2 vUv;
|
|
220
|
+
uniform sampler2D tex;
|
|
221
|
+
uniform float offset;
|
|
222
|
+
uniform float level;
|
|
223
|
+
uniform float maxSteps;
|
|
224
|
+
#include <packing>
|
|
225
|
+
void main() {
|
|
226
|
+
float closestDist = 9999999.9;
|
|
227
|
+
vec2 closestPos = vec2(0.0);
|
|
228
|
+
for (float x = -1.0; x <= 1.0; x += 1.0) {
|
|
229
|
+
for (float y = -1.0; y <= 1.0; y += 1.0) {
|
|
230
|
+
vec2 voffset = vUv;
|
|
231
|
+
voffset += vec2(x, y) * vec2(${1 / clientWidth}, ${1 / clientHeight}) * offset;
|
|
232
|
+
vec2 pos = unpackRGBATo2Half(texture2D(tex, voffset));
|
|
233
|
+
float dist = distance(pos.xy, vUv);
|
|
234
|
+
if(pos.x != 0.0 && pos.y != 0.0 && dist < closestDist) {
|
|
235
|
+
closestDist = dist;
|
|
236
|
+
closestPos = pos;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
gl_FragColor = pack2HalfToRGBA(closestPos);
|
|
241
|
+
}`
|
|
242
|
+
}));
|
|
243
|
+
const distanceFieldRender = new FullScreenQuad(new THREE.ShaderMaterial({
|
|
244
|
+
uniforms: {
|
|
245
|
+
tex: {
|
|
246
|
+
value: null
|
|
247
|
+
},
|
|
248
|
+
size: {
|
|
249
|
+
value: new THREE.Vector2(clientWidth, clientHeight)
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
vertexShader:
|
|
253
|
+
/*glsl*/
|
|
254
|
+
`
|
|
255
|
+
varying vec2 vUv;
|
|
256
|
+
void main() {
|
|
257
|
+
vUv = uv;
|
|
258
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
|
|
259
|
+
}`,
|
|
260
|
+
fragmentShader:
|
|
261
|
+
/*glsl*/
|
|
262
|
+
`
|
|
263
|
+
varying vec2 vUv;
|
|
264
|
+
uniform sampler2D tex;
|
|
265
|
+
uniform vec2 size;
|
|
266
|
+
#include <packing>
|
|
267
|
+
void main() {
|
|
268
|
+
gl_FragColor = vec4(distance(size * unpackRGBATo2Half(texture2D(tex, vUv)), size * vUv), 0.0, 0.0, 0.0);
|
|
269
|
+
}`
|
|
270
|
+
}));
|
|
271
|
+
const compositeRender = new FullScreenQuad(new THREE.ShaderMaterial({
|
|
272
|
+
uniforms: {
|
|
273
|
+
inside: {
|
|
274
|
+
value: insideRenderTargetFinal.texture
|
|
275
|
+
},
|
|
276
|
+
outside: {
|
|
277
|
+
value: outsideRenderTargetFinal.texture
|
|
278
|
+
},
|
|
279
|
+
tex: {
|
|
280
|
+
value: null
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
vertexShader:
|
|
284
|
+
/*glsl*/
|
|
285
|
+
`
|
|
286
|
+
varying vec2 vUv;
|
|
287
|
+
void main() {
|
|
288
|
+
vUv = uv;
|
|
289
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
|
|
290
|
+
}`,
|
|
291
|
+
fragmentShader:
|
|
292
|
+
/*glsl*/
|
|
293
|
+
`
|
|
294
|
+
varying vec2 vUv;
|
|
295
|
+
uniform sampler2D inside;
|
|
296
|
+
uniform sampler2D outside;
|
|
297
|
+
uniform sampler2D tex;
|
|
298
|
+
#include <packing>
|
|
299
|
+
void main() {
|
|
300
|
+
float i = texture2D(inside, vUv).x;
|
|
301
|
+
float o =texture2D(outside, vUv).x;
|
|
302
|
+
if (texture2D(tex, vUv).x == 0.0) {
|
|
303
|
+
gl_FragColor = vec4(o, 0.0, 0.0, 0.0);
|
|
304
|
+
} else {
|
|
305
|
+
gl_FragColor = vec4(-i, 0.0, 0.0, 0.0);
|
|
306
|
+
}
|
|
307
|
+
}`
|
|
308
|
+
}));
|
|
309
|
+
return image => {
|
|
310
|
+
let ft = finalTarget;
|
|
311
|
+
image.minFilter = THREE.NearestFilter;
|
|
312
|
+
image.magFilter = THREE.NearestFilter;
|
|
313
|
+
uvRender.material.uniforms.tex.value = image;
|
|
314
|
+
renderer.setRenderTarget(outsideRenderTarget);
|
|
315
|
+
uvRender.render(renderer);
|
|
316
|
+
const passes = Math.ceil(Math.log(Math.max(clientWidth, clientHeight)) / Math.log(2.0));
|
|
317
|
+
let lastTarget = outsideRenderTarget;
|
|
318
|
+
let target = null;
|
|
319
|
+
|
|
320
|
+
for (let i = 0; i < passes; i++) {
|
|
321
|
+
const offset = Math.pow(2, passes - i - 1);
|
|
322
|
+
target = lastTarget === outsideRenderTarget ? outsideRenderTarget2 : outsideRenderTarget;
|
|
323
|
+
jumpFloodRender.material.uniforms.level.value = i;
|
|
324
|
+
jumpFloodRender.material.uniforms.maxSteps.value = passes;
|
|
325
|
+
jumpFloodRender.material.uniforms.offset.value = offset;
|
|
326
|
+
jumpFloodRender.material.uniforms.tex.value = lastTarget.texture;
|
|
327
|
+
renderer.setRenderTarget(target);
|
|
328
|
+
jumpFloodRender.render(renderer);
|
|
329
|
+
lastTarget = target;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
renderer.setRenderTarget(outsideRenderTargetFinal);
|
|
333
|
+
distanceFieldRender.material.uniforms.tex.value = target.texture;
|
|
334
|
+
distanceFieldRender.render(renderer);
|
|
335
|
+
uvRenderInside.material.uniforms.tex.value = image;
|
|
336
|
+
renderer.setRenderTarget(insideRenderTarget);
|
|
337
|
+
uvRenderInside.render(renderer);
|
|
338
|
+
lastTarget = insideRenderTarget;
|
|
339
|
+
|
|
340
|
+
for (let i = 0; i < passes; i++) {
|
|
341
|
+
const offset = Math.pow(2, passes - i - 1);
|
|
342
|
+
target = lastTarget === insideRenderTarget ? insideRenderTarget2 : insideRenderTarget;
|
|
343
|
+
jumpFloodRender.material.uniforms.level.value = i;
|
|
344
|
+
jumpFloodRender.material.uniforms.maxSteps.value = passes;
|
|
345
|
+
jumpFloodRender.material.uniforms.offset.value = offset;
|
|
346
|
+
jumpFloodRender.material.uniforms.tex.value = lastTarget.texture;
|
|
347
|
+
renderer.setRenderTarget(target);
|
|
348
|
+
jumpFloodRender.render(renderer);
|
|
349
|
+
lastTarget = target;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
renderer.setRenderTarget(insideRenderTargetFinal);
|
|
353
|
+
distanceFieldRender.material.uniforms.tex.value = target.texture;
|
|
354
|
+
distanceFieldRender.render(renderer);
|
|
355
|
+
renderer.setRenderTarget(ft);
|
|
356
|
+
compositeRender.material.uniforms.tex.value = image;
|
|
357
|
+
compositeRender.render(renderer);
|
|
358
|
+
renderer.setRenderTarget(null);
|
|
359
|
+
return ft;
|
|
360
|
+
};
|
|
361
|
+
};
|
|
362
|
+
|
|
61
363
|
export { MeshPortalMaterial };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("three"),t=require("react"),n=require("@react-three/fiber"),a=require("./useFBO.cjs.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=u(e),s=i(r),o=i(t);const l=o.forwardRef((({children:e,compute:r,width:t,height:u,samples:i=8,renderPriority:l=0,eventPriority:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("three"),t=require("react"),n=require("@react-three/fiber"),a=require("./useFBO.cjs.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=u(e),s=i(r),o=i(t);const l=o.forwardRef((({children:e,compute:r,width:t,height:u,samples:i=8,renderPriority:l=0,eventPriority:p=0,frames:d=1/0,stencilBuffer:m=!1,depthBuffer:b=!0,generateMipmaps:v=!1,...g},h)=>{const{size:y,viewport:j}=n.useThree(),O=a.useFBO((t||y.width)*j.dpr,(u||y.height)*j.dpr,{samples:i,stencilBuffer:m,depthBuffer:b,generateMipmaps:v}),[P]=o.useState((()=>new s.Scene)),x=o.useCallback(((e,r,t)=>{var n,a;let u=null==(n=O.texture)?void 0:n.__r3f.parent;for(;u&&!(u instanceof s.Object3D);)u=u.__r3f.parent;if(!u)return!1;t.raycaster.camera||t.events.compute(e,t,null==(a=t.previousRoot)?void 0:a.getState());const[i]=t.raycaster.intersectObject(u);if(!i)return!1;const c=i.uv;if(!c)return!1;r.raycaster.setFromCamera(r.pointer.set(2*c.x-1,2*c.y-1),r.camera)}),[]);return o.useImperativeHandle(h,(()=>O.texture),[O]),o.createElement(o.Fragment,null,n.createPortal(o.createElement(f,{renderPriority:l,frames:d,fbo:O},e,o.createElement("group",{onPointerOver:()=>null})),P,{events:{compute:r||x,priority:p}}),o.createElement("primitive",c.default({object:O.texture},g)))}));function f({frames:e,renderPriority:r,children:t,fbo:a}){let u=0;return n.useFrame((r=>{(e===1/0||u<e)&&(r.gl.setRenderTarget(a),r.gl.render(r.scene,r.camera),r.gl.setRenderTarget(null),u++)}),r),o.createElement(o.Fragment,null,t)}exports.RenderTexture=l;
|
package/core/RenderTexture.js
CHANGED
|
@@ -57,7 +57,9 @@ const RenderTexture = /*#__PURE__*/React.forwardRef(({
|
|
|
57
57
|
renderPriority: renderPriority,
|
|
58
58
|
frames: frames,
|
|
59
59
|
fbo: fbo
|
|
60
|
-
}, children
|
|
60
|
+
}, children, /*#__PURE__*/React.createElement("group", {
|
|
61
|
+
onPointerOver: () => null
|
|
62
|
+
})), vScene, {
|
|
61
63
|
events: {
|
|
62
64
|
compute: compute || uvCompute,
|
|
63
65
|
priority: eventPriority
|
package/core/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),a=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),c=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),x=require("./Edges.cjs.js"),l=require("./Trail.cjs.js"),m=require("./Sampler.cjs.js"),q=require("./ComputedAttribute.cjs.js"),d=require("./Clone.cjs.js"),h=require("./MarchingCubes.cjs.js"),C=require("./Decal.cjs.js"),M=require("./Svg.cjs.js"),S=require("./Gltf.cjs.js"),f=require("./AsciiRenderer.cjs.js"),T=require("./OrthographicCamera.cjs.js"),P=require("./PerspectiveCamera.cjs.js"),b=require("./CubeCamera.cjs.js"),B=require("./DeviceOrientationControls.cjs.js"),g=require("./FlyControls.cjs.js"),v=require("./MapControls.cjs.js"),F=require("./OrbitControls.cjs.js"),L=require("./TrackballControls.cjs.js"),A=require("./ArcballControls.cjs.js"),k=require("./TransformControls.cjs.js"),D=require("./PointerLockControls.cjs.js"),E=require("./FirstPersonControls.cjs.js"),R=require("./CameraControls.cjs.js"),G=require("./FaceControls.cjs.js"),w=require("./GizmoHelper.cjs.js"),z=require("./GizmoViewcube.cjs.js"),O=require("./GizmoViewport.cjs.js"),I=require("./Grid.cjs.js"),y=require("./useCubeTexture.cjs.js"),H=require("./useFBX.cjs.js"),V=require("./useGLTF.cjs.js"),W=require("./useKTX2.cjs.js"),Q=require("./useProgress.cjs.js"),X=require("./useTexture.cjs.js"),K=require("./useVideoTexture.cjs.js"),U=require("./useFont.cjs.js"),N=require("./Stats.cjs.js"),_=require("./useDepthBuffer.cjs.js"),J=require("./useAspect.cjs.js"),Y=require("./useCamera.cjs.js"),Z=require("./useDetectGPU.cjs.js"),$=require("./useHelper.cjs.js"),ee=require("./useBVH.cjs.js"),re=require("./useContextBridge.cjs.js"),se=require("./useAnimations.cjs.js"),te=require("./useFBO.cjs.js"),oe=require("./useIntersect.cjs.js"),ie=require("./useBoxProjectedEnv.cjs.js"),ae=require("./BBAnchor.cjs.js"),ue=require("./useTrailTexture.cjs.js"),ce=require("./useCubeCamera.cjs.js"),ne=require("./Example.cjs.js"),je=require("./SpriteAnimator.cjs.js"),pe=require("./FaceLandmarker.cjs.js"),xe=require("./CurveModifier.cjs.js"),le=require("./MeshDistortMaterial.cjs.js"),me=require("./MeshWobbleMaterial.cjs.js"),qe=require("./MeshReflectorMaterial.cjs.js"),de=require("./MeshRefractionMaterial.cjs.js"),he=require("./MeshTransmissionMaterial.cjs.js"),Ce=require("./MeshDiscardMaterial.cjs.js"),Me=require("./PointMaterial.cjs.js"),Se=require("./shaderMaterial.cjs.js"),fe=require("./softShadows.cjs.js"),Te=require("./shapes.cjs.js"),Pe=require("./Facemesh.cjs.js"),be=require("./RoundedBox.cjs.js"),Be=require("./ScreenQuad.cjs.js"),ge=require("./Center.cjs.js"),ve=require("./Resize.cjs.js"),Fe=require("./Bounds.cjs.js"),Le=require("./CameraShake.cjs.js"),Ae=require("./Float.cjs.js"),ke=require("./Stage.cjs.js"),De=require("./Backdrop.cjs.js"),Ee=require("./Shadow.cjs.js"),Re=require("./Caustics.cjs.js"),Ge=require("./ContactShadows.cjs.js"),we=require("./AccumulativeShadows.cjs.js"),ze=require("./Reflector.cjs.js"),Oe=require("./SpotLight.cjs.js"),Ie=require("./Environment.cjs.js"),ye=require("./Lightformer.cjs.js"),He=require("./Sky.cjs.js"),Ve=require("./Stars.cjs.js"),We=require("./Cloud.cjs.js"),Qe=require("./Sparkles.cjs.js"),Xe=require("./useEnvironment.cjs.js"),Ke=require("./useMatcapTexture.cjs.js"),Ue=require("./useNormalTexture.cjs.js"),Ne=require("./Wireframe.cjs.js"),_e=require("./Points.cjs.js"),Je=require("./Instances.cjs.js"),Ye=require("./Segments.cjs.js"),Ze=require("./Detailed.cjs.js"),$e=require("./Preload.cjs.js"),er=require("./BakeShadows.cjs.js"),rr=require("./meshBounds.cjs.js"),sr=require("./AdaptiveDpr.cjs.js"),tr=require("./AdaptiveEvents.cjs.js"),or=require("./PerformanceMonitor.cjs.js"),ir=require("./RenderTexture.cjs.js"),ar=require("./Mask.cjs.js"),ur=require("./Hud.cjs.js"),cr=require("./MeshPortalMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("maath"),require("three/src/math/MathUtils"),require("@mediapipe/tasks-vision"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=u.Text,exports.Text3D=c.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.Image=p.Image,exports.Edges=x.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=q.ComputedAttribute,exports.Clone=d.Clone,exports.MarchingCube=h.MarchingCube,exports.MarchingCubes=h.MarchingCubes,exports.MarchingPlane=h.MarchingPlane,exports.Decal=C.Decal,exports.Svg=M.Svg,exports.Gltf=S.Gltf,exports.AsciiRenderer=f.AsciiRenderer,exports.OrthographicCamera=T.OrthographicCamera,exports.PerspectiveCamera=P.PerspectiveCamera,exports.CubeCamera=b.CubeCamera,exports.DeviceOrientationControls=B.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=v.MapControls,exports.OrbitControls=F.OrbitControls,exports.TrackballControls=L.TrackballControls,exports.ArcballControls=A.ArcballControls,exports.TransformControls=k.TransformControls,exports.PointerLockControls=D.PointerLockControls,exports.FirstPersonControls=E.FirstPersonControls,exports.CameraControls=R.CameraControls,exports.FaceControls=G.FaceControls,exports.useFaceControls=G.useFaceControls,exports.GizmoHelper=w.GizmoHelper,exports.useGizmoContext=w.useGizmoContext,exports.GizmoViewcube=z.GizmoViewcube,exports.GizmoViewport=O.GizmoViewport,exports.Grid=I.Grid,exports.useCubeTexture=y.useCubeTexture,exports.useFBX=H.useFBX,exports.useGLTF=V.useGLTF,exports.useKTX2=W.useKTX2,exports.useProgress=Q.useProgress,exports.IsObject=X.IsObject,exports.useTexture=X.useTexture,exports.useVideoTexture=K.useVideoTexture,exports.useFont=U.useFont,exports.Stats=N.Stats,exports.useDepthBuffer=_.useDepthBuffer,exports.useAspect=J.useAspect,exports.useCamera=Y.useCamera,exports.useDetectGPU=Z.useDetectGPU,exports.useHelper=$.useHelper,exports.Bvh=ee.Bvh,exports.useBVH=ee.useBVH,exports.useContextBridge=re.useContextBridge,exports.useAnimations=se.useAnimations,exports.useFBO=te.useFBO,exports.useIntersect=oe.useIntersect,exports.useBoxProjectedEnv=ie.useBoxProjectedEnv,exports.BBAnchor=ae.BBAnchor,exports.useTrailTexture=ue.useTrailTexture,exports.useCubeCamera=ce.useCubeCamera,exports.Example=ne.Example,exports.SpriteAnimator=je.SpriteAnimator,exports.FaceLandmarker=pe.FaceLandmarker,exports.FaceLandmarkerDefaults=pe.FaceLandmarkerDefaults,exports.useFaceLandmarker=pe.useFaceLandmarker,exports.CurveModifier=xe.CurveModifier,exports.MeshDistortMaterial=le.MeshDistortMaterial,exports.MeshWobbleMaterial=me.MeshWobbleMaterial,exports.MeshReflectorMaterial=qe.MeshReflectorMaterial,exports.MeshRefractionMaterial=de.MeshRefractionMaterial,exports.MeshTransmissionMaterial=he.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Ce.MeshDiscardMaterial,exports.PointMaterial=Me.PointMaterial,exports.PointMaterialImpl=Me.PointMaterialImpl,exports.shaderMaterial=Se.shaderMaterial,exports.SoftShadows=fe.SoftShadows,exports.Box=Te.Box,exports.Capsule=Te.Capsule,exports.Circle=Te.Circle,exports.Cone=Te.Cone,exports.Cylinder=Te.Cylinder,exports.Dodecahedron=Te.Dodecahedron,exports.Extrude=Te.Extrude,exports.Icosahedron=Te.Icosahedron,exports.Lathe=Te.Lathe,exports.Octahedron=Te.Octahedron,exports.Plane=Te.Plane,exports.Polyhedron=Te.Polyhedron,exports.Ring=Te.Ring,exports.Shape=Te.Shape,exports.Sphere=Te.Sphere,exports.Tetrahedron=Te.Tetrahedron,exports.Torus=Te.Torus,exports.TorusKnot=Te.TorusKnot,exports.Tube=Te.Tube,exports.Facemesh=Pe.Facemesh,exports.FacemeshDatas=Pe.FacemeshDatas,exports.FacemeshEye=Pe.FacemeshEye,exports.FacemeshEyeDefaults=Pe.FacemeshEyeDefaults,exports.RoundedBox=be.RoundedBox,exports.ScreenQuad=Be.ScreenQuad,exports.Center=ge.Center,exports.Resize=ve.Resize,exports.Bounds=Fe.Bounds,exports.useBounds=Fe.useBounds,exports.CameraShake=Le.CameraShake,exports.Float=Ae.Float,exports.Stage=ke.Stage,exports.Backdrop=De.Backdrop,exports.Shadow=Ee.Shadow,exports.Caustics=Re.Caustics,exports.ContactShadows=Ge.ContactShadows,exports.AccumulativeShadows=we.AccumulativeShadows,exports.RandomizedLight=we.RandomizedLight,exports.accumulativeContext=we.accumulativeContext,exports.Reflector=ze.Reflector,exports.SpotLight=Oe.SpotLight,exports.SpotLightShadow=Oe.SpotLightShadow,exports.Environment=Ie.Environment,exports.EnvironmentCube=Ie.EnvironmentCube,exports.EnvironmentMap=Ie.EnvironmentMap,exports.EnvironmentPortal=Ie.EnvironmentPortal,exports.Lightformer=ye.Lightformer,exports.Sky=He.Sky,exports.calcPosFromAngles=He.calcPosFromAngles,exports.Stars=Ve.Stars,exports.Cloud=We.Cloud,exports.Sparkles=Qe.Sparkles,exports.useEnvironment=Xe.useEnvironment,exports.useMatcapTexture=Ke.useMatcapTexture,exports.useNormalTexture=Ue.useNormalTexture,exports.Wireframe=Ne.Wireframe,exports.Point=_e.Point,exports.Points=_e.Points,exports.PointsBuffer=_e.PointsBuffer,exports.PositionPoint=_e.PositionPoint,exports.Instance=Je.Instance,exports.Instances=Je.Instances,exports.Merged=Je.Merged,exports.Segment=Ye.Segment,exports.SegmentObject=Ye.SegmentObject,exports.Segments=Ye.Segments,exports.Detailed=Ze.Detailed,exports.Preload=$e.Preload,exports.BakeShadows=er.BakeShadows,exports.meshBounds=rr.meshBounds,exports.AdaptiveDpr=sr.AdaptiveDpr,exports.AdaptiveEvents=tr.AdaptiveEvents,exports.PerformanceMonitor=or.PerformanceMonitor,exports.usePerformanceMonitor=or.usePerformanceMonitor,exports.RenderTexture=ir.RenderTexture,exports.Mask=ar.Mask,exports.useMask=ar.useMask,exports.Hud=ur.Hud,exports.MeshPortalMaterial=cr.MeshPortalMaterial;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),a=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),c=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),x=require("./Edges.cjs.js"),l=require("./Trail.cjs.js"),m=require("./Sampler.cjs.js"),q=require("./ComputedAttribute.cjs.js"),d=require("./Clone.cjs.js"),h=require("./MarchingCubes.cjs.js"),C=require("./Decal.cjs.js"),M=require("./Svg.cjs.js"),S=require("./Gltf.cjs.js"),f=require("./AsciiRenderer.cjs.js"),T=require("./OrthographicCamera.cjs.js"),P=require("./PerspectiveCamera.cjs.js"),b=require("./CubeCamera.cjs.js"),B=require("./DeviceOrientationControls.cjs.js"),g=require("./FlyControls.cjs.js"),v=require("./MapControls.cjs.js"),F=require("./OrbitControls.cjs.js"),L=require("./TrackballControls.cjs.js"),A=require("./ArcballControls.cjs.js"),k=require("./TransformControls.cjs.js"),D=require("./PointerLockControls.cjs.js"),E=require("./FirstPersonControls.cjs.js"),R=require("./CameraControls.cjs.js"),G=require("./FaceControls.cjs.js"),w=require("./GizmoHelper.cjs.js"),z=require("./GizmoViewcube.cjs.js"),O=require("./GizmoViewport.cjs.js"),I=require("./Grid.cjs.js"),y=require("./useCubeTexture.cjs.js"),H=require("./useFBX.cjs.js"),V=require("./useGLTF.cjs.js"),W=require("./useKTX2.cjs.js"),Q=require("./useProgress.cjs.js"),X=require("./useTexture.cjs.js"),K=require("./useVideoTexture.cjs.js"),N=require("./useFont.cjs.js"),U=require("./Stats.cjs.js"),_=require("./useDepthBuffer.cjs.js"),J=require("./useAspect.cjs.js"),Y=require("./useCamera.cjs.js"),Z=require("./useDetectGPU.cjs.js"),$=require("./useHelper.cjs.js"),ee=require("./useBVH.cjs.js"),re=require("./useContextBridge.cjs.js"),se=require("./useAnimations.cjs.js"),te=require("./useFBO.cjs.js"),oe=require("./useIntersect.cjs.js"),ie=require("./useBoxProjectedEnv.cjs.js"),ae=require("./BBAnchor.cjs.js"),ue=require("./useTrailTexture.cjs.js"),ce=require("./useCubeCamera.cjs.js"),ne=require("./Example.cjs.js"),je=require("./SpriteAnimator.cjs.js"),pe=require("./FaceLandmarker.cjs.js"),xe=require("./CurveModifier.cjs.js"),le=require("./MeshDistortMaterial.cjs.js"),me=require("./MeshWobbleMaterial.cjs.js"),qe=require("./MeshReflectorMaterial.cjs.js"),de=require("./MeshRefractionMaterial.cjs.js"),he=require("./MeshTransmissionMaterial.cjs.js"),Ce=require("./MeshDiscardMaterial.cjs.js"),Me=require("./PointMaterial.cjs.js"),Se=require("./shaderMaterial.cjs.js"),fe=require("./softShadows.cjs.js"),Te=require("./shapes.cjs.js"),Pe=require("./Facemesh.cjs.js"),be=require("./RoundedBox.cjs.js"),Be=require("./ScreenQuad.cjs.js"),ge=require("./Center.cjs.js"),ve=require("./Resize.cjs.js"),Fe=require("./Bounds.cjs.js"),Le=require("./CameraShake.cjs.js"),Ae=require("./Float.cjs.js"),ke=require("./Stage.cjs.js"),De=require("./Backdrop.cjs.js"),Ee=require("./Shadow.cjs.js"),Re=require("./Caustics.cjs.js"),Ge=require("./ContactShadows.cjs.js"),we=require("./AccumulativeShadows.cjs.js"),ze=require("./Reflector.cjs.js"),Oe=require("./SpotLight.cjs.js"),Ie=require("./Environment.cjs.js"),ye=require("./Lightformer.cjs.js"),He=require("./Sky.cjs.js"),Ve=require("./Stars.cjs.js"),We=require("./Cloud.cjs.js"),Qe=require("./Sparkles.cjs.js"),Xe=require("./useEnvironment.cjs.js"),Ke=require("./useMatcapTexture.cjs.js"),Ne=require("./useNormalTexture.cjs.js"),Ue=require("./Wireframe.cjs.js"),_e=require("./Points.cjs.js"),Je=require("./Instances.cjs.js"),Ye=require("./Segments.cjs.js"),Ze=require("./Detailed.cjs.js"),$e=require("./Preload.cjs.js"),er=require("./BakeShadows.cjs.js"),rr=require("./meshBounds.cjs.js"),sr=require("./AdaptiveDpr.cjs.js"),tr=require("./AdaptiveEvents.cjs.js"),or=require("./PerformanceMonitor.cjs.js"),ir=require("./RenderTexture.cjs.js"),ar=require("./Mask.cjs.js"),ur=require("./Hud.cjs.js"),cr=require("./MeshPortalMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("maath"),require("@mediapipe/tasks-vision"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=u.Text,exports.Text3D=c.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.Image=p.Image,exports.Edges=x.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=q.ComputedAttribute,exports.Clone=d.Clone,exports.MarchingCube=h.MarchingCube,exports.MarchingCubes=h.MarchingCubes,exports.MarchingPlane=h.MarchingPlane,exports.Decal=C.Decal,exports.Svg=M.Svg,exports.Gltf=S.Gltf,exports.AsciiRenderer=f.AsciiRenderer,exports.OrthographicCamera=T.OrthographicCamera,exports.PerspectiveCamera=P.PerspectiveCamera,exports.CubeCamera=b.CubeCamera,exports.DeviceOrientationControls=B.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=v.MapControls,exports.OrbitControls=F.OrbitControls,exports.TrackballControls=L.TrackballControls,exports.ArcballControls=A.ArcballControls,exports.TransformControls=k.TransformControls,exports.PointerLockControls=D.PointerLockControls,exports.FirstPersonControls=E.FirstPersonControls,exports.CameraControls=R.CameraControls,exports.FaceControls=G.FaceControls,exports.useFaceControls=G.useFaceControls,exports.GizmoHelper=w.GizmoHelper,exports.useGizmoContext=w.useGizmoContext,exports.GizmoViewcube=z.GizmoViewcube,exports.GizmoViewport=O.GizmoViewport,exports.Grid=I.Grid,exports.useCubeTexture=y.useCubeTexture,exports.useFBX=H.useFBX,exports.useGLTF=V.useGLTF,exports.useKTX2=W.useKTX2,exports.useProgress=Q.useProgress,exports.IsObject=X.IsObject,exports.useTexture=X.useTexture,exports.useVideoTexture=K.useVideoTexture,exports.useFont=N.useFont,exports.Stats=U.Stats,exports.useDepthBuffer=_.useDepthBuffer,exports.useAspect=J.useAspect,exports.useCamera=Y.useCamera,exports.useDetectGPU=Z.useDetectGPU,exports.useHelper=$.useHelper,exports.Bvh=ee.Bvh,exports.useBVH=ee.useBVH,exports.useContextBridge=re.useContextBridge,exports.useAnimations=se.useAnimations,exports.useFBO=te.useFBO,exports.useIntersect=oe.useIntersect,exports.useBoxProjectedEnv=ie.useBoxProjectedEnv,exports.BBAnchor=ae.BBAnchor,exports.useTrailTexture=ue.useTrailTexture,exports.useCubeCamera=ce.useCubeCamera,exports.Example=ne.Example,exports.SpriteAnimator=je.SpriteAnimator,exports.FaceLandmarker=pe.FaceLandmarker,exports.FaceLandmarkerDefaults=pe.FaceLandmarkerDefaults,exports.useFaceLandmarker=pe.useFaceLandmarker,exports.CurveModifier=xe.CurveModifier,exports.MeshDistortMaterial=le.MeshDistortMaterial,exports.MeshWobbleMaterial=me.MeshWobbleMaterial,exports.MeshReflectorMaterial=qe.MeshReflectorMaterial,exports.MeshRefractionMaterial=de.MeshRefractionMaterial,exports.MeshTransmissionMaterial=he.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Ce.MeshDiscardMaterial,exports.PointMaterial=Me.PointMaterial,exports.PointMaterialImpl=Me.PointMaterialImpl,exports.shaderMaterial=Se.shaderMaterial,exports.SoftShadows=fe.SoftShadows,exports.Box=Te.Box,exports.Capsule=Te.Capsule,exports.Circle=Te.Circle,exports.Cone=Te.Cone,exports.Cylinder=Te.Cylinder,exports.Dodecahedron=Te.Dodecahedron,exports.Extrude=Te.Extrude,exports.Icosahedron=Te.Icosahedron,exports.Lathe=Te.Lathe,exports.Octahedron=Te.Octahedron,exports.Plane=Te.Plane,exports.Polyhedron=Te.Polyhedron,exports.Ring=Te.Ring,exports.Shape=Te.Shape,exports.Sphere=Te.Sphere,exports.Tetrahedron=Te.Tetrahedron,exports.Torus=Te.Torus,exports.TorusKnot=Te.TorusKnot,exports.Tube=Te.Tube,exports.Facemesh=Pe.Facemesh,exports.FacemeshDatas=Pe.FacemeshDatas,exports.FacemeshEye=Pe.FacemeshEye,exports.FacemeshEyeDefaults=Pe.FacemeshEyeDefaults,exports.RoundedBox=be.RoundedBox,exports.ScreenQuad=Be.ScreenQuad,exports.Center=ge.Center,exports.Resize=ve.Resize,exports.Bounds=Fe.Bounds,exports.useBounds=Fe.useBounds,exports.CameraShake=Le.CameraShake,exports.Float=Ae.Float,exports.Stage=ke.Stage,exports.Backdrop=De.Backdrop,exports.Shadow=Ee.Shadow,exports.Caustics=Re.Caustics,exports.ContactShadows=Ge.ContactShadows,exports.AccumulativeShadows=we.AccumulativeShadows,exports.RandomizedLight=we.RandomizedLight,exports.accumulativeContext=we.accumulativeContext,exports.Reflector=ze.Reflector,exports.SpotLight=Oe.SpotLight,exports.SpotLightShadow=Oe.SpotLightShadow,exports.Environment=Ie.Environment,exports.EnvironmentCube=Ie.EnvironmentCube,exports.EnvironmentMap=Ie.EnvironmentMap,exports.EnvironmentPortal=Ie.EnvironmentPortal,exports.Lightformer=ye.Lightformer,exports.Sky=He.Sky,exports.calcPosFromAngles=He.calcPosFromAngles,exports.Stars=Ve.Stars,exports.Cloud=We.Cloud,exports.Sparkles=Qe.Sparkles,exports.useEnvironment=Xe.useEnvironment,exports.useMatcapTexture=Ke.useMatcapTexture,exports.useNormalTexture=Ne.useNormalTexture,exports.Wireframe=Ue.Wireframe,exports.Point=_e.Point,exports.Points=_e.Points,exports.PointsBuffer=_e.PointsBuffer,exports.PositionPoint=_e.PositionPoint,exports.Instance=Je.Instance,exports.Instances=Je.Instances,exports.Merged=Je.Merged,exports.Segment=Ye.Segment,exports.SegmentObject=Ye.SegmentObject,exports.Segments=Ye.Segments,exports.Detailed=Ze.Detailed,exports.Preload=$e.Preload,exports.BakeShadows=er.BakeShadows,exports.meshBounds=rr.meshBounds,exports.AdaptiveDpr=sr.AdaptiveDpr,exports.AdaptiveEvents=tr.AdaptiveEvents,exports.PerformanceMonitor=or.PerformanceMonitor,exports.usePerformanceMonitor=or.usePerformanceMonitor,exports.RenderTexture=ir.RenderTexture,exports.Mask=ar.Mask,exports.useMask=ar.useMask,exports.Hud=ur.Hud,exports.MeshPortalMaterial=cr.MeshPortalMaterial;
|