@react-three/drei 9.121.3 → 10.0.0-rc.0
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/LICENSE +21 -21
- package/README.md +852 -852
- package/core/AccumulativeShadows.d.ts +8 -10
- package/core/ArcballControls.d.ts +3 -3
- package/core/AsciiRenderer.d.ts +1 -2
- package/core/BBAnchor.d.ts +3 -3
- package/core/Backdrop.d.ts +2 -1
- package/core/Billboard.d.ts +3 -2
- package/core/Billboard.js +8 -8
- package/core/Bounds.d.ts +2 -1
- package/core/Bounds.js +2 -2
- package/core/Bvh.d.ts +3 -2
- package/core/Bvh.js +2 -2
- package/core/CameraControls.d.ts +4 -4
- package/core/CatmullRomLine.d.ts +2 -3
- package/core/Caustics.d.ts +14 -17
- package/core/Center.d.ts +3 -2
- package/core/Clone.d.ts +4 -4
- package/core/Cloud.cjs.js +1 -1
- package/core/Cloud.d.ts +50 -12
- package/core/Cloud.js +3 -3
- package/core/ComputedAttribute.cjs.js +1 -1
- package/core/ComputedAttribute.d.ts +3 -4
- package/core/ComputedAttribute.js +5 -5
- package/core/ContactShadows.d.ts +3 -2
- package/core/CubeCamera.d.ts +3 -3
- package/core/CubeTexture.d.ts +5 -6
- package/core/CubeTexture.js +2 -7
- package/core/CubicBezierLine.d.ts +2 -3
- package/core/CurveModifier.d.ts +2 -1
- package/core/Decal.d.ts +2 -2
- package/core/Detailed.d.ts +3 -3
- package/core/DetectGPU.d.ts +1 -2
- package/core/DeviceOrientationControls.d.ts +2 -2
- package/core/Edges.cjs.js +1 -1
- package/core/Edges.d.ts +2 -2
- package/core/Edges.js +2 -2
- package/core/Effects.cjs.js +1 -1
- package/core/Effects.d.ts +9 -13
- package/core/Effects.js +3 -3
- package/core/Environment.cjs.js +1 -1
- package/core/Environment.d.ts +5 -7
- package/core/Example.js +2 -2
- package/core/Fbo.d.ts +1 -4
- package/core/Fbo.js +0 -2
- package/core/Fbx.d.ts +1 -1
- package/core/FirstPersonControls.d.ts +2 -2
- package/core/Fisheye.d.ts +2 -1
- package/core/Float.d.ts +2 -1
- package/core/FlyControls.d.ts +2 -2
- package/core/GizmoHelper.d.ts +2 -1
- package/core/GizmoViewport.d.ts +2 -2
- package/core/Gltf.d.ts +9 -5
- package/core/GradientTexture.d.ts +4 -4
- package/core/GradientTexture.js +0 -2
- package/core/Grid.d.ts +6 -7
- package/core/Helper.cjs.js +1 -1
- package/core/Helper.d.ts +1 -1
- package/core/Helper.js +1 -1
- package/core/Hud.d.ts +1 -2
- package/core/Image.d.ts +6 -8
- package/core/Instances.cjs.js +1 -1
- package/core/Instances.d.ts +27 -35
- package/core/Instances.js +38 -33
- package/core/Ktx2.d.ts +1 -1
- package/core/Lightformer.d.ts +3 -3
- package/core/Line.d.ts +4 -4
- package/core/MapControls.d.ts +4 -4
- package/core/MarchingCubes.d.ts +6 -6
- package/core/Mask.d.ts +3 -3
- package/core/MeshDiscardMaterial.d.ts +6 -7
- package/core/MeshDistortMaterial.d.ts +15 -17
- package/core/MeshPortalMaterial.cjs.js +1 -1
- package/core/MeshPortalMaterial.d.ts +14 -17
- package/core/MeshPortalMaterial.js +2 -2
- package/core/MeshReflectorMaterial.cjs.js +1 -1
- package/core/MeshReflectorMaterial.d.ts +9 -22
- package/core/MeshReflectorMaterial.js +2 -4
- package/core/MeshRefractionMaterial.cjs.js +1 -1
- package/core/MeshRefractionMaterial.d.ts +5 -8
- package/core/MeshRefractionMaterial.js +2 -2
- package/core/MeshTransmissionMaterial.cjs.js +1 -1
- package/core/MeshTransmissionMaterial.d.ts +7 -8
- package/core/MeshTransmissionMaterial.js +2 -1
- package/core/MeshWobbleMaterial.d.ts +15 -17
- package/core/MotionPathControls.cjs.js +1 -1
- package/core/MotionPathControls.d.ts +18 -6
- package/core/MotionPathControls.js +2 -3
- package/core/MultiMaterial.cjs.js +1 -1
- package/core/MultiMaterial.d.ts +3 -1
- package/core/MultiMaterial.js +2 -3
- package/core/OrbitControls.d.ts +4 -4
- package/core/OrthographicCamera.d.ts +3 -3
- package/core/Outlines.cjs.js +1 -1
- package/core/Outlines.d.ts +2 -3
- package/core/Outlines.js +2 -2
- package/core/PerformanceMonitor.d.ts +2 -2
- package/core/PerspectiveCamera.d.ts +3 -3
- package/core/PointMaterial.d.ts +3 -11
- package/core/PointerLockControls.d.ts +2 -2
- package/core/Points.cjs.js +1 -1
- package/core/Points.d.ts +10 -13
- package/core/Points.js +10 -20
- package/core/PositionalAudio.d.ts +3 -3
- package/core/Preload.d.ts +2 -3
- package/core/QuadraticBezierLine.d.ts +5 -7
- package/core/RenderCubeTexture.d.ts +2 -2
- package/core/RenderTexture.cjs.js +1 -1
- package/core/RenderTexture.d.ts +3 -3
- package/core/RenderTexture.js +3 -2
- package/core/Resize.d.ts +9 -2
- package/core/RoundedBox.d.ts +4 -4
- package/core/Sampler.d.ts +4 -4
- package/core/ScreenQuad.d.ts +3 -3
- package/core/ScreenSizer.d.ts +3 -3
- package/core/ScreenSizer.js +12 -12
- package/core/ScreenSpace.d.ts +3 -2
- package/core/Segments.d.ts +6 -8
- package/core/Shadow.d.ts +3 -3
- package/core/ShadowAlpha.cjs.js +1 -1
- package/core/ShadowAlpha.d.ts +1 -2
- package/core/ShadowAlpha.js +9 -9
- package/core/Sky.d.ts +2 -3
- package/core/Sparkles.d.ts +14 -16
- package/core/Splat.d.ts +6 -8
- package/core/SpotLight.d.ts +2 -1
- package/core/SpriteAnimator.cjs.js +1 -1
- package/core/SpriteAnimator.d.ts +36 -3
- package/core/Stage.cjs.js +1 -1
- package/core/Stage.d.ts +3 -2
- package/core/Stars.cjs.js +1 -1
- package/core/Stars.d.ts +6 -8
- package/core/Stars.js +1 -1
- package/core/Stats.d.ts +2 -3
- package/core/StatsGl.d.ts +2 -2
- package/core/Svg.d.ts +6 -6
- package/core/Text.d.ts +3 -4
- package/core/Text3D.d.ts +7 -10
- package/core/Text3D.js +3 -3
- package/core/Texture.d.ts +1 -1
- package/core/TrackballControls.d.ts +4 -4
- package/core/Trail.cjs.js +1 -1
- package/core/Trail.d.ts +3 -3
- package/core/Trail.js +3 -3
- package/core/TrailTexture.d.ts +3 -2
- package/core/TransformControls.cjs.js +1 -1
- package/core/TransformControls.d.ts +3 -3
- package/core/TransformControls.js +4 -5
- package/core/VideoTexture.cjs.js +1 -1
- package/core/VideoTexture.js +1 -1
- package/core/Wireframe.d.ts +5 -7
- package/core/index.cjs.js +1 -1
- package/core/index.d.ts +0 -1
- package/core/index.js +2 -4
- package/core/shapes.d.ts +21 -20
- package/core/softShadows.d.ts +1 -2
- package/core/softShadows.js +13 -13
- package/core/useAnimations.cjs.js +1 -1
- package/core/useAnimations.d.ts +2 -2
- package/core/useAnimations.js +1 -1
- package/core/useBoxProjectedEnv.d.ts +1 -1
- package/core/useCamera.cjs.js +1 -1
- package/core/useCamera.d.ts +1 -1
- package/core/useCamera.js +1 -8
- package/core/useContextBridge.d.ts +1 -1
- package/core/useContextBridge.js +4 -4
- package/core/useEnvironment.cjs.js +1 -1
- package/core/useEnvironment.d.ts +3 -4
- package/core/useEnvironment.js +11 -19
- package/core/useIntersect.d.ts +1 -1
- package/core/useSpriteLoader.d.ts +1 -1
- package/helpers/deprecated.cjs.js +1 -1
- package/helpers/deprecated.d.ts +1 -4
- package/helpers/deprecated.js +4 -16
- package/helpers/ts-utils.d.ts +4 -0
- package/helpers/useEffectfulState.d.ts +1 -1
- package/index.cjs.js +1 -1
- package/index.js +0 -1
- package/materials/BlurPass.js +0 -1
- package/materials/MeshReflectorMaterial.d.ts +0 -16
- package/native/index.cjs.js +1 -1
- package/native/index.js +0 -2
- package/package.json +7 -8
- package/web/CycleRaycast.d.ts +1 -1
- package/web/FaceControls.js +8 -8
- package/web/FaceLandmarker.d.ts +1 -2
- package/web/Facemesh.d.ts +3 -2
- package/web/Html.cjs.js +1 -1
- package/web/Html.d.ts +4 -4
- package/web/Html.js +1 -1
- package/web/KeyboardControls.d.ts +1 -1
- package/web/PresentationControls.cjs.js +1 -1
- package/web/PresentationControls.d.ts +3 -4
- package/web/PresentationControls.js +20 -28
- package/web/ScreenVideoTexture.js +2 -2
- package/web/ScrollControls.d.ts +1 -1
- package/web/Select.d.ts +3 -3
- package/web/Select.js +6 -2
- package/web/View.cjs.js +1 -1
- package/web/View.d.ts +8 -10
- package/web/View.js +4 -34
- package/web/WebcamVideoTexture.js +2 -2
- package/web/index.cjs.js +1 -1
- package/web/index.js +1 -4
- package/web/pivotControls/AxisArrow.js +0 -2
- package/web/pivotControls/AxisRotator.js +0 -2
- package/web/pivotControls/PlaneSlider.js +1 -3
- package/web/pivotControls/ScalingSphere.js +0 -1
- package/web/pivotControls/index.d.ts +1 -2
- package/core/Reflector.cjs.js +0 -1
- package/core/Reflector.d.ts +0 -30
- package/core/Reflector.js +0 -180
package/web/View.js
CHANGED
|
@@ -7,17 +7,6 @@ import tunnel from 'tunnel-rat';
|
|
|
7
7
|
const isOrthographicCamera = def => def && def.isOrthographicCamera;
|
|
8
8
|
const col = /* @__PURE__ */new THREE.Color();
|
|
9
9
|
const tracked = /* @__PURE__ */tunnel();
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* In `@react-three/fiber` after `v8.0.0` but prior to `v8.1.0`, `state.size` contained only dimension
|
|
13
|
-
* information. After `v8.1.0`, position information (`top`, `left`) was added
|
|
14
|
-
*
|
|
15
|
-
* @todo remove this when drei supports v9 and up
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
function isNonLegacyCanvasSize(size) {
|
|
19
|
-
return 'top' in size;
|
|
20
|
-
}
|
|
21
10
|
function computeContainerPosition(canvasSize, trackRect) {
|
|
22
11
|
const {
|
|
23
12
|
right,
|
|
@@ -28,30 +17,15 @@ function computeContainerPosition(canvasSize, trackRect) {
|
|
|
28
17
|
height
|
|
29
18
|
} = trackRect;
|
|
30
19
|
const isOffscreen = trackRect.bottom < 0 || top > canvasSize.height || right < 0 || trackRect.left > canvasSize.width;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const left = trackLeft - canvasSize.left;
|
|
35
|
-
return {
|
|
36
|
-
position: {
|
|
37
|
-
width,
|
|
38
|
-
height,
|
|
39
|
-
left,
|
|
40
|
-
top,
|
|
41
|
-
bottom,
|
|
42
|
-
right
|
|
43
|
-
},
|
|
44
|
-
isOffscreen
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
// Fall back on old behavior if r3f < 8.1.0
|
|
48
|
-
const bottom = canvasSize.height - trackBottom;
|
|
20
|
+
const canvasBottom = canvasSize.top + canvasSize.height;
|
|
21
|
+
const bottom = canvasBottom - trackBottom;
|
|
22
|
+
const left = trackLeft - canvasSize.left;
|
|
49
23
|
return {
|
|
50
24
|
position: {
|
|
51
25
|
width,
|
|
52
26
|
height,
|
|
27
|
+
left,
|
|
53
28
|
top,
|
|
54
|
-
left: trackLeft,
|
|
55
29
|
bottom,
|
|
56
30
|
right
|
|
57
31
|
},
|
|
@@ -168,10 +142,6 @@ function Container({
|
|
|
168
142
|
});
|
|
169
143
|
};
|
|
170
144
|
}, [track]);
|
|
171
|
-
React.useEffect(() => {
|
|
172
|
-
if (isNonLegacyCanvasSize(canvasSize)) return;
|
|
173
|
-
console.warn('Detected @react-three/fiber canvas size does not include position information. <View /> may not work as expected. ' + 'Upgrade to @react-three/fiber ^8.1.0 for support.\n See https://github.com/pmndrs/drei/issues/944');
|
|
174
|
-
}, []);
|
|
175
145
|
return /*#__PURE__*/React.createElement(React.Fragment, null, children, /*#__PURE__*/React.createElement("group", {
|
|
176
146
|
onPointerOver: () => null
|
|
177
147
|
}));
|
|
@@ -4,8 +4,8 @@ import { forwardRef, useEffect } from 'react';
|
|
|
4
4
|
import { suspend, clear } from 'suspend-react';
|
|
5
5
|
import { VideoTexture } from '../core/VideoTexture.js';
|
|
6
6
|
|
|
7
|
-
/**
|
|
8
|
-
* Create a video texture from [`getUserMedia`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia)
|
|
7
|
+
/**
|
|
8
|
+
* Create a video texture from [`getUserMedia`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia)
|
|
9
9
|
*/
|
|
10
10
|
const WebcamVideoTexture = /* @__PURE__ */forwardRef(({
|
|
11
11
|
constraints = {
|
package/web/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Html.cjs.js"),r=require("./CycleRaycast.cjs.js"),s=require("./useCursor.cjs.js"),o=require("./Loader.cjs.js"),t=require("./ScrollControls.cjs.js"),i=require("./PresentationControls.cjs.js"),a=require("./KeyboardControls.cjs.js"),c=require("./Select.cjs.js"),u=require("./View.cjs.js"),n=require("./pivotControls/index.cjs.js"),p=require("./ScreenVideoTexture.cjs.js"),j=require("./WebcamVideoTexture.cjs.js"),l=require("./FaceControls.cjs.js"),x=require("./DragControls.cjs.js"),d=require("./FaceLandmarker.cjs.js"),q=require("./Facemesh.cjs.js"),m=require("../core/Billboard.cjs.js"),C=require("../core/ScreenSpace.cjs.js"),h=require("../core/ScreenSizer.cjs.js"),S=require("../core/QuadraticBezierLine.cjs.js"),M=require("../core/CubicBezierLine.cjs.js"),T=require("../core/CatmullRomLine.cjs.js"),b=require("../core/Line.cjs.js"),P=require("../core/PositionalAudio.cjs.js"),g=require("../core/Text.cjs.js"),f=require("../core/Text3D.cjs.js"),v=require("../core/Effects.cjs.js"),F=require("../core/GradientTexture.cjs.js"),B=require("../core/Image.cjs.js"),A=require("../core/Edges.cjs.js"),L=require("../core/Outlines.cjs.js"),D=require("../core/Trail.cjs.js"),R=require("../core/Sampler.cjs.js"),k=require("../core/ComputedAttribute.cjs.js"),E=require("../core/Clone.cjs.js"),G=require("../core/MarchingCubes.cjs.js"),y=require("../core/Decal.cjs.js"),w=require("../core/Svg.cjs.js"),z=require("../core/Gltf.cjs.js"),I=require("../core/AsciiRenderer.cjs.js"),V=require("../core/Splat.cjs.js"),O=require("../core/OrthographicCamera.cjs.js"),H=require("../core/PerspectiveCamera.cjs.js"),K=require("../core/CubeCamera.cjs.js"),W=require("../core/DeviceOrientationControls.cjs.js"),Q=require("../core/FlyControls.cjs.js"),N=require("../core/MapControls.cjs.js"),U=require("../core/OrbitControls.cjs.js"),X=require("../core/TrackballControls.cjs.js"),_=require("../core/ArcballControls.cjs.js"),J=require("../core/TransformControls.cjs.js"),Y=require("../core/PointerLockControls.cjs.js"),Z=require("../core/FirstPersonControls.cjs.js"),$=require("../core/CameraControls.cjs.js"),ee=require("../core/MotionPathControls.cjs.js"),re=require("../core/GizmoHelper.cjs.js"),se=require("../core/GizmoViewcube.cjs.js"),oe=require("../core/GizmoViewport.cjs.js"),te=require("../core/Grid.cjs.js"),ie=require("../core/CubeTexture.cjs.js"),ae=require("../core/Fbx.cjs.js"),ce=require("../core/Ktx2.cjs.js"),ue=require("../core/Progress.cjs.js"),ne=require("../core/Texture.cjs.js"),pe=require("../core/VideoTexture.cjs.js"),je=require("../core/useFont.cjs.js"),le=require("../core/useSpriteLoader.cjs.js"),xe=require("../core/Helper.cjs.js"),de=require("../core/Stats.cjs.js"),qe=require("../core/StatsGl.cjs.js"),me=require("../core/useDepthBuffer.cjs.js"),Ce=require("../core/useAspect.cjs.js"),he=require("../core/useCamera.cjs.js"),Se=require("../core/DetectGPU.cjs.js"),Me=require("../core/Bvh.cjs.js"),Te=require("../core/useContextBridge.cjs.js"),be=require("../core/useAnimations.cjs.js"),Pe=require("../core/Fbo.cjs.js"),ge=require("../core/useIntersect.cjs.js"),fe=require("../core/useBoxProjectedEnv.cjs.js"),ve=require("../core/BBAnchor.cjs.js"),Fe=require("../core/TrailTexture.cjs.js"),Be=require("../core/Example.cjs.js"),Ae=require("../core/SpriteAnimator.cjs.js"),Le=require("../core/CurveModifier.cjs.js"),De=require("../core/MeshDistortMaterial.cjs.js"),Re=require("../core/MeshWobbleMaterial.cjs.js"),ke=require("../core/MeshReflectorMaterial.cjs.js"),Ee=require("../core/MeshRefractionMaterial.cjs.js"),Ge=require("../core/MeshTransmissionMaterial.cjs.js"),ye=require("../core/MeshDiscardMaterial.cjs.js"),we=require("../core/MultiMaterial.cjs.js"),ze=require("../core/PointMaterial.cjs.js"),Ie=require("../core/shaderMaterial.cjs.js"),Ve=require("../core/softShadows.cjs.js"),Oe=require("../core/shapes.cjs.js"),He=require("../core/RoundedBox.cjs.js"),Ke=require("../core/ScreenQuad.cjs.js"),We=require("../core/Center.cjs.js"),Qe=require("../core/Resize.cjs.js"),Ne=require("../core/Bounds.cjs.js"),Ue=require("../core/CameraShake.cjs.js"),Xe=require("../core/Float.cjs.js"),_e=require("../core/Stage.cjs.js"),Je=require("../core/Backdrop.cjs.js"),Ye=require("../core/Shadow.cjs.js"),Ze=require("../core/Caustics.cjs.js"),$e=require("../core/ContactShadows.cjs.js"),er=require("../core/AccumulativeShadows.cjs.js"),rr=require("../core/Reflector.cjs.js"),sr=require("../core/SpotLight.cjs.js"),or=require("../core/Environment.cjs.js"),tr=require("../core/Lightformer.cjs.js"),ir=require("../core/Sky.cjs.js"),ar=require("../core/Stars.cjs.js"),cr=require("../core/Cloud.cjs.js"),ur=require("../core/Sparkles.cjs.js"),nr=require("../core/useEnvironment.cjs.js"),pr=require("../core/MatcapTexture.cjs.js"),jr=require("../core/NormalTexture.cjs.js"),lr=require("../core/Wireframe.cjs.js"),xr=require("../core/ShadowAlpha.cjs.js"),dr=require("../core/Points.cjs.js"),qr=require("../core/Instances.cjs.js"),mr=require("../core/Segments.cjs.js"),Cr=require("../core/Detailed.cjs.js"),hr=require("../core/Preload.cjs.js"),Sr=require("../core/BakeShadows.cjs.js"),Mr=require("../core/meshBounds.cjs.js"),Tr=require("../core/AdaptiveDpr.cjs.js"),br=require("../core/AdaptiveEvents.cjs.js"),Pr=require("../core/PerformanceMonitor.cjs.js"),gr=require("../core/RenderTexture.cjs.js"),fr=require("../core/RenderCubeTexture.cjs.js"),vr=require("../core/Mask.cjs.js"),Fr=require("../core/Hud.cjs.js"),Br=require("../core/Fisheye.cjs.js"),Ar=require("../core/MeshPortalMaterial.cjs.js"),Lr=require("../core/calculateScaleFactor.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom/client"),require("three"),require("@react-three/fiber"),require("zustand"),require("maath"),require("@react-spring/three"),require("@use-gesture/react"),require("zustand/middleware"),require("three-stdlib"),require("zustand/shallow"),require("tunnel-rat"),require("./pivotControls/AxisArrow.cjs.js"),require("./pivotControls/context.cjs.js"),require("./pivotControls/AxisRotator.cjs.js"),require("./pivotControls/PlaneSlider.cjs.js"),require("./pivotControls/ScalingSphere.cjs.js"),require("suspend-react"),require("hls.js"),require("troika-three-text"),require("../helpers/constants.cjs.js"),require("meshline"),require("camera-controls"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("react-composer"),require("../helpers/deprecated.cjs.js"),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("@monogrid/gainmap-js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),exports.Html=e.Html,exports.CycleRaycast=r.CycleRaycast,exports.useCursor=s.useCursor,exports.Loader=o.Loader,exports.Scroll=t.Scroll,exports.ScrollControls=t.ScrollControls,exports.useScroll=t.useScroll,exports.PresentationControls=i.PresentationControls,exports.KeyboardControls=a.KeyboardControls,exports.useKeyboardControls=a.useKeyboardControls,exports.Select=c.Select,exports.useSelect=c.useSelect,exports.View=u.View,exports.PivotControls=n.PivotControls,exports.ScreenVideoTexture=p.ScreenVideoTexture,exports.WebcamVideoTexture=j.WebcamVideoTexture,exports.FaceControls=l.FaceControls,exports.useFaceControls=l.useFaceControls,exports.DragControls=x.DragControls,exports.FaceLandmarker=d.FaceLandmarker,exports.FaceLandmarkerDefaults=d.FaceLandmarkerDefaults,exports.useFaceLandmarker=d.useFaceLandmarker,exports.Facemesh=q.Facemesh,exports.FacemeshDatas=q.FacemeshDatas,exports.FacemeshEye=q.FacemeshEye,exports.FacemeshEyeDefaults=q.FacemeshEyeDefaults,exports.Billboard=m.Billboard,exports.ScreenSpace=C.ScreenSpace,exports.ScreenSizer=h.ScreenSizer,exports.QuadraticBezierLine=S.QuadraticBezierLine,exports.CubicBezierLine=M.CubicBezierLine,exports.CatmullRomLine=T.CatmullRomLine,exports.Line=b.Line,exports.PositionalAudio=P.PositionalAudio,exports.Text=g.Text,exports.Text3D=f.Text3D,exports.Effects=v.Effects,exports.isWebGL2Available=v.isWebGL2Available,exports.GradientTexture=F.GradientTexture,exports.GradientType=F.GradientType,exports.Image=B.Image,exports.Edges=A.Edges,exports.Outlines=L.Outlines,exports.Trail=D.Trail,exports.useTrail=D.useTrail,exports.Sampler=R.Sampler,exports.useSurfaceSampler=R.useSurfaceSampler,exports.ComputedAttribute=k.ComputedAttribute,exports.Clone=E.Clone,exports.MarchingCube=G.MarchingCube,exports.MarchingCubes=G.MarchingCubes,exports.MarchingPlane=G.MarchingPlane,exports.Decal=y.Decal,exports.Svg=w.Svg,exports.Gltf=z.Gltf,exports.useGLTF=z.useGLTF,exports.AsciiRenderer=I.AsciiRenderer,exports.Splat=V.Splat,exports.OrthographicCamera=O.OrthographicCamera,exports.PerspectiveCamera=H.PerspectiveCamera,exports.CubeCamera=K.CubeCamera,exports.useCubeCamera=K.useCubeCamera,exports.DeviceOrientationControls=W.DeviceOrientationControls,exports.FlyControls=Q.FlyControls,exports.MapControls=N.MapControls,exports.OrbitControls=U.OrbitControls,exports.TrackballControls=X.TrackballControls,exports.ArcballControls=_.ArcballControls,exports.TransformControls=J.TransformControls,exports.PointerLockControls=Y.PointerLockControls,exports.FirstPersonControls=Z.FirstPersonControls,exports.CameraControls=$.CameraControls,exports.MotionPathControls=ee.MotionPathControls,exports.useMotion=ee.useMotion,exports.GizmoHelper=re.GizmoHelper,exports.useGizmoContext=re.useGizmoContext,exports.GizmoViewcube=se.GizmoViewcube,exports.GizmoViewport=oe.GizmoViewport,exports.Grid=te.Grid,exports.CubeTexture=ie.CubeTexture,exports.useCubeTexture=ie.useCubeTexture,exports.Fbx=ae.Fbx,exports.useFBX=ae.useFBX,exports.Ktx2=ce.Ktx2,exports.useKTX2=ce.useKTX2,exports.Progress=ue.Progress,exports.useProgress=ue.useProgress,exports.IsObject=ne.IsObject,exports.Texture=ne.Texture,exports.useTexture=ne.useTexture,exports.VideoTexture=pe.VideoTexture,exports.useVideoTexture=pe.useVideoTexture,exports.useFont=je.useFont,exports.checkIfFrameIsEmpty=le.checkIfFrameIsEmpty,exports.getFirstFrame=le.getFirstFrame,exports.useSpriteLoader=le.useSpriteLoader,exports.Helper=xe.Helper,exports.useHelper=xe.useHelper,exports.Stats=de.Stats,exports.StatsGl=qe.StatsGl,exports.useDepthBuffer=me.useDepthBuffer,exports.useAspect=Ce.useAspect,exports.useCamera=he.useCamera,exports.DetectGPU=Se.DetectGPU,exports.useDetectGPU=Se.useDetectGPU,exports.Bvh=Me.Bvh,exports.useBVH=Me.useBVH,exports.useContextBridge=Te.useContextBridge,exports.useAnimations=be.useAnimations,exports.Fbo=Pe.Fbo,exports.useFBO=Pe.useFBO,exports.useIntersect=ge.useIntersect,exports.useBoxProjectedEnv=fe.useBoxProjectedEnv,exports.BBAnchor=ve.BBAnchor,exports.TrailTexture=Fe.TrailTexture,exports.useTrailTexture=Fe.useTrailTexture,exports.Example=Be.Example,exports.SpriteAnimator=Ae.SpriteAnimator,exports.useSpriteAnimator=Ae.useSpriteAnimator,exports.CurveModifier=Le.CurveModifier,exports.MeshDistortMaterial=De.MeshDistortMaterial,exports.MeshWobbleMaterial=Re.MeshWobbleMaterial,exports.MeshReflectorMaterial=ke.MeshReflectorMaterial,exports.MeshRefractionMaterial=Ee.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Ge.MeshTransmissionMaterial,exports.MeshDiscardMaterial=ye.MeshDiscardMaterial,exports.MultiMaterial=we.MultiMaterial,exports.PointMaterial=ze.PointMaterial,exports.PointMaterialImpl=ze.PointMaterialImpl,exports.shaderMaterial=Ie.shaderMaterial,exports.SoftShadows=Ve.SoftShadows,exports.Box=Oe.Box,exports.Capsule=Oe.Capsule,exports.Circle=Oe.Circle,exports.Cone=Oe.Cone,exports.Cylinder=Oe.Cylinder,exports.Dodecahedron=Oe.Dodecahedron,exports.Extrude=Oe.Extrude,exports.Icosahedron=Oe.Icosahedron,exports.Lathe=Oe.Lathe,exports.Octahedron=Oe.Octahedron,exports.Plane=Oe.Plane,exports.Polyhedron=Oe.Polyhedron,exports.Ring=Oe.Ring,exports.Shape=Oe.Shape,exports.Sphere=Oe.Sphere,exports.Tetrahedron=Oe.Tetrahedron,exports.Torus=Oe.Torus,exports.TorusKnot=Oe.TorusKnot,exports.Tube=Oe.Tube,exports.RoundedBox=He.RoundedBox,exports.ScreenQuad=Ke.ScreenQuad,exports.Center=We.Center,exports.Resize=Qe.Resize,exports.Bounds=Ne.Bounds,exports.useBounds=Ne.useBounds,exports.CameraShake=Ue.CameraShake,exports.Float=Xe.Float,exports.Stage=_e.Stage,exports.Backdrop=Je.Backdrop,exports.Shadow=Ye.Shadow,exports.Caustics=Ze.Caustics,exports.ContactShadows=$e.ContactShadows,exports.AccumulativeShadows=er.AccumulativeShadows,exports.RandomizedLight=er.RandomizedLight,exports.accumulativeContext=er.accumulativeContext,exports.Reflector=rr.Reflector,exports.SpotLight=sr.SpotLight,exports.SpotLightShadow=sr.SpotLightShadow,exports.Environment=or.Environment,exports.EnvironmentCube=or.EnvironmentCube,exports.EnvironmentMap=or.EnvironmentMap,exports.EnvironmentPortal=or.EnvironmentPortal,exports.Lightformer=tr.Lightformer,exports.Sky=ir.Sky,exports.calcPosFromAngles=ir.calcPosFromAngles,exports.Stars=ar.Stars,exports.Cloud=cr.Cloud,exports.CloudInstance=cr.CloudInstance,exports.Clouds=cr.Clouds,exports.Sparkles=ur.Sparkles,exports.useEnvironment=nr.useEnvironment,exports.MatcapTexture=pr.MatcapTexture,exports.useMatcapTexture=pr.useMatcapTexture,exports.NormalTexture=jr.NormalTexture,exports.useNormalTexture=jr.useNormalTexture,exports.Wireframe=lr.Wireframe,exports.ShadowAlpha=xr.ShadowAlpha,exports.Point=dr.Point,exports.Points=dr.Points,exports.PointsBuffer=dr.PointsBuffer,exports.PositionPoint=dr.PositionPoint,exports.Instance=qr.Instance,exports.InstancedAttribute=qr.InstancedAttribute,exports.Instances=qr.Instances,exports.Merged=qr.Merged,exports.PositionMesh=qr.PositionMesh,exports.createInstances=qr.createInstances,exports.Segment=mr.Segment,exports.SegmentObject=mr.SegmentObject,exports.Segments=mr.Segments,exports.Detailed=Cr.Detailed,exports.Preload=hr.Preload,exports.BakeShadows=Sr.BakeShadows,exports.meshBounds=Mr.meshBounds,exports.AdaptiveDpr=Tr.AdaptiveDpr,exports.AdaptiveEvents=br.AdaptiveEvents,exports.PerformanceMonitor=Pr.PerformanceMonitor,exports.usePerformanceMonitor=Pr.usePerformanceMonitor,exports.RenderTexture=gr.RenderTexture,exports.RenderCubeTexture=fr.RenderCubeTexture,exports.Mask=vr.Mask,exports.useMask=vr.useMask,exports.Hud=Fr.Hud,exports.Fisheye=Br.Fisheye,exports.MeshPortalMaterial=Ar.MeshPortalMaterial,exports.calculateScaleFactor=Lr.calculateScaleFactor;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Html.cjs.js"),r=require("./CycleRaycast.cjs.js"),s=require("./useCursor.cjs.js"),o=require("./Loader.cjs.js"),t=require("./ScrollControls.cjs.js"),i=require("./PresentationControls.cjs.js"),a=require("./KeyboardControls.cjs.js"),c=require("./Select.cjs.js"),u=require("./View.cjs.js"),n=require("./pivotControls/index.cjs.js"),p=require("./ScreenVideoTexture.cjs.js"),j=require("./WebcamVideoTexture.cjs.js"),l=require("./FaceControls.cjs.js"),x=require("./DragControls.cjs.js"),d=require("./FaceLandmarker.cjs.js"),q=require("./Facemesh.cjs.js"),m=require("../core/Billboard.cjs.js"),C=require("../core/ScreenSpace.cjs.js"),h=require("../core/ScreenSizer.cjs.js"),S=require("../core/QuadraticBezierLine.cjs.js"),M=require("../core/CubicBezierLine.cjs.js"),T=require("../core/CatmullRomLine.cjs.js"),b=require("../core/Line.cjs.js"),P=require("../core/PositionalAudio.cjs.js"),g=require("../core/Text.cjs.js"),f=require("../core/Text3D.cjs.js"),v=require("../core/Effects.cjs.js"),F=require("../core/GradientTexture.cjs.js"),B=require("../core/Image.cjs.js"),A=require("../core/Edges.cjs.js"),L=require("../core/Outlines.cjs.js"),D=require("../core/Trail.cjs.js"),k=require("../core/Sampler.cjs.js"),E=require("../core/ComputedAttribute.cjs.js"),G=require("../core/Clone.cjs.js"),R=require("../core/MarchingCubes.cjs.js"),y=require("../core/Decal.cjs.js"),w=require("../core/Svg.cjs.js"),z=require("../core/Gltf.cjs.js"),I=require("../core/AsciiRenderer.cjs.js"),V=require("../core/Splat.cjs.js"),O=require("../core/OrthographicCamera.cjs.js"),H=require("../core/PerspectiveCamera.cjs.js"),K=require("../core/CubeCamera.cjs.js"),W=require("../core/DeviceOrientationControls.cjs.js"),Q=require("../core/FlyControls.cjs.js"),N=require("../core/MapControls.cjs.js"),U=require("../core/OrbitControls.cjs.js"),X=require("../core/TrackballControls.cjs.js"),_=require("../core/ArcballControls.cjs.js"),J=require("../core/TransformControls.cjs.js"),Y=require("../core/PointerLockControls.cjs.js"),Z=require("../core/FirstPersonControls.cjs.js"),$=require("../core/CameraControls.cjs.js"),ee=require("../core/MotionPathControls.cjs.js"),re=require("../core/GizmoHelper.cjs.js"),se=require("../core/GizmoViewcube.cjs.js"),oe=require("../core/GizmoViewport.cjs.js"),te=require("../core/Grid.cjs.js"),ie=require("../core/CubeTexture.cjs.js"),ae=require("../core/Fbx.cjs.js"),ce=require("../core/Ktx2.cjs.js"),ue=require("../core/Progress.cjs.js"),ne=require("../core/Texture.cjs.js"),pe=require("../core/VideoTexture.cjs.js"),je=require("../core/useFont.cjs.js"),le=require("../core/useSpriteLoader.cjs.js"),xe=require("../core/Helper.cjs.js"),de=require("../core/Stats.cjs.js"),qe=require("../core/StatsGl.cjs.js"),me=require("../core/useDepthBuffer.cjs.js"),Ce=require("../core/useAspect.cjs.js"),he=require("../core/useCamera.cjs.js"),Se=require("../core/DetectGPU.cjs.js"),Me=require("../core/Bvh.cjs.js"),Te=require("../core/useContextBridge.cjs.js"),be=require("../core/useAnimations.cjs.js"),Pe=require("../core/Fbo.cjs.js"),ge=require("../core/useIntersect.cjs.js"),fe=require("../core/useBoxProjectedEnv.cjs.js"),ve=require("../core/BBAnchor.cjs.js"),Fe=require("../core/TrailTexture.cjs.js"),Be=require("../core/Example.cjs.js"),Ae=require("../core/SpriteAnimator.cjs.js"),Le=require("../core/CurveModifier.cjs.js"),De=require("../core/MeshDistortMaterial.cjs.js"),ke=require("../core/MeshWobbleMaterial.cjs.js"),Ee=require("../core/MeshReflectorMaterial.cjs.js"),Ge=require("../core/MeshRefractionMaterial.cjs.js"),Re=require("../core/MeshTransmissionMaterial.cjs.js"),ye=require("../core/MeshDiscardMaterial.cjs.js"),we=require("../core/MultiMaterial.cjs.js"),ze=require("../core/PointMaterial.cjs.js"),Ie=require("../core/shaderMaterial.cjs.js"),Ve=require("../core/softShadows.cjs.js"),Oe=require("../core/shapes.cjs.js"),He=require("../core/RoundedBox.cjs.js"),Ke=require("../core/ScreenQuad.cjs.js"),We=require("../core/Center.cjs.js"),Qe=require("../core/Resize.cjs.js"),Ne=require("../core/Bounds.cjs.js"),Ue=require("../core/CameraShake.cjs.js"),Xe=require("../core/Float.cjs.js"),_e=require("../core/Stage.cjs.js"),Je=require("../core/Backdrop.cjs.js"),Ye=require("../core/Shadow.cjs.js"),Ze=require("../core/Caustics.cjs.js"),$e=require("../core/ContactShadows.cjs.js"),er=require("../core/AccumulativeShadows.cjs.js"),rr=require("../core/SpotLight.cjs.js"),sr=require("../core/Environment.cjs.js"),or=require("../core/Lightformer.cjs.js"),tr=require("../core/Sky.cjs.js"),ir=require("../core/Stars.cjs.js"),ar=require("../core/Cloud.cjs.js"),cr=require("../core/Sparkles.cjs.js"),ur=require("../core/useEnvironment.cjs.js"),nr=require("../core/MatcapTexture.cjs.js"),pr=require("../core/NormalTexture.cjs.js"),jr=require("../core/Wireframe.cjs.js"),lr=require("../core/ShadowAlpha.cjs.js"),xr=require("../core/Points.cjs.js"),dr=require("../core/Instances.cjs.js"),qr=require("../core/Segments.cjs.js"),mr=require("../core/Detailed.cjs.js"),Cr=require("../core/Preload.cjs.js"),hr=require("../core/BakeShadows.cjs.js"),Sr=require("../core/meshBounds.cjs.js"),Mr=require("../core/AdaptiveDpr.cjs.js"),Tr=require("../core/AdaptiveEvents.cjs.js"),br=require("../core/PerformanceMonitor.cjs.js"),Pr=require("../core/RenderTexture.cjs.js"),gr=require("../core/RenderCubeTexture.cjs.js"),fr=require("../core/Mask.cjs.js"),vr=require("../core/Hud.cjs.js"),Fr=require("../core/Fisheye.cjs.js"),Br=require("../core/MeshPortalMaterial.cjs.js"),Ar=require("../core/calculateScaleFactor.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom/client"),require("three"),require("@react-three/fiber"),require("maath"),require("@use-gesture/react"),require("zustand"),require("zustand/middleware"),require("three-stdlib"),require("zustand/shallow"),require("tunnel-rat"),require("./pivotControls/AxisArrow.cjs.js"),require("./pivotControls/context.cjs.js"),require("./pivotControls/AxisRotator.cjs.js"),require("./pivotControls/PlaneSlider.cjs.js"),require("./pivotControls/ScalingSphere.cjs.js"),require("suspend-react"),require("hls.js"),require("troika-three-text"),require("../helpers/constants.cjs.js"),require("meshline"),require("camera-controls"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("../helpers/deprecated.cjs.js"),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("@monogrid/gainmap-js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),exports.Html=e.Html,exports.CycleRaycast=r.CycleRaycast,exports.useCursor=s.useCursor,exports.Loader=o.Loader,exports.Scroll=t.Scroll,exports.ScrollControls=t.ScrollControls,exports.useScroll=t.useScroll,exports.PresentationControls=i.PresentationControls,exports.KeyboardControls=a.KeyboardControls,exports.useKeyboardControls=a.useKeyboardControls,exports.Select=c.Select,exports.useSelect=c.useSelect,exports.View=u.View,exports.PivotControls=n.PivotControls,exports.ScreenVideoTexture=p.ScreenVideoTexture,exports.WebcamVideoTexture=j.WebcamVideoTexture,exports.FaceControls=l.FaceControls,exports.useFaceControls=l.useFaceControls,exports.DragControls=x.DragControls,exports.FaceLandmarker=d.FaceLandmarker,exports.FaceLandmarkerDefaults=d.FaceLandmarkerDefaults,exports.useFaceLandmarker=d.useFaceLandmarker,exports.Facemesh=q.Facemesh,exports.FacemeshDatas=q.FacemeshDatas,exports.FacemeshEye=q.FacemeshEye,exports.FacemeshEyeDefaults=q.FacemeshEyeDefaults,exports.Billboard=m.Billboard,exports.ScreenSpace=C.ScreenSpace,exports.ScreenSizer=h.ScreenSizer,exports.QuadraticBezierLine=S.QuadraticBezierLine,exports.CubicBezierLine=M.CubicBezierLine,exports.CatmullRomLine=T.CatmullRomLine,exports.Line=b.Line,exports.PositionalAudio=P.PositionalAudio,exports.Text=g.Text,exports.Text3D=f.Text3D,exports.Effects=v.Effects,exports.isWebGL2Available=v.isWebGL2Available,exports.GradientTexture=F.GradientTexture,exports.GradientType=F.GradientType,exports.Image=B.Image,exports.Edges=A.Edges,exports.Outlines=L.Outlines,exports.Trail=D.Trail,exports.useTrail=D.useTrail,exports.Sampler=k.Sampler,exports.useSurfaceSampler=k.useSurfaceSampler,exports.ComputedAttribute=E.ComputedAttribute,exports.Clone=G.Clone,exports.MarchingCube=R.MarchingCube,exports.MarchingCubes=R.MarchingCubes,exports.MarchingPlane=R.MarchingPlane,exports.Decal=y.Decal,exports.Svg=w.Svg,exports.Gltf=z.Gltf,exports.useGLTF=z.useGLTF,exports.AsciiRenderer=I.AsciiRenderer,exports.Splat=V.Splat,exports.OrthographicCamera=O.OrthographicCamera,exports.PerspectiveCamera=H.PerspectiveCamera,exports.CubeCamera=K.CubeCamera,exports.useCubeCamera=K.useCubeCamera,exports.DeviceOrientationControls=W.DeviceOrientationControls,exports.FlyControls=Q.FlyControls,exports.MapControls=N.MapControls,exports.OrbitControls=U.OrbitControls,exports.TrackballControls=X.TrackballControls,exports.ArcballControls=_.ArcballControls,exports.TransformControls=J.TransformControls,exports.PointerLockControls=Y.PointerLockControls,exports.FirstPersonControls=Z.FirstPersonControls,exports.CameraControls=$.CameraControls,exports.MotionPathControls=ee.MotionPathControls,exports.useMotion=ee.useMotion,exports.GizmoHelper=re.GizmoHelper,exports.useGizmoContext=re.useGizmoContext,exports.GizmoViewcube=se.GizmoViewcube,exports.GizmoViewport=oe.GizmoViewport,exports.Grid=te.Grid,exports.CubeTexture=ie.CubeTexture,exports.useCubeTexture=ie.useCubeTexture,exports.Fbx=ae.Fbx,exports.useFBX=ae.useFBX,exports.Ktx2=ce.Ktx2,exports.useKTX2=ce.useKTX2,exports.Progress=ue.Progress,exports.useProgress=ue.useProgress,exports.IsObject=ne.IsObject,exports.Texture=ne.Texture,exports.useTexture=ne.useTexture,exports.VideoTexture=pe.VideoTexture,exports.useVideoTexture=pe.useVideoTexture,exports.useFont=je.useFont,exports.checkIfFrameIsEmpty=le.checkIfFrameIsEmpty,exports.getFirstFrame=le.getFirstFrame,exports.useSpriteLoader=le.useSpriteLoader,exports.Helper=xe.Helper,exports.useHelper=xe.useHelper,exports.Stats=de.Stats,exports.StatsGl=qe.StatsGl,exports.useDepthBuffer=me.useDepthBuffer,exports.useAspect=Ce.useAspect,exports.useCamera=he.useCamera,exports.DetectGPU=Se.DetectGPU,exports.useDetectGPU=Se.useDetectGPU,exports.Bvh=Me.Bvh,exports.useBVH=Me.useBVH,exports.useContextBridge=Te.useContextBridge,exports.useAnimations=be.useAnimations,exports.Fbo=Pe.Fbo,exports.useFBO=Pe.useFBO,exports.useIntersect=ge.useIntersect,exports.useBoxProjectedEnv=fe.useBoxProjectedEnv,exports.BBAnchor=ve.BBAnchor,exports.TrailTexture=Fe.TrailTexture,exports.useTrailTexture=Fe.useTrailTexture,exports.Example=Be.Example,exports.SpriteAnimator=Ae.SpriteAnimator,exports.useSpriteAnimator=Ae.useSpriteAnimator,exports.CurveModifier=Le.CurveModifier,exports.MeshDistortMaterial=De.MeshDistortMaterial,exports.MeshWobbleMaterial=ke.MeshWobbleMaterial,exports.MeshReflectorMaterial=Ee.MeshReflectorMaterial,exports.MeshRefractionMaterial=Ge.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Re.MeshTransmissionMaterial,exports.MeshDiscardMaterial=ye.MeshDiscardMaterial,exports.MultiMaterial=we.MultiMaterial,exports.PointMaterial=ze.PointMaterial,exports.PointMaterialImpl=ze.PointMaterialImpl,exports.shaderMaterial=Ie.shaderMaterial,exports.SoftShadows=Ve.SoftShadows,exports.Box=Oe.Box,exports.Capsule=Oe.Capsule,exports.Circle=Oe.Circle,exports.Cone=Oe.Cone,exports.Cylinder=Oe.Cylinder,exports.Dodecahedron=Oe.Dodecahedron,exports.Extrude=Oe.Extrude,exports.Icosahedron=Oe.Icosahedron,exports.Lathe=Oe.Lathe,exports.Octahedron=Oe.Octahedron,exports.Plane=Oe.Plane,exports.Polyhedron=Oe.Polyhedron,exports.Ring=Oe.Ring,exports.Shape=Oe.Shape,exports.Sphere=Oe.Sphere,exports.Tetrahedron=Oe.Tetrahedron,exports.Torus=Oe.Torus,exports.TorusKnot=Oe.TorusKnot,exports.Tube=Oe.Tube,exports.RoundedBox=He.RoundedBox,exports.ScreenQuad=Ke.ScreenQuad,exports.Center=We.Center,exports.Resize=Qe.Resize,exports.Bounds=Ne.Bounds,exports.useBounds=Ne.useBounds,exports.CameraShake=Ue.CameraShake,exports.Float=Xe.Float,exports.Stage=_e.Stage,exports.Backdrop=Je.Backdrop,exports.Shadow=Ye.Shadow,exports.Caustics=Ze.Caustics,exports.ContactShadows=$e.ContactShadows,exports.AccumulativeShadows=er.AccumulativeShadows,exports.RandomizedLight=er.RandomizedLight,exports.accumulativeContext=er.accumulativeContext,exports.SpotLight=rr.SpotLight,exports.SpotLightShadow=rr.SpotLightShadow,exports.Environment=sr.Environment,exports.EnvironmentCube=sr.EnvironmentCube,exports.EnvironmentMap=sr.EnvironmentMap,exports.EnvironmentPortal=sr.EnvironmentPortal,exports.Lightformer=or.Lightformer,exports.Sky=tr.Sky,exports.calcPosFromAngles=tr.calcPosFromAngles,exports.Stars=ir.Stars,exports.Cloud=ar.Cloud,exports.CloudInstance=ar.CloudInstance,exports.Clouds=ar.Clouds,exports.Sparkles=cr.Sparkles,exports.useEnvironment=ur.useEnvironment,exports.MatcapTexture=nr.MatcapTexture,exports.useMatcapTexture=nr.useMatcapTexture,exports.NormalTexture=pr.NormalTexture,exports.useNormalTexture=pr.useNormalTexture,exports.Wireframe=jr.Wireframe,exports.ShadowAlpha=lr.ShadowAlpha,exports.Point=xr.Point,exports.Points=xr.Points,exports.PointsBuffer=xr.PointsBuffer,exports.PositionPoint=xr.PositionPoint,exports.Instance=dr.Instance,exports.InstancedAttribute=dr.InstancedAttribute,exports.Instances=dr.Instances,exports.Merged=dr.Merged,exports.PositionMesh=dr.PositionMesh,exports.createInstances=dr.createInstances,exports.Segment=qr.Segment,exports.SegmentObject=qr.SegmentObject,exports.Segments=qr.Segments,exports.Detailed=mr.Detailed,exports.Preload=Cr.Preload,exports.BakeShadows=hr.BakeShadows,exports.meshBounds=Sr.meshBounds,exports.AdaptiveDpr=Mr.AdaptiveDpr,exports.AdaptiveEvents=Tr.AdaptiveEvents,exports.PerformanceMonitor=br.PerformanceMonitor,exports.usePerformanceMonitor=br.usePerformanceMonitor,exports.RenderTexture=Pr.RenderTexture,exports.RenderCubeTexture=gr.RenderCubeTexture,exports.Mask=fr.Mask,exports.useMask=fr.useMask,exports.Hud=vr.Hud,exports.Fisheye=Fr.Fisheye,exports.MeshPortalMaterial=Br.MeshPortalMaterial,exports.calculateScaleFactor=Ar.calculateScaleFactor;
|
package/web/index.js
CHANGED
|
@@ -107,7 +107,6 @@ export { Shadow } from '../core/Shadow.js';
|
|
|
107
107
|
export { Caustics } from '../core/Caustics.js';
|
|
108
108
|
export { ContactShadows } from '../core/ContactShadows.js';
|
|
109
109
|
export { AccumulativeShadows, RandomizedLight, accumulativeContext } from '../core/AccumulativeShadows.js';
|
|
110
|
-
export { Reflector } from '../core/Reflector.js';
|
|
111
110
|
export { SpotLight, SpotLightShadow } from '../core/SpotLight.js';
|
|
112
111
|
export { Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal } from '../core/Environment.js';
|
|
113
112
|
export { Lightformer } from '../core/Lightformer.js';
|
|
@@ -142,10 +141,9 @@ import 'react';
|
|
|
142
141
|
import 'react-dom/client';
|
|
143
142
|
import 'three';
|
|
144
143
|
import '@react-three/fiber';
|
|
145
|
-
import 'zustand';
|
|
146
144
|
import 'maath';
|
|
147
|
-
import '@react-spring/three';
|
|
148
145
|
import '@use-gesture/react';
|
|
146
|
+
import 'zustand';
|
|
149
147
|
import 'zustand/middleware';
|
|
150
148
|
import 'three-stdlib';
|
|
151
149
|
import 'zustand/shallow';
|
|
@@ -166,7 +164,6 @@ import '../helpers/useEffectfulState.js';
|
|
|
166
164
|
import 'stats-gl';
|
|
167
165
|
import 'detect-gpu';
|
|
168
166
|
import 'three-mesh-bvh';
|
|
169
|
-
import 'react-composer';
|
|
170
167
|
import '../helpers/deprecated.js';
|
|
171
168
|
import '../materials/BlurPass.js';
|
|
172
169
|
import '../materials/ConvolutionMaterial.js';
|
|
@@ -42,8 +42,6 @@ const AxisArrow = ({
|
|
|
42
42
|
onDragEnd,
|
|
43
43
|
userData
|
|
44
44
|
} = React.useContext(context);
|
|
45
|
-
|
|
46
|
-
// @ts-expect-error new in @react-three/fiber@7.0.5
|
|
47
45
|
const camControls = useThree(state => state.controls);
|
|
48
46
|
const divRef = React.useRef(null);
|
|
49
47
|
const objRef = React.useRef(null);
|
|
@@ -62,8 +62,6 @@ const AxisRotator = ({
|
|
|
62
62
|
onDragEnd,
|
|
63
63
|
userData
|
|
64
64
|
} = React.useContext(context);
|
|
65
|
-
|
|
66
|
-
// @ts-expect-error new in @react-three/fiber@7.0.5
|
|
67
65
|
const camControls = useThree(state => state.controls);
|
|
68
66
|
const divRef = React.useRef(null);
|
|
69
67
|
const objRef = React.useRef(null);
|
|
@@ -44,8 +44,6 @@ const PlaneSlider = ({
|
|
|
44
44
|
onDragEnd,
|
|
45
45
|
userData
|
|
46
46
|
} = React.useContext(context);
|
|
47
|
-
|
|
48
|
-
// @ts-expect-error new in @react-three/fiber@7.0.5
|
|
49
47
|
const camControls = useThree(state => state.controls);
|
|
50
48
|
const divRef = React.useRef(null);
|
|
51
49
|
const objRef = React.useRef(null);
|
|
@@ -101,7 +99,7 @@ const PlaneSlider = ({
|
|
|
101
99
|
ray.intersectPlane(plane, intersection);
|
|
102
100
|
intersection.sub(clickPoint);
|
|
103
101
|
let [offsetX, offsetY] = decomposeIntoBasis(e1, e2, intersection);
|
|
104
|
-
/* let offsetY = (intersection.y - (intersection.x * e1.y) / e1.x) / (e2.y - (e2.x * e1.y) / e1.x)
|
|
102
|
+
/* let offsetY = (intersection.y - (intersection.x * e1.y) / e1.x) / (e2.y - (e2.x * e1.y) / e1.x)
|
|
105
103
|
let offsetX = (intersection.x - offsetY * e2.x) / e1.x */
|
|
106
104
|
if (minX !== undefined) {
|
|
107
105
|
offsetX = Math.max(offsetX, minX - offsetX0.current);
|
|
@@ -43,7 +43,6 @@ const ScalingSphere = ({
|
|
|
43
43
|
userData
|
|
44
44
|
} = React.useContext(context);
|
|
45
45
|
const size = useThree(state => state.size);
|
|
46
|
-
// @ts-expect-error new in @react-three/fiber@7.0.5
|
|
47
46
|
const camControls = useThree(state => state.controls);
|
|
48
47
|
const divRef = React.useRef(null);
|
|
49
48
|
const objRef = React.useRef(null);
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import * as THREE from 'three';
|
|
3
3
|
import { ForwardRefComponent } from '../../helpers/ts-utils';
|
|
4
4
|
import { OnDragStartProps } from './context';
|
|
5
|
-
type PivotControlsProps = {
|
|
5
|
+
export type PivotControlsProps = {
|
|
6
6
|
enabled?: boolean;
|
|
7
7
|
scale?: number;
|
|
8
8
|
lineWidth?: number;
|
|
@@ -36,4 +36,3 @@ type PivotControlsProps = {
|
|
|
36
36
|
children?: React.ReactNode;
|
|
37
37
|
};
|
|
38
38
|
export declare const PivotControls: ForwardRefComponent<PivotControlsProps, THREE.Group>;
|
|
39
|
-
export {};
|
package/core/Reflector.cjs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),a=require("@react-three/fiber"),n=require("../materials/BlurPass.cjs.js"),s=require("../materials/MeshReflectorMaterial.cjs.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}require("../materials/ConvolutionMaterial.cjs.js"),require("../helpers/constants.cjs.js");var l=o(e),u=i(t);const c=u.forwardRef((({mixBlur:e=0,mixStrength:t=.5,resolution:o=256,blur:i=[0,0],args:c=[1,1],minDepthThreshold:d=.9,maxDepthThreshold:p=1,depthScale:m=0,depthToBlurRatioBias:h=.25,mirror:x=0,children:f,debug:M=0,distortion:b=1,mixContrast:w=1,distortionMap:y,...T},S)=>{a.extend({MeshReflectorMaterial:s.MeshReflectorMaterial}),u.useEffect((()=>{console.warn("Reflector has been deprecated and will be removed next major. Replace it with <MeshReflectorMaterial />!")}),[]);const g=a.useThree((({gl:e})=>e)),R=a.useThree((({camera:e})=>e)),j=a.useThree((({scene:e})=>e)),v=(i=Array.isArray(i)?i:[i,i])[0]+i[1]>0,B=u.useRef(null);u.useImperativeHandle(S,(()=>B.current),[]);const[D]=u.useState((()=>new r.Plane)),[P]=u.useState((()=>new r.Vector3)),[F]=u.useState((()=>new r.Vector3)),[V]=u.useState((()=>new r.Vector3)),[W]=u.useState((()=>new r.Matrix4)),[E]=u.useState((()=>new r.Vector3(0,0,-1))),[O]=u.useState((()=>new r.Vector4)),[q]=u.useState((()=>new r.Vector3)),[U]=u.useState((()=>new r.Vector3)),[C]=u.useState((()=>new r.Vector4)),[_]=u.useState((()=>new r.Matrix4)),[I]=u.useState((()=>new r.PerspectiveCamera)),L=u.useCallback((()=>{if(F.setFromMatrixPosition(B.current.matrixWorld),V.setFromMatrixPosition(R.matrixWorld),W.extractRotation(B.current.matrixWorld),P.set(0,0,1),P.applyMatrix4(W),q.subVectors(F,V),q.dot(P)>0)return;q.reflect(P).negate(),q.add(F),W.extractRotation(R.matrixWorld),E.set(0,0,-1),E.applyMatrix4(W),E.add(V),U.subVectors(F,E),U.reflect(P).negate(),U.add(F),I.position.copy(q),I.up.set(0,1,0),I.up.applyMatrix4(W),I.up.reflect(P),I.lookAt(U),I.far=R.far,I.updateMatrixWorld(),I.projectionMatrix.copy(R.projectionMatrix),_.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),_.multiply(I.projectionMatrix),_.multiply(I.matrixWorldInverse),_.multiply(B.current.matrixWorld),D.setFromNormalAndCoplanarPoint(P,F),D.applyMatrix4(I.matrixWorldInverse),O.set(D.normal.x,D.normal.y,D.normal.z,D.constant);const e=I.projectionMatrix;C.x=(Math.sign(O.x)+e.elements[8])/e.elements[0],C.y=(Math.sign(O.y)+e.elements[9])/e.elements[5],C.z=-1,C.w=(1+e.elements[10])/e.elements[14],O.multiplyScalar(2/O.dot(C)),e.elements[2]=O.x,e.elements[6]=O.y,e.elements[10]=O.z+1,e.elements[14]=O.w}),[]),[k,z,A,G]=u.useMemo((()=>{const a={type:r.HalfFloatType,minFilter:r.LinearFilter,magFilter:r.LinearFilter},s=new r.WebGLRenderTarget(o,o,a);s.depthBuffer=!0,s.depthTexture=new r.DepthTexture(o,o),s.depthTexture.format=r.DepthFormat,s.depthTexture.type=r.UnsignedShortType;const l=new r.WebGLRenderTarget(o,o,a);return[s,l,new n.BlurPass({gl:g,resolution:o,width:i[0],height:i[1],minDepthThreshold:d,maxDepthThreshold:p,depthScale:m,depthToBlurRatioBias:h}),{mirror:x,textureMatrix:_,mixBlur:e,tDiffuse:s.texture,tDepth:s.depthTexture,tDiffuseBlur:l.texture,hasBlur:v,mixStrength:t,minDepthThreshold:d,maxDepthThreshold:p,depthScale:m,depthToBlurRatioBias:h,transparent:!0,debug:M,distortion:b,distortionMap:y,mixContrast:w,"defines-USE_BLUR":v?"":void 0,"defines-USE_DEPTH":m>0?"":void 0,"defines-USE_DISTORTION":y?"":void 0}]}),[g,i,_,o,x,v,e,t,d,p,m,h,M,b,y,w]);return a.useFrame((()=>{if(null==B||!B.current)return;B.current.visible=!1;const e=g.xr.enabled,t=g.shadowMap.autoUpdate;L(),g.xr.enabled=!1,g.shadowMap.autoUpdate=!1,g.setRenderTarget(k),g.state.buffers.depth.setMask(!0),g.autoClear||g.clear(),g.render(j,I),v&&A.render(g,k,z),g.xr.enabled=e,g.shadowMap.autoUpdate=t,B.current.visible=!0,g.setRenderTarget(null)})),u.createElement("mesh",l.default({ref:B},T),u.createElement("planeGeometry",{args:c}),f?f("meshReflectorMaterial",G):u.createElement("meshReflectorMaterial",G))}));exports.Reflector=c;
|
package/core/Reflector.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { Mesh, Texture } from 'three';
|
|
3
|
-
import { MeshReflectorMaterialProps } from '../materials/MeshReflectorMaterial';
|
|
4
|
-
import { ForwardRefComponent } from '../helpers/ts-utils';
|
|
5
|
-
export type ReflectorProps = Omit<JSX.IntrinsicElements['mesh'], 'args' | 'children'> & Pick<JSX.IntrinsicElements['planeGeometry'], 'args'> & {
|
|
6
|
-
resolution?: number;
|
|
7
|
-
mixBlur?: number;
|
|
8
|
-
mixStrength?: number;
|
|
9
|
-
blur?: [number, number] | number;
|
|
10
|
-
mirror: number;
|
|
11
|
-
minDepthThreshold?: number;
|
|
12
|
-
maxDepthThreshold?: number;
|
|
13
|
-
depthScale?: number;
|
|
14
|
-
depthToBlurRatioBias?: number;
|
|
15
|
-
debug?: number;
|
|
16
|
-
distortionMap?: Texture;
|
|
17
|
-
distortion?: number;
|
|
18
|
-
mixContrast?: number;
|
|
19
|
-
children?: {
|
|
20
|
-
(Component: React.ElementType<JSX.IntrinsicElements['meshReflectorMaterial']>, ComponentProps: MeshReflectorMaterialProps): JSX.Element | null;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
declare global {
|
|
24
|
-
namespace JSX {
|
|
25
|
-
interface IntrinsicElements {
|
|
26
|
-
meshReflectorMaterial: MeshReflectorMaterialProps;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
export declare const Reflector: ForwardRefComponent<ReflectorProps, Mesh>;
|
package/core/Reflector.js
DELETED
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { Plane, Vector3, Matrix4, Vector4, PerspectiveCamera, WebGLRenderTarget, DepthTexture, DepthFormat, UnsignedShortType, HalfFloatType, LinearFilter } from 'three';
|
|
4
|
-
import { extend, useThree, useFrame } from '@react-three/fiber';
|
|
5
|
-
import { BlurPass } from '../materials/BlurPass.js';
|
|
6
|
-
import { MeshReflectorMaterial } from '../materials/MeshReflectorMaterial.js';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @deprecated Use MeshReflectorMaterial instead
|
|
10
|
-
*/
|
|
11
|
-
const Reflector = /* @__PURE__ */React.forwardRef(({
|
|
12
|
-
mixBlur = 0,
|
|
13
|
-
mixStrength = 0.5,
|
|
14
|
-
resolution = 256,
|
|
15
|
-
blur = [0, 0],
|
|
16
|
-
args = [1, 1],
|
|
17
|
-
minDepthThreshold = 0.9,
|
|
18
|
-
maxDepthThreshold = 1,
|
|
19
|
-
depthScale = 0,
|
|
20
|
-
depthToBlurRatioBias = 0.25,
|
|
21
|
-
mirror = 0,
|
|
22
|
-
children,
|
|
23
|
-
debug = 0,
|
|
24
|
-
distortion = 1,
|
|
25
|
-
mixContrast = 1,
|
|
26
|
-
distortionMap,
|
|
27
|
-
...props
|
|
28
|
-
}, ref) => {
|
|
29
|
-
extend({
|
|
30
|
-
MeshReflectorMaterial
|
|
31
|
-
});
|
|
32
|
-
React.useEffect(() => {
|
|
33
|
-
console.warn('Reflector has been deprecated and will be removed next major. Replace it with <MeshReflectorMaterial />!');
|
|
34
|
-
}, []);
|
|
35
|
-
const gl = useThree(({
|
|
36
|
-
gl
|
|
37
|
-
}) => gl);
|
|
38
|
-
const camera = useThree(({
|
|
39
|
-
camera
|
|
40
|
-
}) => camera);
|
|
41
|
-
const scene = useThree(({
|
|
42
|
-
scene
|
|
43
|
-
}) => scene);
|
|
44
|
-
blur = Array.isArray(blur) ? blur : [blur, blur];
|
|
45
|
-
const hasBlur = blur[0] + blur[1] > 0;
|
|
46
|
-
const meshRef = React.useRef(null);
|
|
47
|
-
React.useImperativeHandle(ref, () => meshRef.current, []);
|
|
48
|
-
const [reflectorPlane] = React.useState(() => new Plane());
|
|
49
|
-
const [normal] = React.useState(() => new Vector3());
|
|
50
|
-
const [reflectorWorldPosition] = React.useState(() => new Vector3());
|
|
51
|
-
const [cameraWorldPosition] = React.useState(() => new Vector3());
|
|
52
|
-
const [rotationMatrix] = React.useState(() => new Matrix4());
|
|
53
|
-
const [lookAtPosition] = React.useState(() => new Vector3(0, 0, -1));
|
|
54
|
-
const [clipPlane] = React.useState(() => new Vector4());
|
|
55
|
-
const [view] = React.useState(() => new Vector3());
|
|
56
|
-
const [target] = React.useState(() => new Vector3());
|
|
57
|
-
const [q] = React.useState(() => new Vector4());
|
|
58
|
-
const [textureMatrix] = React.useState(() => new Matrix4());
|
|
59
|
-
const [virtualCamera] = React.useState(() => new PerspectiveCamera());
|
|
60
|
-
const beforeRender = React.useCallback(() => {
|
|
61
|
-
reflectorWorldPosition.setFromMatrixPosition(meshRef.current.matrixWorld);
|
|
62
|
-
cameraWorldPosition.setFromMatrixPosition(camera.matrixWorld);
|
|
63
|
-
rotationMatrix.extractRotation(meshRef.current.matrixWorld);
|
|
64
|
-
normal.set(0, 0, 1);
|
|
65
|
-
normal.applyMatrix4(rotationMatrix);
|
|
66
|
-
view.subVectors(reflectorWorldPosition, cameraWorldPosition);
|
|
67
|
-
// Avoid rendering when reflector is facing away
|
|
68
|
-
if (view.dot(normal) > 0) return;
|
|
69
|
-
view.reflect(normal).negate();
|
|
70
|
-
view.add(reflectorWorldPosition);
|
|
71
|
-
rotationMatrix.extractRotation(camera.matrixWorld);
|
|
72
|
-
lookAtPosition.set(0, 0, -1);
|
|
73
|
-
lookAtPosition.applyMatrix4(rotationMatrix);
|
|
74
|
-
lookAtPosition.add(cameraWorldPosition);
|
|
75
|
-
target.subVectors(reflectorWorldPosition, lookAtPosition);
|
|
76
|
-
target.reflect(normal).negate();
|
|
77
|
-
target.add(reflectorWorldPosition);
|
|
78
|
-
virtualCamera.position.copy(view);
|
|
79
|
-
virtualCamera.up.set(0, 1, 0);
|
|
80
|
-
virtualCamera.up.applyMatrix4(rotationMatrix);
|
|
81
|
-
virtualCamera.up.reflect(normal);
|
|
82
|
-
virtualCamera.lookAt(target);
|
|
83
|
-
virtualCamera.far = camera.far; // Used in WebGLBackground
|
|
84
|
-
virtualCamera.updateMatrixWorld();
|
|
85
|
-
virtualCamera.projectionMatrix.copy(camera.projectionMatrix);
|
|
86
|
-
// Update the texture matrix
|
|
87
|
-
textureMatrix.set(0.5, 0.0, 0.0, 0.5, 0.0, 0.5, 0.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 1.0);
|
|
88
|
-
textureMatrix.multiply(virtualCamera.projectionMatrix);
|
|
89
|
-
textureMatrix.multiply(virtualCamera.matrixWorldInverse);
|
|
90
|
-
textureMatrix.multiply(meshRef.current.matrixWorld);
|
|
91
|
-
// Now update projection matrix with new clip plane, implementing code from: http://www.terathon.com/code/oblique.html
|
|
92
|
-
// Paper explaining this technique: http://www.terathon.com/lengyel/Lengyel-Oblique.pdf
|
|
93
|
-
reflectorPlane.setFromNormalAndCoplanarPoint(normal, reflectorWorldPosition);
|
|
94
|
-
reflectorPlane.applyMatrix4(virtualCamera.matrixWorldInverse);
|
|
95
|
-
clipPlane.set(reflectorPlane.normal.x, reflectorPlane.normal.y, reflectorPlane.normal.z, reflectorPlane.constant);
|
|
96
|
-
const projectionMatrix = virtualCamera.projectionMatrix;
|
|
97
|
-
q.x = (Math.sign(clipPlane.x) + projectionMatrix.elements[8]) / projectionMatrix.elements[0];
|
|
98
|
-
q.y = (Math.sign(clipPlane.y) + projectionMatrix.elements[9]) / projectionMatrix.elements[5];
|
|
99
|
-
q.z = -1.0;
|
|
100
|
-
q.w = (1.0 + projectionMatrix.elements[10]) / projectionMatrix.elements[14];
|
|
101
|
-
// Calculate the scaled plane vector
|
|
102
|
-
clipPlane.multiplyScalar(2.0 / clipPlane.dot(q));
|
|
103
|
-
// Replacing the third row of the projection matrix
|
|
104
|
-
projectionMatrix.elements[2] = clipPlane.x;
|
|
105
|
-
projectionMatrix.elements[6] = clipPlane.y;
|
|
106
|
-
projectionMatrix.elements[10] = clipPlane.z + 1.0;
|
|
107
|
-
projectionMatrix.elements[14] = clipPlane.w;
|
|
108
|
-
}, []);
|
|
109
|
-
const [fbo1, fbo2, blurpass, reflectorProps] = React.useMemo(() => {
|
|
110
|
-
const parameters = {
|
|
111
|
-
type: HalfFloatType,
|
|
112
|
-
minFilter: LinearFilter,
|
|
113
|
-
magFilter: LinearFilter
|
|
114
|
-
};
|
|
115
|
-
const fbo1 = new WebGLRenderTarget(resolution, resolution, parameters);
|
|
116
|
-
fbo1.depthBuffer = true;
|
|
117
|
-
fbo1.depthTexture = new DepthTexture(resolution, resolution);
|
|
118
|
-
fbo1.depthTexture.format = DepthFormat;
|
|
119
|
-
fbo1.depthTexture.type = UnsignedShortType;
|
|
120
|
-
const fbo2 = new WebGLRenderTarget(resolution, resolution, parameters);
|
|
121
|
-
const blurpass = new BlurPass({
|
|
122
|
-
gl,
|
|
123
|
-
resolution,
|
|
124
|
-
width: blur[0],
|
|
125
|
-
height: blur[1],
|
|
126
|
-
minDepthThreshold,
|
|
127
|
-
maxDepthThreshold,
|
|
128
|
-
depthScale,
|
|
129
|
-
depthToBlurRatioBias
|
|
130
|
-
});
|
|
131
|
-
const reflectorProps = {
|
|
132
|
-
mirror,
|
|
133
|
-
textureMatrix,
|
|
134
|
-
mixBlur,
|
|
135
|
-
tDiffuse: fbo1.texture,
|
|
136
|
-
tDepth: fbo1.depthTexture,
|
|
137
|
-
tDiffuseBlur: fbo2.texture,
|
|
138
|
-
hasBlur,
|
|
139
|
-
mixStrength,
|
|
140
|
-
minDepthThreshold,
|
|
141
|
-
maxDepthThreshold,
|
|
142
|
-
depthScale,
|
|
143
|
-
depthToBlurRatioBias,
|
|
144
|
-
transparent: true,
|
|
145
|
-
debug,
|
|
146
|
-
distortion,
|
|
147
|
-
distortionMap,
|
|
148
|
-
mixContrast,
|
|
149
|
-
'defines-USE_BLUR': hasBlur ? '' : undefined,
|
|
150
|
-
'defines-USE_DEPTH': depthScale > 0 ? '' : undefined,
|
|
151
|
-
'defines-USE_DISTORTION': distortionMap ? '' : undefined
|
|
152
|
-
};
|
|
153
|
-
return [fbo1, fbo2, blurpass, reflectorProps];
|
|
154
|
-
}, [gl, blur, textureMatrix, resolution, mirror, hasBlur, mixBlur, mixStrength, minDepthThreshold, maxDepthThreshold, depthScale, depthToBlurRatioBias, debug, distortion, distortionMap, mixContrast]);
|
|
155
|
-
useFrame(() => {
|
|
156
|
-
if (!(meshRef != null && meshRef.current)) return;
|
|
157
|
-
meshRef.current.visible = false;
|
|
158
|
-
const currentXrEnabled = gl.xr.enabled;
|
|
159
|
-
const currentShadowAutoUpdate = gl.shadowMap.autoUpdate;
|
|
160
|
-
beforeRender();
|
|
161
|
-
gl.xr.enabled = false;
|
|
162
|
-
gl.shadowMap.autoUpdate = false;
|
|
163
|
-
gl.setRenderTarget(fbo1);
|
|
164
|
-
gl.state.buffers.depth.setMask(true);
|
|
165
|
-
if (!gl.autoClear) gl.clear();
|
|
166
|
-
gl.render(scene, virtualCamera);
|
|
167
|
-
if (hasBlur) blurpass.render(gl, fbo1, fbo2);
|
|
168
|
-
gl.xr.enabled = currentXrEnabled;
|
|
169
|
-
gl.shadowMap.autoUpdate = currentShadowAutoUpdate;
|
|
170
|
-
meshRef.current.visible = true;
|
|
171
|
-
gl.setRenderTarget(null);
|
|
172
|
-
});
|
|
173
|
-
return /*#__PURE__*/React.createElement("mesh", _extends({
|
|
174
|
-
ref: meshRef
|
|
175
|
-
}, props), /*#__PURE__*/React.createElement("planeGeometry", {
|
|
176
|
-
args: args
|
|
177
|
-
}), children ? children('meshReflectorMaterial', reflectorProps) : /*#__PURE__*/React.createElement("meshReflectorMaterial", reflectorProps));
|
|
178
|
-
});
|
|
179
|
-
|
|
180
|
-
export { Reflector };
|