@react-three/drei 7.27.5 → 8.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -56
- package/assets/cloud.base64.d.ts +1 -1
- package/core/AdaptiveDpr.js +2 -2
- package/core/AdaptiveEvents.js +2 -3
- package/core/ArcballControls.js +2 -3
- package/core/Billboard.d.ts +1 -1
- package/core/Bounds.cjs.js +1 -1
- package/core/Bounds.js +11 -2
- package/core/CameraShake.js +1 -1
- package/core/Center.d.ts +1 -1
- package/core/Center.js +1 -1
- package/core/ContactShadows.d.ts +1 -1
- package/core/CubeCamera.js +1 -2
- package/core/Detailed.d.ts +1 -1
- package/core/Environment.js +1 -1
- package/core/GizmoHelper.js +1 -1
- package/core/Image.d.ts +1 -1
- package/core/Instances.d.ts +2 -2
- package/core/Line.d.ts +1 -1
- package/core/MeshDistortMaterial.d.ts +1 -1
- package/core/MeshReflectorMaterial.d.ts +1 -1
- package/core/MeshReflectorMaterial.js +1 -1
- package/core/MeshWobbleMaterial.d.ts +1 -1
- package/core/OrbitControls.js +2 -3
- package/core/OrthographicCamera.d.ts +1 -1
- package/core/PerspectiveCamera.d.ts +1 -1
- package/core/Points.d.ts +2 -2
- package/core/PositionalAudio.d.ts +1 -1
- package/core/Preload.js +1 -1
- package/core/Reflector.d.ts +1 -1
- package/core/Reflector.js +1 -1
- package/core/RoundedBox.d.ts +1 -1
- package/core/ScreenQuad.d.ts +1 -1
- package/core/Shadow.d.ts +1 -1
- package/core/SpotLight.cjs.js +1 -1
- package/core/SpotLight.d.ts +4 -1
- package/core/SpotLight.js +10 -3
- package/core/Stage.js +1 -2
- package/core/Text.d.ts +1 -1
- package/core/TrackballControls.js +2 -3
- package/core/TransformControls.d.ts +1 -1
- package/core/index.cjs.js +1 -1
- package/core/index.d.ts +0 -4
- package/core/index.js +1 -5
- package/core/shaderMaterial.d.ts +6 -11
- package/core/shapes.cjs.js +1 -1
- package/core/shapes.d.ts +21 -25
- package/core/shapes.js +1 -2
- package/core/useAnimations.js +1 -1
- package/core/useFBO.js +2 -2
- package/helpers/useEffectfulState.js +1 -1
- package/index.cjs.js +1 -1
- package/index.js +1 -5
- package/materials/SpotLightMaterial.cjs.js +1 -1
- package/materials/SpotLightMaterial.js +6 -2
- package/native/index.cjs.js +1 -1
- package/native/index.js +1 -5
- package/package.json +2 -2
- package/web/Html.cjs.js +1 -1
- package/web/Html.d.ts +1 -0
- package/web/Html.js +5 -2
- package/web/index.cjs.js +1 -1
- package/web/index.js +1 -5
- package/core/DepthBuffer.cjs.js +0 -1
- package/core/DepthBuffer.d.ts +0 -5
- package/core/DepthBuffer.js +0 -36
- package/core/useEdgeSplit.cjs.js +0 -1
- package/core/useEdgeSplit.d.ts +0 -3
- package/core/useEdgeSplit.js +0 -24
- package/core/useSimplification.cjs.js +0 -1
- package/core/useSimplification.d.ts +0 -3
- package/core/useSimplification.js +0 -25
- package/core/useTessellation.cjs.js +0 -1
- package/core/useTessellation.d.ts +0 -3
- package/core/useTessellation.js +0 -26
package/index.js
CHANGED
|
@@ -34,7 +34,6 @@ export { useGLTF } from './core/useGLTF.js';
|
|
|
34
34
|
export { useProgress } from './core/useProgress.js';
|
|
35
35
|
export { IsObject, useTexture } from './core/useTexture.js';
|
|
36
36
|
export { Stats } from './core/Stats.js';
|
|
37
|
-
export { DepthBuffer } from './core/DepthBuffer.js';
|
|
38
37
|
export { useDepthBuffer } from './core/useDepthBuffer.js';
|
|
39
38
|
export { useAspect } from './core/useAspect.js';
|
|
40
39
|
export { useCamera } from './core/useCamera.js';
|
|
@@ -45,9 +44,6 @@ export { useContextBridge } from './core/useContextBridge.js';
|
|
|
45
44
|
export { useAnimations } from './core/useAnimations.js';
|
|
46
45
|
export { useFBO } from './core/useFBO.js';
|
|
47
46
|
export { useIntersect } from './core/useIntersect.js';
|
|
48
|
-
export { useSimplification } from './core/useSimplification.js';
|
|
49
|
-
export { useTessellation } from './core/useTessellation.js';
|
|
50
|
-
export { useEdgeSplit } from './core/useEdgeSplit.js';
|
|
51
47
|
export { CurveModifier } from './core/CurveModifier.js';
|
|
52
48
|
export { MeshDistortMaterial } from './core/MeshDistortMaterial.js';
|
|
53
49
|
export { MeshWobbleMaterial } from './core/MeshWobbleMaterial.js';
|
|
@@ -55,7 +51,7 @@ export { MeshReflectorMaterial } from './core/MeshReflectorMaterial.js';
|
|
|
55
51
|
export { PointMaterial, PointMaterialImpl } from './core/PointMaterial.js';
|
|
56
52
|
export { shaderMaterial } from './core/shaderMaterial.js';
|
|
57
53
|
export { softShadows } from './core/softShadows.js';
|
|
58
|
-
export { Box, Circle, Cone, Cylinder, Dodecahedron, Extrude, Icosahedron, Lathe, Octahedron,
|
|
54
|
+
export { Box, Circle, Cone, Cylinder, Dodecahedron, Extrude, Icosahedron, Lathe, Octahedron, Plane, Polyhedron, Ring, Sphere, Tetrahedron, Torus, TorusKnot, Tube } from './core/shapes.js';
|
|
59
55
|
export { RoundedBox } from './core/RoundedBox.js';
|
|
60
56
|
export { ScreenQuad } from './core/ScreenQuad.js';
|
|
61
57
|
export { Center } from './core/Center.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("three");class
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("three");class t extends n.ShaderMaterial{constructor(){super({uniforms:{depth:{value:null},opacity:{value:1},attenuation:{value:2.5},anglePower:{value:12},spotPosition:{value:new n.Vector3(0,0,0)},lightColor:{value:new n.Color("white")},cameraNear:{value:0},cameraFar:{value:1},resolution:{value:new n.Vector2(0,0)}},transparent:!0,depthWrite:!1,vertexShader:"\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n varying float vViewZ;\n varying float vIntensity;\n uniform vec3 spotPosition;\n uniform float attenuation; \n\n void main() {\n // compute intensity\n vNormal = normalize( normalMatrix * normal );\n vec4 worldPosition\t= modelMatrix * vec4( position, 1.0 );\n vWorldPosition = worldPosition.xyz;\n vec4 viewPosition = viewMatrix * worldPosition;\n vViewZ = viewPosition.z;\n float intensity\t= distance(worldPosition.xyz, spotPosition) / attenuation;\n intensity\t= 1.0 - clamp(intensity, 0.0, 1.0);\n vIntensity = intensity; \n // set gl_Position\n gl_Position\t= projectionMatrix * viewPosition;\n\n }",fragmentShader:"\n #include <packing>\n\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n uniform vec3 lightColor;\n uniform vec3 spotPosition;\n uniform float attenuation;\n uniform float anglePower;\n uniform sampler2D depth;\n uniform vec2 resolution;\n uniform float cameraNear;\n uniform float cameraFar;\n varying float vViewZ;\n varying float vIntensity;\n uniform float opacity;\n\n float readDepth( sampler2D depthSampler, vec2 coord ) {\n float fragCoordZ = texture2D( depthSampler, coord ).x;\n float viewZ = perspectiveDepthToViewZ(fragCoordZ, cameraNear, cameraFar);\n return viewZ;\n }\n\n void main() {\n float d = 1.0;\n bool isSoft = resolution[0] > 0.0 && resolution[1] > 0.0;\n if (isSoft) {\n vec2 sUv = gl_FragCoord.xy / resolution;\n d = readDepth(depth, sUv);\n }\n float intensity = vIntensity;\n vec3 normal\t= vec3(vNormal.x, vNormal.y, abs(vNormal.z));\n float angleIntensity\t= pow( dot(normal, vec3(0.0, 0.0, 1.0)), anglePower );\n intensity\t*= angleIntensity;\n // fades when z is close to sampled depth, meaning the cone is intersecting existing geometry\n if (isSoft) {\n intensity\t*= smoothstep(0., 1., vViewZ - d);\n }\n gl_FragColor = vec4(lightColor, intensity * opacity);\n }"})}}exports.SpotLightMaterial=t;
|
|
@@ -7,6 +7,9 @@ class SpotLightMaterial extends ShaderMaterial {
|
|
|
7
7
|
depth: {
|
|
8
8
|
value: null
|
|
9
9
|
},
|
|
10
|
+
opacity: {
|
|
11
|
+
value: 1
|
|
12
|
+
},
|
|
10
13
|
attenuation: {
|
|
11
14
|
value: 2.5
|
|
12
15
|
},
|
|
@@ -39,7 +42,7 @@ class SpotLightMaterial extends ShaderMaterial {
|
|
|
39
42
|
varying float vViewZ;
|
|
40
43
|
varying float vIntensity;
|
|
41
44
|
uniform vec3 spotPosition;
|
|
42
|
-
uniform float attenuation;
|
|
45
|
+
uniform float attenuation;
|
|
43
46
|
|
|
44
47
|
void main() {
|
|
45
48
|
// compute intensity
|
|
@@ -72,6 +75,7 @@ class SpotLightMaterial extends ShaderMaterial {
|
|
|
72
75
|
uniform float cameraFar;
|
|
73
76
|
varying float vViewZ;
|
|
74
77
|
varying float vIntensity;
|
|
78
|
+
uniform float opacity;
|
|
75
79
|
|
|
76
80
|
float readDepth( sampler2D depthSampler, vec2 coord ) {
|
|
77
81
|
float fragCoordZ = texture2D( depthSampler, coord ).x;
|
|
@@ -94,7 +98,7 @@ class SpotLightMaterial extends ShaderMaterial {
|
|
|
94
98
|
if (isSoft) {
|
|
95
99
|
intensity *= smoothstep(0., 1., vViewZ - d);
|
|
96
100
|
}
|
|
97
|
-
gl_FragColor = vec4(lightColor, intensity);
|
|
101
|
+
gl_FragColor = vec4(lightColor, intensity * opacity);
|
|
98
102
|
}`
|
|
99
103
|
});
|
|
100
104
|
}
|
package/native/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/Billboard.cjs.js"),r=require("../core/QuadraticBezierLine.cjs.js"),s=require("../core/CubicBezierLine.cjs.js"),o=require("../core/Line.cjs.js"),t=require("../core/PositionalAudio.cjs.js"),i=require("../core/Text.cjs.js"),c=require("../core/Effects.cjs.js"),u=require("../core/GradientTexture.cjs.js"),a=require("../core/Image.cjs.js"),j=require("../core/OrthographicCamera.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/Billboard.cjs.js"),r=require("../core/QuadraticBezierLine.cjs.js"),s=require("../core/CubicBezierLine.cjs.js"),o=require("../core/Line.cjs.js"),t=require("../core/PositionalAudio.cjs.js"),i=require("../core/Text.cjs.js"),c=require("../core/Effects.cjs.js"),u=require("../core/GradientTexture.cjs.js"),a=require("../core/Image.cjs.js"),j=require("../core/OrthographicCamera.cjs.js"),n=require("../core/PerspectiveCamera.cjs.js"),p=require("../core/CubeCamera.cjs.js"),l=require("../core/DeviceOrientationControls.cjs.js"),x=require("../core/FlyControls.cjs.js"),q=require("../core/MapControls.cjs.js"),d=require("../core/OrbitControls.cjs.js"),h=require("../core/TrackballControls.cjs.js"),C=require("../core/ArcballControls.cjs.js"),m=require("../core/TransformControls.cjs.js"),b=require("../core/PointerLockControls.cjs.js"),B=require("../core/FirstPersonControls.cjs.js"),M=require("../core/GizmoHelper.cjs.js"),P=require("../core/GizmoViewcube.cjs.js"),S=require("../core/GizmoViewport.cjs.js"),f=require("../core/useCubeTexture.cjs.js"),T=require("../core/useFBX.cjs.js"),g=require("../core/useGLTF.cjs.js"),v=require("../core/useProgress.cjs.js"),L=require("../core/useTexture.cjs.js"),A=require("../core/Stats.cjs.js"),G=require("../core/useDepthBuffer.cjs.js"),k=require("../core/useAspect.cjs.js"),D=require("../core/useCamera.cjs.js"),F=require("../core/useDetectGPU.cjs.js"),w=require("../core/useHelper.cjs.js"),z=require("../core/useBVH.cjs.js"),I=require("../core/useContextBridge.cjs.js"),O=require("../core/useAnimations.cjs.js"),E=require("../core/useFBO.cjs.js"),R=require("../core/useIntersect.cjs.js"),y=require("../core/CurveModifier.cjs.js"),H=require("../core/MeshDistortMaterial.cjs.js"),V=require("../core/MeshWobbleMaterial.cjs.js"),Q=require("../core/MeshReflectorMaterial.cjs.js"),W=require("../core/PointMaterial.cjs.js"),N=require("../core/shaderMaterial.cjs.js"),U=require("../core/softShadows.cjs.js"),X=require("../core/shapes.cjs.js"),K=require("../core/RoundedBox.cjs.js"),_=require("../core/ScreenQuad.cjs.js"),J=require("../core/Center.cjs.js"),Y=require("../core/Bounds.cjs.js"),Z=require("../core/CameraShake.cjs.js"),$=require("../core/Float.cjs.js"),ee=require("../core/Stage.cjs.js"),re=require("../core/Backdrop.cjs.js"),se=require("../core/Shadow.cjs.js"),oe=require("../core/ContactShadows.cjs.js"),te=require("../core/Reflector.cjs.js"),ie=require("../core/SpotLight.cjs.js"),ce=require("../core/Environment.cjs.js"),ue=require("../core/Sky.cjs.js"),ae=require("../core/Stars.cjs.js"),je=require("../core/Cloud.cjs.js"),ne=require("../core/useMatcapTexture.cjs.js"),pe=require("../core/useNormalTexture.cjs.js"),le=require("../core/Points.cjs.js"),xe=require("../core/Instances.cjs.js"),qe=require("../core/Segments.cjs.js"),de=require("../core/Detailed.cjs.js"),he=require("../core/Preload.cjs.js"),Ce=require("../core/BakeShadows.cjs.js"),me=require("../core/meshBounds.cjs.js"),be=require("../core/AdaptiveDpr.cjs.js"),Be=require("../core/AdaptiveEvents.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("lodash.omit"),require("lodash.pick"),require("zustand"),require("three/examples/js/libs/stats.min"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("use-asset"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../assets/cloud.base64.cjs.js"),require("../helpers/matcap-assets.cjs.js"),require("../helpers/normal-assets.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.QuadraticBezierLine=r.QuadraticBezierLine,exports.CubicBezierLine=s.CubicBezierLine,exports.Line=o.Line,exports.PositionalAudio=t.PositionalAudio,exports.Text=i.Text,exports.Effects=c.Effects,exports.isWebGL2Available=c.isWebGL2Available,exports.GradientTexture=u.GradientTexture,exports.Image=a.Image,exports.OrthographicCamera=j.OrthographicCamera,exports.PerspectiveCamera=n.PerspectiveCamera,exports.CubeCamera=p.CubeCamera,exports.DeviceOrientationControls=l.DeviceOrientationControls,exports.FlyControls=x.FlyControls,exports.MapControls=q.MapControls,exports.OrbitControls=d.OrbitControls,exports.TrackballControls=h.TrackballControls,exports.ArcballControls=C.ArcballControls,exports.TransformControls=m.TransformControls,exports.PointerLockControls=b.PointerLockControls,exports.FirstPersonControls=B.FirstPersonControls,exports.GizmoHelper=M.GizmoHelper,exports.useGizmoContext=M.useGizmoContext,exports.GizmoViewcube=P.GizmoViewcube,exports.GizmoViewport=S.GizmoViewport,exports.useCubeTexture=f.useCubeTexture,exports.useFBX=T.useFBX,exports.useGLTF=g.useGLTF,exports.useProgress=v.useProgress,exports.IsObject=L.IsObject,exports.useTexture=L.useTexture,exports.Stats=A.Stats,exports.useDepthBuffer=G.useDepthBuffer,exports.useAspect=k.useAspect,exports.useCamera=D.useCamera,exports.useDetectGPU=F.useDetectGPU,exports.useHelper=w.useHelper,exports.useBVH=z.useBVH,exports.useContextBridge=I.useContextBridge,exports.useAnimations=O.useAnimations,exports.useFBO=E.useFBO,exports.useIntersect=R.useIntersect,exports.CurveModifier=y.CurveModifier,exports.MeshDistortMaterial=H.MeshDistortMaterial,exports.MeshWobbleMaterial=V.MeshWobbleMaterial,exports.MeshReflectorMaterial=Q.MeshReflectorMaterial,exports.PointMaterial=W.PointMaterial,exports.PointMaterialImpl=W.PointMaterialImpl,exports.shaderMaterial=N.shaderMaterial,exports.softShadows=U.softShadows,exports.Box=X.Box,exports.Circle=X.Circle,exports.Cone=X.Cone,exports.Cylinder=X.Cylinder,exports.Dodecahedron=X.Dodecahedron,exports.Extrude=X.Extrude,exports.Icosahedron=X.Icosahedron,exports.Lathe=X.Lathe,exports.Octahedron=X.Octahedron,exports.Plane=X.Plane,exports.Polyhedron=X.Polyhedron,exports.Ring=X.Ring,exports.Sphere=X.Sphere,exports.Tetrahedron=X.Tetrahedron,exports.Torus=X.Torus,exports.TorusKnot=X.TorusKnot,exports.Tube=X.Tube,exports.RoundedBox=K.RoundedBox,exports.ScreenQuad=_.ScreenQuad,exports.Center=J.Center,exports.Bounds=Y.Bounds,exports.useBounds=Y.useBounds,exports.CameraShake=Z.CameraShake,exports.Float=$.Float,exports.Stage=ee.Stage,exports.Backdrop=re.Backdrop,exports.Shadow=se.Shadow,exports.ContactShadows=oe.ContactShadows,exports.Reflector=te.Reflector,exports.SpotLight=ie.SpotLight,exports.Environment=ce.Environment,exports.Sky=ue.Sky,exports.calcPosFromAngles=ue.calcPosFromAngles,exports.Stars=ae.Stars,exports.Cloud=je.Cloud,exports.useMatcapTexture=ne.useMatcapTexture,exports.useNormalTexture=pe.useNormalTexture,exports.Point=le.Point,exports.Points=le.Points,exports.PointsBuffer=le.PointsBuffer,exports.Instance=xe.Instance,exports.Instances=xe.Instances,exports.Merged=xe.Merged,exports.Segment=qe.Segment,exports.Segments=qe.Segments,exports.Detailed=de.Detailed,exports.Preload=he.Preload,exports.BakeShadows=Ce.BakeShadows,exports.meshBounds=me.meshBounds,exports.AdaptiveDpr=be.AdaptiveDpr,exports.AdaptiveEvents=Be.AdaptiveEvents;
|
package/native/index.js
CHANGED
|
@@ -28,7 +28,6 @@ export { useGLTF } from '../core/useGLTF.js';
|
|
|
28
28
|
export { useProgress } from '../core/useProgress.js';
|
|
29
29
|
export { IsObject, useTexture } from '../core/useTexture.js';
|
|
30
30
|
export { Stats } from '../core/Stats.js';
|
|
31
|
-
export { DepthBuffer } from '../core/DepthBuffer.js';
|
|
32
31
|
export { useDepthBuffer } from '../core/useDepthBuffer.js';
|
|
33
32
|
export { useAspect } from '../core/useAspect.js';
|
|
34
33
|
export { useCamera } from '../core/useCamera.js';
|
|
@@ -39,9 +38,6 @@ export { useContextBridge } from '../core/useContextBridge.js';
|
|
|
39
38
|
export { useAnimations } from '../core/useAnimations.js';
|
|
40
39
|
export { useFBO } from '../core/useFBO.js';
|
|
41
40
|
export { useIntersect } from '../core/useIntersect.js';
|
|
42
|
-
export { useSimplification } from '../core/useSimplification.js';
|
|
43
|
-
export { useTessellation } from '../core/useTessellation.js';
|
|
44
|
-
export { useEdgeSplit } from '../core/useEdgeSplit.js';
|
|
45
41
|
export { CurveModifier } from '../core/CurveModifier.js';
|
|
46
42
|
export { MeshDistortMaterial } from '../core/MeshDistortMaterial.js';
|
|
47
43
|
export { MeshWobbleMaterial } from '../core/MeshWobbleMaterial.js';
|
|
@@ -49,7 +45,7 @@ export { MeshReflectorMaterial } from '../core/MeshReflectorMaterial.js';
|
|
|
49
45
|
export { PointMaterial, PointMaterialImpl } from '../core/PointMaterial.js';
|
|
50
46
|
export { shaderMaterial } from '../core/shaderMaterial.js';
|
|
51
47
|
export { softShadows } from '../core/softShadows.js';
|
|
52
|
-
export { Box, Circle, Cone, Cylinder, Dodecahedron, Extrude, Icosahedron, Lathe, Octahedron,
|
|
48
|
+
export { Box, Circle, Cone, Cylinder, Dodecahedron, Extrude, Icosahedron, Lathe, Octahedron, Plane, Polyhedron, Ring, Sphere, Tetrahedron, Torus, TorusKnot, Tube } from '../core/shapes.js';
|
|
53
49
|
export { RoundedBox } from '../core/RoundedBox.js';
|
|
54
50
|
export { ScreenQuad } from '../core/ScreenQuad.js';
|
|
55
51
|
export { Center } from '../core/Center.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-three/drei",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.2.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "useful add-ons for react-three-fiber",
|
|
6
6
|
"keywords": [
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"@react-three/fiber": ">=6.0",
|
|
61
61
|
"react": ">=17.0",
|
|
62
62
|
"react-dom": ">=17.0",
|
|
63
|
-
"three": ">=0.
|
|
63
|
+
"three": ">=0.134"
|
|
64
64
|
},
|
|
65
65
|
"peerDependenciesMeta": {
|
|
66
66
|
"react-dom": {
|
package/web/Html.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("react-dom"),n=require("three"),o=require("@react-three/fiber");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=s(e),c=a(t),l=a(r);const u=new n.Vector3,d=new n.Vector3,f=new n.Vector3;function m(e,t,r){const n=u.setFromMatrixPosition(e.matrixWorld);n.project(t);const o=r.width/2,s=r.height/2;return[n.x*o+o,-n.y*s+s]}const p=e=>Math.abs(e)<1e-10?0:e;function h(e,t,r=""){let n="matrix3d(";for(let r=0;16!==r;r++)n+=p(t[r]*e.elements[r])+(15!==r?",":")");return r+n}const x=(y=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>h(e,y));var y;const v=(e,t)=>{return h(e,[1/(r=t),1/r,1/r,1,-1/r,-1/r,-1/r,-1,1/r,1/r,1/r,1,1,1,1,1],"translate(-50%,-50%)");var r},b=c.forwardRef((({children:e,eps:t=.001,style:r,className:s,prepend:a,center:h,fullscreen:y,portal:b,distanceFactor:g,sprite:M=!1,transform:P=!1,occlude:w,onOcclude:W,zIndexRange:$=[16777271,0],calculatePosition:E=m,as:O="div",pointerEvents:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("react-dom"),n=require("three"),o=require("@react-three/fiber");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=s(e),c=a(t),l=a(r);const u=new n.Vector3,d=new n.Vector3,f=new n.Vector3;function m(e,t,r){const n=u.setFromMatrixPosition(e.matrixWorld);n.project(t);const o=r.width/2,s=r.height/2;return[n.x*o+o,-n.y*s+s]}const p=e=>Math.abs(e)<1e-10?0:e;function h(e,t,r=""){let n="matrix3d(";for(let r=0;16!==r;r++)n+=p(t[r]*e.elements[r])+(15!==r?",":")");return r+n}const x=(y=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>h(e,y));var y;const v=(e,t)=>{return h(e,[1/(r=t),1/r,1/r,1,-1/r,-1/r,-1/r,-1,1/r,1/r,1/r,1,1,1,1,1],"translate(-50%,-50%)");var r},b=c.forwardRef((({children:e,eps:t=.001,style:r,className:s,prepend:a,center:h,fullscreen:y,portal:b,distanceFactor:g,sprite:M=!1,transform:P=!1,occlude:w,onOcclude:W,zIndexRange:$=[16777271,0],calculatePosition:E=m,as:O="div",wrapperClass:j,pointerEvents:F="auto",...T},C)=>{var R;const z=o.useThree((({gl:e})=>e)),I=o.useThree((({camera:e})=>e)),N=o.useThree((({scene:e})=>e)),q=o.useThree((({size:e})=>e)),_=o.useThree((({raycaster:e})=>e)),[A]=c.useState((()=>document.createElement(O))),V=c.useRef(null),k=c.useRef(0),D=c.useRef([0,0]),L=c.useRef(null),S=c.useRef(null),H=null!==(R=null==b?void 0:b.current)&&void 0!==R?R:z.domElement.parentNode;c.useEffect((()=>{if(V.current){if(N.updateMatrixWorld(),P)A.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const e=E(V.current,I,q);A.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return H&&(a?H.prepend(A):H.appendChild(A)),()=>{H&&H.removeChild(A),l.unmountComponentAtNode(A)}}}),[H,P]),c.useLayoutEffect((()=>{j&&(A.className=j)}),[j]);const Z=c.useMemo((()=>P?{position:"absolute",top:0,left:0,width:q.width,height:q.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:h?"translate3d(-50%,-50%,0)":"none",...y&&{top:-q.height/2,left:-q.width/2,width:q.width,height:q.height},...r}),[r,h,y,q,P]),B=c.useMemo((()=>({position:"absolute",pointerEvents:F})),[F]);c.useLayoutEffect((()=>{P?l.render(c.createElement("div",{ref:L,style:Z},c.createElement("div",{ref:S,style:B},c.createElement("div",{ref:C,className:s,style:r,children:e}))),A):l.render(c.createElement("div",{ref:C,style:Z,className:s,children:e}),A)}));const G=c.useRef(!0);return o.useFrame((()=>{if(V.current){I.updateMatrixWorld(),V.current.updateWorldMatrix(!0,!1);const e=P?D.current:E(V.current,I,q);if(P||Math.abs(k.current-I.zoom)>t||Math.abs(D.current[0]-e[0])>t||Math.abs(D.current[1]-e[1])>t){const t=function(e,t){const r=u.setFromMatrixPosition(e.matrixWorld),n=d.setFromMatrixPosition(t.matrixWorld),o=r.sub(n),s=t.getWorldDirection(f);return o.angleTo(s)>Math.PI/2}(V.current,I);let r=!1;"boolean"==typeof w?!0===w&&(r=[N]):Array.isArray(w)&&(r=w.map((e=>e.current)));const o=G.current;if(r){const e=function(e,t,r,n){const o=u.setFromMatrixPosition(e.matrixWorld),s=o.clone();s.project(t),r.setFromCamera(s,t);const a=r.intersectObjects(n,!0);if(a.length){const e=a[0].distance;return o.distanceTo(r.ray.origin)<e}return!0}(V.current,I,_,r);G.current=e&&!t}else G.current=!t;if(o!==G.current&&(W?W(!G.current):A.style.display=G.current?"block":"none"),A.style.zIndex=`${function(e,t,r){if(t instanceof n.PerspectiveCamera||t instanceof n.OrthographicCamera){const n=u.setFromMatrixPosition(e.matrixWorld),o=d.setFromMatrixPosition(t.matrixWorld),s=n.distanceTo(o),a=(r[1]-r[0])/(t.far-t.near),i=r[1]-a*t.far;return Math.round(a*s+i)}}(V.current,I,$)}`,P){const[e,t]=[q.width/2,q.height/2],r=I.projectionMatrix.elements[5]*t,{isOrthographicCamera:n,top:o,left:s,bottom:a,right:i}=I,c=x(I.matrixWorldInverse),l=n?`scale(${r})translate(${p(-(i+s)/2)}px,${p((o+a)/2)}px)`:`translateZ(${r}px)`;let u=V.current.matrixWorld;M&&(u=I.matrixWorldInverse.clone().transpose().copyPosition(u).scale(V.current.scale),u.elements[3]=u.elements[7]=u.elements[11]=0,u.elements[15]=1),A.style.width=q.width+"px",A.style.height=q.height+"px",A.style.perspective=n?"":`${r}px`,L.current&&S.current&&(L.current.style.transform=`${l}${c}translate(${e}px,${t}px)`,S.current.style.transform=v(u,1/((g||10)/400)))}else{const t=void 0===g?1:function(e,t){if(t instanceof n.OrthographicCamera)return t.zoom;if(t instanceof n.PerspectiveCamera){const r=u.setFromMatrixPosition(e.matrixWorld),n=d.setFromMatrixPosition(t.matrixWorld),o=t.fov*Math.PI/180,s=r.distanceTo(n);return 1/(2*Math.tan(o/2)*s)}return 1}(V.current,I)*g;A.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}D.current=e,k.current=I.zoom}}})),c.createElement("group",i.default({},T,{ref:V}))}));exports.Html=b;
|
package/web/Html.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export interface HtmlProps extends Omit<Assign<React.HTMLAttributes<HTMLDivEleme
|
|
|
22
22
|
onOcclude?: (visible: boolean) => null;
|
|
23
23
|
calculatePosition?: CalculatePosition;
|
|
24
24
|
as?: string;
|
|
25
|
+
wrapperClass?: string;
|
|
25
26
|
pointerEvents?: PointerEventsProperties;
|
|
26
27
|
}
|
|
27
28
|
export declare const Html: React.ForwardRefExoticComponent<HtmlProps & React.RefAttributes<HTMLDivElement>>;
|
package/web/Html.js
CHANGED
|
@@ -105,6 +105,7 @@ const Html = /*#__PURE__*/React.forwardRef(({
|
|
|
105
105
|
zIndexRange = [16777271, 0],
|
|
106
106
|
calculatePosition = defaultCalculatePosition,
|
|
107
107
|
as = 'div',
|
|
108
|
+
wrapperClass,
|
|
108
109
|
pointerEvents = 'auto',
|
|
109
110
|
...props
|
|
110
111
|
}, ref) => {
|
|
@@ -151,9 +152,11 @@ const Html = /*#__PURE__*/React.forwardRef(({
|
|
|
151
152
|
if (target) target.removeChild(el);
|
|
152
153
|
ReactDOM.unmountComponentAtNode(el);
|
|
153
154
|
};
|
|
154
|
-
}
|
|
155
|
-
|
|
155
|
+
}
|
|
156
156
|
}, [target, transform]);
|
|
157
|
+
React.useLayoutEffect(() => {
|
|
158
|
+
if (wrapperClass) el.className = wrapperClass;
|
|
159
|
+
}, [wrapperClass]);
|
|
157
160
|
const styles = React.useMemo(() => {
|
|
158
161
|
if (transform) {
|
|
159
162
|
return {
|
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"),c=require("../core/Billboard.cjs.js"),u=require("../core/QuadraticBezierLine.cjs.js"),a=require("../core/CubicBezierLine.cjs.js"),j=require("../core/Line.cjs.js"),
|
|
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"),c=require("../core/Billboard.cjs.js"),u=require("../core/QuadraticBezierLine.cjs.js"),a=require("../core/CubicBezierLine.cjs.js"),j=require("../core/Line.cjs.js"),n=require("../core/PositionalAudio.cjs.js"),p=require("../core/Text.cjs.js"),l=require("../core/Effects.cjs.js"),x=require("../core/GradientTexture.cjs.js"),q=require("../core/Image.cjs.js"),d=require("../core/OrthographicCamera.cjs.js"),C=require("../core/PerspectiveCamera.cjs.js"),h=require("../core/CubeCamera.cjs.js"),m=require("../core/DeviceOrientationControls.cjs.js"),S=require("../core/FlyControls.cjs.js"),b=require("../core/MapControls.cjs.js"),B=require("../core/OrbitControls.cjs.js"),P=require("../core/TrackballControls.cjs.js"),M=require("../core/ArcballControls.cjs.js"),f=require("../core/TransformControls.cjs.js"),T=require("../core/PointerLockControls.cjs.js"),g=require("../core/FirstPersonControls.cjs.js"),v=require("../core/GizmoHelper.cjs.js"),L=require("../core/GizmoViewcube.cjs.js"),A=require("../core/GizmoViewport.cjs.js"),G=require("../core/useCubeTexture.cjs.js"),k=require("../core/useFBX.cjs.js"),D=require("../core/useGLTF.cjs.js"),F=require("../core/useProgress.cjs.js"),w=require("../core/useTexture.cjs.js"),z=require("../core/Stats.cjs.js"),y=require("../core/useDepthBuffer.cjs.js"),I=require("../core/useAspect.cjs.js"),O=require("../core/useCamera.cjs.js"),R=require("../core/useDetectGPU.cjs.js"),E=require("../core/useHelper.cjs.js"),H=require("../core/useBVH.cjs.js"),V=require("../core/useContextBridge.cjs.js"),Q=require("../core/useAnimations.cjs.js"),W=require("../core/useFBO.cjs.js"),N=require("../core/useIntersect.cjs.js"),U=require("../core/CurveModifier.cjs.js"),X=require("../core/MeshDistortMaterial.cjs.js"),K=require("../core/MeshWobbleMaterial.cjs.js"),_=require("../core/MeshReflectorMaterial.cjs.js"),J=require("../core/PointMaterial.cjs.js"),Y=require("../core/shaderMaterial.cjs.js"),Z=require("../core/softShadows.cjs.js"),$=require("../core/shapes.cjs.js"),ee=require("../core/RoundedBox.cjs.js"),re=require("../core/ScreenQuad.cjs.js"),se=require("../core/Center.cjs.js"),oe=require("../core/Bounds.cjs.js"),te=require("../core/CameraShake.cjs.js"),ie=require("../core/Float.cjs.js"),ce=require("../core/Stage.cjs.js"),ue=require("../core/Backdrop.cjs.js"),ae=require("../core/Shadow.cjs.js"),je=require("../core/ContactShadows.cjs.js"),ne=require("../core/Reflector.cjs.js"),pe=require("../core/SpotLight.cjs.js"),le=require("../core/Environment.cjs.js"),xe=require("../core/Sky.cjs.js"),qe=require("../core/Stars.cjs.js"),de=require("../core/Cloud.cjs.js"),Ce=require("../core/useMatcapTexture.cjs.js"),he=require("../core/useNormalTexture.cjs.js"),me=require("../core/Points.cjs.js"),Se=require("../core/Instances.cjs.js"),be=require("../core/Segments.cjs.js"),Be=require("../core/Detailed.cjs.js"),Pe=require("../core/Preload.cjs.js"),Me=require("../core/BakeShadows.cjs.js"),fe=require("../core/meshBounds.cjs.js"),Te=require("../core/AdaptiveDpr.cjs.js"),ge=require("../core/AdaptiveEvents.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom"),require("three"),require("@react-three/fiber"),require("zustand"),require("react-merge-refs"),require("@react-spring/three"),require("@use-gesture/react"),require("three-stdlib"),require("troika-three-text"),require("lodash.omit"),require("lodash.pick"),require("three/examples/js/libs/stats.min"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("use-asset"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../assets/cloud.base64.cjs.js"),require("../helpers/matcap-assets.cjs.js"),require("../helpers/normal-assets.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),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.Billboard=c.Billboard,exports.QuadraticBezierLine=u.QuadraticBezierLine,exports.CubicBezierLine=a.CubicBezierLine,exports.Line=j.Line,exports.PositionalAudio=n.PositionalAudio,exports.Text=p.Text,exports.Effects=l.Effects,exports.isWebGL2Available=l.isWebGL2Available,exports.GradientTexture=x.GradientTexture,exports.Image=q.Image,exports.OrthographicCamera=d.OrthographicCamera,exports.PerspectiveCamera=C.PerspectiveCamera,exports.CubeCamera=h.CubeCamera,exports.DeviceOrientationControls=m.DeviceOrientationControls,exports.FlyControls=S.FlyControls,exports.MapControls=b.MapControls,exports.OrbitControls=B.OrbitControls,exports.TrackballControls=P.TrackballControls,exports.ArcballControls=M.ArcballControls,exports.TransformControls=f.TransformControls,exports.PointerLockControls=T.PointerLockControls,exports.FirstPersonControls=g.FirstPersonControls,exports.GizmoHelper=v.GizmoHelper,exports.useGizmoContext=v.useGizmoContext,exports.GizmoViewcube=L.GizmoViewcube,exports.GizmoViewport=A.GizmoViewport,exports.useCubeTexture=G.useCubeTexture,exports.useFBX=k.useFBX,exports.useGLTF=D.useGLTF,exports.useProgress=F.useProgress,exports.IsObject=w.IsObject,exports.useTexture=w.useTexture,exports.Stats=z.Stats,exports.useDepthBuffer=y.useDepthBuffer,exports.useAspect=I.useAspect,exports.useCamera=O.useCamera,exports.useDetectGPU=R.useDetectGPU,exports.useHelper=E.useHelper,exports.useBVH=H.useBVH,exports.useContextBridge=V.useContextBridge,exports.useAnimations=Q.useAnimations,exports.useFBO=W.useFBO,exports.useIntersect=N.useIntersect,exports.CurveModifier=U.CurveModifier,exports.MeshDistortMaterial=X.MeshDistortMaterial,exports.MeshWobbleMaterial=K.MeshWobbleMaterial,exports.MeshReflectorMaterial=_.MeshReflectorMaterial,exports.PointMaterial=J.PointMaterial,exports.PointMaterialImpl=J.PointMaterialImpl,exports.shaderMaterial=Y.shaderMaterial,exports.softShadows=Z.softShadows,exports.Box=$.Box,exports.Circle=$.Circle,exports.Cone=$.Cone,exports.Cylinder=$.Cylinder,exports.Dodecahedron=$.Dodecahedron,exports.Extrude=$.Extrude,exports.Icosahedron=$.Icosahedron,exports.Lathe=$.Lathe,exports.Octahedron=$.Octahedron,exports.Plane=$.Plane,exports.Polyhedron=$.Polyhedron,exports.Ring=$.Ring,exports.Sphere=$.Sphere,exports.Tetrahedron=$.Tetrahedron,exports.Torus=$.Torus,exports.TorusKnot=$.TorusKnot,exports.Tube=$.Tube,exports.RoundedBox=ee.RoundedBox,exports.ScreenQuad=re.ScreenQuad,exports.Center=se.Center,exports.Bounds=oe.Bounds,exports.useBounds=oe.useBounds,exports.CameraShake=te.CameraShake,exports.Float=ie.Float,exports.Stage=ce.Stage,exports.Backdrop=ue.Backdrop,exports.Shadow=ae.Shadow,exports.ContactShadows=je.ContactShadows,exports.Reflector=ne.Reflector,exports.SpotLight=pe.SpotLight,exports.Environment=le.Environment,exports.Sky=xe.Sky,exports.calcPosFromAngles=xe.calcPosFromAngles,exports.Stars=qe.Stars,exports.Cloud=de.Cloud,exports.useMatcapTexture=Ce.useMatcapTexture,exports.useNormalTexture=he.useNormalTexture,exports.Point=me.Point,exports.Points=me.Points,exports.PointsBuffer=me.PointsBuffer,exports.Instance=Se.Instance,exports.Instances=Se.Instances,exports.Merged=Se.Merged,exports.Segment=be.Segment,exports.Segments=be.Segments,exports.Detailed=Be.Detailed,exports.Preload=Pe.Preload,exports.BakeShadows=Me.BakeShadows,exports.meshBounds=fe.meshBounds,exports.AdaptiveDpr=Te.AdaptiveDpr,exports.AdaptiveEvents=ge.AdaptiveEvents;
|
package/web/index.js
CHANGED
|
@@ -34,7 +34,6 @@ export { useGLTF } from '../core/useGLTF.js';
|
|
|
34
34
|
export { useProgress } from '../core/useProgress.js';
|
|
35
35
|
export { IsObject, useTexture } from '../core/useTexture.js';
|
|
36
36
|
export { Stats } from '../core/Stats.js';
|
|
37
|
-
export { DepthBuffer } from '../core/DepthBuffer.js';
|
|
38
37
|
export { useDepthBuffer } from '../core/useDepthBuffer.js';
|
|
39
38
|
export { useAspect } from '../core/useAspect.js';
|
|
40
39
|
export { useCamera } from '../core/useCamera.js';
|
|
@@ -45,9 +44,6 @@ export { useContextBridge } from '../core/useContextBridge.js';
|
|
|
45
44
|
export { useAnimations } from '../core/useAnimations.js';
|
|
46
45
|
export { useFBO } from '../core/useFBO.js';
|
|
47
46
|
export { useIntersect } from '../core/useIntersect.js';
|
|
48
|
-
export { useSimplification } from '../core/useSimplification.js';
|
|
49
|
-
export { useTessellation } from '../core/useTessellation.js';
|
|
50
|
-
export { useEdgeSplit } from '../core/useEdgeSplit.js';
|
|
51
47
|
export { CurveModifier } from '../core/CurveModifier.js';
|
|
52
48
|
export { MeshDistortMaterial } from '../core/MeshDistortMaterial.js';
|
|
53
49
|
export { MeshWobbleMaterial } from '../core/MeshWobbleMaterial.js';
|
|
@@ -55,7 +51,7 @@ export { MeshReflectorMaterial } from '../core/MeshReflectorMaterial.js';
|
|
|
55
51
|
export { PointMaterial, PointMaterialImpl } from '../core/PointMaterial.js';
|
|
56
52
|
export { shaderMaterial } from '../core/shaderMaterial.js';
|
|
57
53
|
export { softShadows } from '../core/softShadows.js';
|
|
58
|
-
export { Box, Circle, Cone, Cylinder, Dodecahedron, Extrude, Icosahedron, Lathe, Octahedron,
|
|
54
|
+
export { Box, Circle, Cone, Cylinder, Dodecahedron, Extrude, Icosahedron, Lathe, Octahedron, Plane, Polyhedron, Ring, Sphere, Tetrahedron, Torus, TorusKnot, Tube } from '../core/shapes.js';
|
|
59
55
|
export { RoundedBox } from '../core/RoundedBox.js';
|
|
60
56
|
export { ScreenQuad } from '../core/ScreenQuad.js';
|
|
61
57
|
export { Center } from '../core/Center.js';
|
package/core/DepthBuffer.cjs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("react"),t=require("@react-three/fiber"),u=require("./useFBO.cjs.js");function n(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var s=n(r);const a=s.forwardRef((({size:r=256},n)=>{s.useEffect((()=>{console.warn("DepthBuffer has been deprecated and will be removed next major. Replace it with useDepthBuffer(size)!")}),[]);const a=t.useThree((e=>e.viewport.dpr)),{width:i,height:o}=t.useThree((e=>e.size)),c=r||i*a,f=r||o*a,d=s.useMemo((()=>{const r=new e.DepthTexture(c,f);return r.format=e.DepthFormat,r.type=e.UnsignedShortType,{depthTexture:r}}),[c,f]),l=u.useFBO(c,f,d);return s.useImperativeHandle(n,(()=>null==l?void 0:l.depthTexture)),t.useFrame((e=>{e.gl.setRenderTarget(l),e.gl.render(e.scene,e.camera),e.gl.setRenderTarget(null)}))}));exports.DepthBuffer=a;
|
package/core/DepthBuffer.d.ts
DELETED
package/core/DepthBuffer.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { DepthTexture, DepthFormat, UnsignedShortType } from 'three';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { useThree, useFrame } from '@react-three/fiber';
|
|
4
|
-
import { useFBO } from './useFBO.js';
|
|
5
|
-
|
|
6
|
-
const DepthBuffer = /*#__PURE__*/React.forwardRef(({
|
|
7
|
-
size = 256
|
|
8
|
-
}, ref) => {
|
|
9
|
-
React.useEffect(() => {
|
|
10
|
-
console.warn('DepthBuffer has been deprecated and will be removed next major. Replace it with useDepthBuffer(size)!');
|
|
11
|
-
}, []);
|
|
12
|
-
const dpr = useThree(state => state.viewport.dpr);
|
|
13
|
-
const {
|
|
14
|
-
width,
|
|
15
|
-
height
|
|
16
|
-
} = useThree(state => state.size);
|
|
17
|
-
const w = size || width * dpr;
|
|
18
|
-
const h = size || height * dpr;
|
|
19
|
-
const depthConfig = React.useMemo(() => {
|
|
20
|
-
const depthTexture = new DepthTexture(w, h);
|
|
21
|
-
depthTexture.format = DepthFormat;
|
|
22
|
-
depthTexture.type = UnsignedShortType;
|
|
23
|
-
return {
|
|
24
|
-
depthTexture
|
|
25
|
-
};
|
|
26
|
-
}, [w, h]);
|
|
27
|
-
const depthFBO = useFBO(w, h, depthConfig);
|
|
28
|
-
React.useImperativeHandle(ref, () => depthFBO == null ? void 0 : depthFBO.depthTexture);
|
|
29
|
-
return useFrame(state => {
|
|
30
|
-
state.gl.setRenderTarget(depthFBO);
|
|
31
|
-
state.gl.render(state.scene, state.camera);
|
|
32
|
-
state.gl.setRenderTarget(null);
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
export { DepthBuffer };
|
package/core/useEdgeSplit.cjs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("three-stdlib");function t(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var u=t(e);exports.useEdgeSplit=function(e,t=!0){const c=u.useRef(),n=u.useRef(),f=u.useRef();return u.useEffect((()=>{!n.current&&c.current&&(n.current=c.current.geometry.clone(),f.current=new r.EdgeSplitModifier)}),[]),u.useEffect((()=>{if(n.current&&c.current&&f.current){const r=f.current.modify(n.current,e,t);r.computeVertexNormals(),c.current.geometry=r}}),[e,t]),c};
|
package/core/useEdgeSplit.d.ts
DELETED
package/core/useEdgeSplit.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { EdgeSplitModifier } from 'three-stdlib';
|
|
3
|
-
|
|
4
|
-
function useEdgeSplit(cutOffAngle, tryKeepNormals = true) {
|
|
5
|
-
const ref = React.useRef();
|
|
6
|
-
const original = React.useRef();
|
|
7
|
-
const modifier = React.useRef();
|
|
8
|
-
React.useEffect(() => {
|
|
9
|
-
if (!original.current && ref.current) {
|
|
10
|
-
original.current = ref.current.geometry.clone();
|
|
11
|
-
modifier.current = new EdgeSplitModifier();
|
|
12
|
-
}
|
|
13
|
-
}, []);
|
|
14
|
-
React.useEffect(() => {
|
|
15
|
-
if (original.current && ref.current && modifier.current) {
|
|
16
|
-
const modifiedGeometry = modifier.current.modify(original.current, cutOffAngle, tryKeepNormals);
|
|
17
|
-
modifiedGeometry.computeVertexNormals();
|
|
18
|
-
ref.current.geometry = modifiedGeometry;
|
|
19
|
-
}
|
|
20
|
-
}, [cutOffAngle, tryKeepNormals]);
|
|
21
|
-
return ref;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { useEdgeSplit };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("three-stdlib");function t(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var u=t(e);exports.useSimplification=function(e){const t=u.useRef(),n=u.useRef(),c=u.useRef();return u.useEffect((()=>{n.current||(n.current=t.current.geometry.clone(),c.current=new r.SimplifyModifier)}),[]),u.useEffect((()=>{if(n.current&&t.current){const r=n.current,u=Math.floor(r.attributes.position.count*e);t.current.geometry=c.current.modify(r,u)}}),[e]),t};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { SimplifyModifier } from 'three-stdlib';
|
|
3
|
-
|
|
4
|
-
function useSimplification(simplePercent) {
|
|
5
|
-
const ref = React.useRef();
|
|
6
|
-
const original = React.useRef();
|
|
7
|
-
const modifier = React.useRef();
|
|
8
|
-
React.useEffect(() => {
|
|
9
|
-
if (!original.current) {
|
|
10
|
-
original.current = ref.current.geometry.clone();
|
|
11
|
-
modifier.current = new SimplifyModifier();
|
|
12
|
-
}
|
|
13
|
-
}, []);
|
|
14
|
-
React.useEffect(() => {
|
|
15
|
-
if (original.current && ref.current) {
|
|
16
|
-
const geometry = original.current;
|
|
17
|
-
const count = Math.floor(geometry.attributes.position.count * simplePercent); // number of vertices to remove
|
|
18
|
-
|
|
19
|
-
ref.current.geometry = modifier.current.modify(geometry, count);
|
|
20
|
-
}
|
|
21
|
-
}, [simplePercent]);
|
|
22
|
-
return ref;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export { useSimplification };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("three-stdlib");function t(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var u=t(e);exports.useTessellation=function(e=3,t){const n=u.useRef(),c=u.useRef(),f=u.useRef();return u.useEffect((()=>{c.current||(c.current=n.current.geometry.clone(),f.current=new r.TessellateModifier(parseInt(t),e))}),[t,e]),u.useEffect((()=>{f.current.maxEdgeLength=t}),[t]),u.useEffect((()=>{if(c.current&&n.current){const e=f.current.modify(c.current);n.current.geometry=e}}),[t,e]),n};
|
package/core/useTessellation.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { TessellateModifier } from 'three-stdlib';
|
|
3
|
-
|
|
4
|
-
function useTessellation(passes = 3, maxEdgeLength) {
|
|
5
|
-
const ref = React.useRef();
|
|
6
|
-
const original = React.useRef();
|
|
7
|
-
const modifier = React.useRef();
|
|
8
|
-
React.useEffect(() => {
|
|
9
|
-
if (!original.current) {
|
|
10
|
-
original.current = ref.current.geometry.clone();
|
|
11
|
-
modifier.current = new TessellateModifier(parseInt(maxEdgeLength), passes);
|
|
12
|
-
}
|
|
13
|
-
}, [maxEdgeLength, passes]);
|
|
14
|
-
React.useEffect(() => {
|
|
15
|
-
modifier.current.maxEdgeLength = maxEdgeLength;
|
|
16
|
-
}, [maxEdgeLength]);
|
|
17
|
-
React.useEffect(() => {
|
|
18
|
-
if (original.current && ref.current) {
|
|
19
|
-
const modifiedGeometry = modifier.current.modify(original.current);
|
|
20
|
-
ref.current.geometry = modifiedGeometry;
|
|
21
|
-
}
|
|
22
|
-
}, [maxEdgeLength, passes]);
|
|
23
|
-
return ref;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export { useTessellation };
|