@react-three/drei 9.83.8 → 9.84.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/README.md +70 -2
- package/core/AccumulativeShadows.d.ts +3 -3
- package/core/AccumulativeShadows.js +30 -36
- package/core/AdaptiveDpr.js +4 -4
- package/core/ArcballControls.d.ts +1 -1
- package/core/ArcballControls.js +0 -1
- package/core/AsciiRenderer.d.ts +3 -3
- package/core/AsciiRenderer.js +12 -6
- package/core/BBAnchor.cjs.js +1 -1
- package/core/BBAnchor.d.ts +2 -2
- package/core/BBAnchor.js +5 -5
- package/core/Backdrop.d.ts +2 -2
- package/core/Backdrop.js +0 -3
- package/core/Billboard.d.ts +1 -1
- package/core/Billboard.js +6 -3
- package/core/Bounds.d.ts +5 -5
- package/core/Bounds.js +5 -32
- package/core/CameraControls.d.ts +2 -2
- package/core/CameraControls.js +0 -3
- package/core/CameraShake.js +0 -4
- package/core/CatmullRomLine.d.ts +1 -1
- package/core/CatmullRomLine.js +0 -2
- package/core/Caustics.d.ts +1 -1
- package/core/Caustics.js +31 -32
- package/core/Center.d.ts +2 -2
- package/core/Center.js +2 -1
- package/core/Clone.d.ts +1 -1
- package/core/Clone.js +10 -13
- package/core/Cloud.cjs.js +1 -1
- package/core/Cloud.d.ts +2 -2
- package/core/Cloud.js +1 -2
- package/core/ComputedAttribute.d.ts +2 -2
- package/core/ComputedAttribute.js +0 -1
- package/core/ContactShadows.d.ts +1 -1
- package/core/ContactShadows.js +6 -7
- package/core/CubeCamera.cjs.js +1 -1
- package/core/CubeCamera.d.ts +2 -2
- package/core/CubeCamera.js +1 -1
- package/core/CubicBezierLine.d.ts +1 -1
- package/core/CurveModifier.d.ts +1 -1
- package/core/CurveModifier.js +2 -4
- package/core/Decal.d.ts +1 -1
- package/core/Decal.js +8 -15
- package/core/Detailed.d.ts +1 -1
- package/core/Detailed.js +0 -1
- package/core/DeviceOrientationControls.d.ts +1 -1
- package/core/DeviceOrientationControls.js +3 -4
- package/core/Edges.d.ts +1 -1
- package/core/Edges.js +0 -2
- package/core/Effects.d.ts +1 -1
- package/core/Effects.js +5 -7
- package/core/Environment.d.ts +3 -3
- package/core/Environment.js +6 -12
- package/core/Example.d.ts +3 -3
- package/core/Example.js +2 -1
- package/core/FaceControls.cjs.js +1 -1
- package/core/FaceControls.d.ts +5 -5
- package/core/FaceControls.js +42 -39
- package/core/FaceLandmarker.d.ts +3 -2
- package/core/FaceLandmarker.js +1 -1
- package/core/Facemesh.d.ts +6 -6
- package/core/Facemesh.js +47 -53
- package/core/FirstPersonControls.d.ts +1 -1
- package/core/Float.d.ts +1 -1
- package/core/Float.js +0 -1
- package/core/FlyControls.d.ts +1 -1
- package/core/FlyControls.js +1 -2
- package/core/GizmoHelper.cjs.js +1 -1
- package/core/GizmoHelper.d.ts +2 -2
- package/core/GizmoHelper.js +18 -19
- package/core/GizmoViewcube.d.ts +3 -3
- package/core/GizmoViewcube.js +0 -14
- package/core/GizmoViewport.d.ts +3 -3
- package/core/GizmoViewport.js +0 -7
- package/core/Gltf.d.ts +1 -1
- package/core/GradientTexture.d.ts +3 -3
- package/core/GradientTexture.js +2 -5
- package/core/Grid.d.ts +2 -2
- package/core/Grid.js +2 -6
- package/core/Hud.d.ts +2 -2
- package/core/Hud.js +6 -9
- package/core/Image.d.ts +2 -2
- package/core/Image.js +4 -6
- package/core/Instances.d.ts +6 -6
- package/core/Instances.js +20 -35
- package/core/Lightformer.d.ts +1 -1
- package/core/Lightformer.js +4 -2
- package/core/Line.d.ts +1 -1
- package/core/Line.js +0 -3
- package/core/MapControls.d.ts +1 -1
- package/core/MapControls.js +0 -2
- package/core/MarchingCubes.d.ts +3 -3
- package/core/Mask.d.ts +1 -1
- package/core/MeshDistortMaterial.d.ts +2 -2
- package/core/MeshDistortMaterial.js +0 -9
- package/core/MeshPortalMaterial.d.ts +4 -4
- package/core/MeshPortalMaterial.js +22 -61
- package/core/MeshReflectorMaterial.d.ts +1 -1
- package/core/MeshReflectorMaterial.js +12 -14
- package/core/MeshRefractionMaterial.cjs.js +1 -1
- package/core/MeshRefractionMaterial.d.ts +3 -3
- package/core/MeshRefractionMaterial.js +9 -14
- package/core/MeshTransmissionMaterial.d.ts +2 -2
- package/core/MeshTransmissionMaterial.js +32 -33
- package/core/MeshWobbleMaterial.d.ts +2 -2
- package/core/MeshWobbleMaterial.js +0 -7
- package/core/MotionPathControls.cjs.js +1 -0
- package/core/MotionPathControls.d.ts +15 -0
- package/core/MotionPathControls.js +114 -0
- package/core/OrbitControls.d.ts +2 -2
- package/core/OrbitControls.js +0 -4
- package/core/OrthographicCamera.d.ts +1 -1
- package/core/OrthographicCamera.js +2 -3
- package/core/Outlines.cjs.js +1 -1
- package/core/Outlines.d.ts +4 -3
- package/core/Outlines.js +5 -8
- package/core/PerformanceMonitor.d.ts +4 -4
- package/core/PerformanceMonitor.js +8 -12
- package/core/PerspectiveCamera.d.ts +1 -1
- package/core/PerspectiveCamera.js +2 -3
- package/core/PointMaterial.d.ts +1 -1
- package/core/PointMaterial.js +0 -2
- package/core/PointerLockControls.d.ts +1 -1
- package/core/PointerLockControls.js +4 -6
- package/core/Points.d.ts +2 -2
- package/core/Points.js +6 -23
- package/core/PositionalAudio.d.ts +1 -1
- package/core/PositionalAudio.js +0 -5
- package/core/Preload.d.ts +1 -1
- package/core/Preload.js +8 -9
- package/core/QuadraticBezierLine.d.ts +2 -2
- package/core/QuadraticBezierLine.js +0 -2
- package/core/Reflector.d.ts +1 -1
- package/core/Reflector.js +11 -12
- package/core/RenderTexture.d.ts +1 -1
- package/core/RenderTexture.js +9 -11
- package/core/Resize.d.ts +2 -2
- package/core/RoundedBox.cjs.js +1 -1
- package/core/RoundedBox.d.ts +1 -1
- package/core/RoundedBox.js +1 -3
- package/core/Sampler.d.ts +5 -5
- package/core/Sampler.js +0 -10
- package/core/ScreenQuad.d.ts +1 -1
- package/core/ScreenQuad.js +0 -1
- package/core/ScreenSpace.d.ts +1 -1
- package/core/Segments.d.ts +2 -2
- package/core/Segments.js +0 -6
- package/core/Shadow.d.ts +1 -1
- package/core/Sky.d.ts +1 -1
- package/core/Sparkles.js +0 -10
- package/core/SpotLight.d.ts +2 -2
- package/core/SpotLight.js +3 -10
- package/core/SpriteAnimator.d.ts +1 -1
- package/core/SpriteAnimator.js +16 -34
- package/core/Stage.d.ts +4 -4
- package/core/Stage.js +2 -4
- package/core/Stars.d.ts +1 -1
- package/core/Stars.js +2 -11
- package/core/Stats.d.ts +1 -1
- package/core/Stats.js +2 -2
- package/core/StatsGl.d.ts +1 -1
- package/core/StatsGl.js +4 -3
- package/core/Svg.js +0 -2
- package/core/Text.d.ts +1 -1
- package/core/Text3D.d.ts +1 -1
- package/core/Text3D.js +1 -3
- package/core/TrackballControls.d.ts +1 -1
- package/core/TrackballControls.js +0 -1
- package/core/Trail.d.ts +3 -3
- package/core/Trail.js +6 -17
- package/core/TransformControls.d.ts +1 -1
- package/core/TransformControls.js +3 -9
- package/core/Wireframe.d.ts +1 -1
- package/core/Wireframe.js +0 -28
- package/core/index.cjs.js +1 -1
- package/core/index.d.ts +1 -0
- package/core/index.js +1 -0
- package/core/meshBounds.js +4 -14
- package/core/shaderMaterial.js +10 -9
- package/core/shapes.d.ts +2 -2
- package/core/shapes.js +3 -6
- package/core/softShadows.d.ts +1 -1
- package/core/softShadows.js +1 -4
- package/core/useAnimations.d.ts +1 -1
- package/core/useAnimations.js +2 -4
- package/core/useBVH.d.ts +1 -1
- package/core/useBVH.js +3 -4
- package/core/useBoxProjectedEnv.js +15 -22
- package/core/useCamera.js +0 -1
- package/core/useContextBridge.js +1 -2
- package/core/useCubeCamera.d.ts +1 -1
- package/core/useCubeTexture.d.ts +1 -1
- package/core/useCubeTexture.js +4 -3
- package/core/useEnvironment.cjs.js +1 -1
- package/core/useEnvironment.d.ts +2 -2
- package/core/useEnvironment.js +9 -11
- package/core/useFBO.d.ts +1 -1
- package/core/useFBO.js +3 -12
- package/core/useFBX.js +0 -2
- package/core/useFont.d.ts +2 -2
- package/core/useFont.js +0 -4
- package/core/useGLTF.d.ts +2 -2
- package/core/useGLTF.js +0 -8
- package/core/useHelper.d.ts +3 -3
- package/core/useHelper.js +2 -5
- package/core/useIntersect.js +5 -8
- package/core/useKTX2.js +3 -5
- package/core/useMatcapTexture.js +0 -6
- package/core/useNormalTexture.d.ts +1 -1
- package/core/useProgress.d.ts +1 -1
- package/core/useProgress.js +0 -5
- package/core/useTexture.js +4 -6
- package/core/useTrailTexture.d.ts +1 -1
- package/core/useTrailTexture.js +10 -21
- package/helpers/environment-assets.d.ts +1 -1
- package/helpers/ts-utils.d.ts +2 -2
- package/helpers/useEffectfulState.d.ts +1 -1
- package/helpers/useEffectfulState.js +0 -1
- package/index.cjs.js +1 -1
- package/index.js +1 -0
- package/materials/BlurPass.js +2 -5
- package/materials/ConvolutionMaterial.js +0 -3
- package/materials/MeshReflectorMaterial.d.ts +1 -1
- package/materials/MeshReflectorMaterial.js +0 -34
- package/materials/MeshRefractionMaterial.js +2 -6
- package/materials/SpotLightMaterial.js +2 -7
- package/materials/WireframeMaterial.js +7 -25
- package/native/index.cjs.js +1 -1
- package/native/index.js +1 -0
- package/package.json +2 -2
- package/react-three-drei-0.0.0-semantic-release.tgz +0 -0
- package/web/CycleRaycast.d.ts +1 -1
- package/web/CycleRaycast.js +20 -24
- package/web/Html.d.ts +2 -2
- package/web/Html.js +6 -50
- package/web/KeyboardControls.d.ts +10 -10
- package/web/KeyboardControls.js +9 -6
- package/web/Loader.d.ts +2 -2
- package/web/Loader.js +8 -5
- package/web/PresentationControls.d.ts +2 -2
- package/web/PresentationControls.js +2 -1
- package/web/ScrollControls.d.ts +4 -4
- package/web/ScrollControls.js +5 -16
- package/web/Select.d.ts +3 -3
- package/web/Select.js +6 -17
- package/web/View.d.ts +5 -5
- package/web/View.js +7 -20
- package/web/index.cjs.js +1 -1
- package/web/index.js +1 -0
- package/web/pivotControls/AxisArrow.js +6 -15
- package/web/pivotControls/AxisRotator.js +8 -23
- package/web/pivotControls/PlaneSlider.js +6 -16
- package/web/pivotControls/context.d.ts +2 -2
- package/web/pivotControls/index.d.ts +1 -1
- package/web/pivotControls/index.js +2 -9
package/index.js
CHANGED
|
@@ -43,6 +43,7 @@ export { PointerLockControls } from './core/PointerLockControls.js';
|
|
|
43
43
|
export { FirstPersonControls } from './core/FirstPersonControls.js';
|
|
44
44
|
export { CameraControls } from './core/CameraControls.js';
|
|
45
45
|
export { FaceControls, useFaceControls } from './core/FaceControls.js';
|
|
46
|
+
export { MotionPathControls, useMotion } from './core/MotionPathControls.js';
|
|
46
47
|
export { GizmoHelper, useGizmoContext } from './core/GizmoHelper.js';
|
|
47
48
|
export { GizmoViewcube } from './core/GizmoViewcube.js';
|
|
48
49
|
export { GizmoViewport } from './core/GizmoViewport.js';
|
package/materials/BlurPass.js
CHANGED
|
@@ -40,7 +40,6 @@ class BlurPass {
|
|
|
40
40
|
this.screen.frustumCulled = false;
|
|
41
41
|
this.scene.add(this.screen);
|
|
42
42
|
}
|
|
43
|
-
|
|
44
43
|
render(renderer, inputBuffer, outputBuffer) {
|
|
45
44
|
const scene = this.scene;
|
|
46
45
|
const camera = this.camera;
|
|
@@ -52,8 +51,8 @@ class BlurPass {
|
|
|
52
51
|
const kernel = material.kernel;
|
|
53
52
|
let lastRT = inputBuffer;
|
|
54
53
|
let destRT;
|
|
55
|
-
let i, l;
|
|
56
|
-
|
|
54
|
+
let i, l;
|
|
55
|
+
// Apply the multi-pass blur.
|
|
57
56
|
for (i = 0, l = kernel.length - 1; i < l; ++i) {
|
|
58
57
|
// Alternate between targets.
|
|
59
58
|
destRT = (i & 1) === 0 ? renderTargetA : renderTargetB;
|
|
@@ -63,13 +62,11 @@ class BlurPass {
|
|
|
63
62
|
renderer.render(scene, camera);
|
|
64
63
|
lastRT = destRT;
|
|
65
64
|
}
|
|
66
|
-
|
|
67
65
|
uniforms.kernel.value = kernel[i];
|
|
68
66
|
uniforms.inputBuffer.value = lastRT.texture;
|
|
69
67
|
renderer.setRenderTarget(this.renderToScreen ? null : outputBuffer);
|
|
70
68
|
renderer.render(scene, camera);
|
|
71
69
|
}
|
|
72
|
-
|
|
73
70
|
}
|
|
74
71
|
|
|
75
72
|
export { BlurPass };
|
|
@@ -84,16 +84,13 @@ class ConvolutionMaterial extends THREE.ShaderMaterial {
|
|
|
84
84
|
this.setTexelSize(texelSize.x, texelSize.y);
|
|
85
85
|
this.kernel = new Float32Array([0.0, 1.0, 2.0, 2.0, 3.0]);
|
|
86
86
|
}
|
|
87
|
-
|
|
88
87
|
setTexelSize(x, y) {
|
|
89
88
|
this.uniforms.texelSize.value.set(x, y);
|
|
90
89
|
this.uniforms.halfTexelSize.value.set(x, y).multiplyScalar(0.5);
|
|
91
90
|
}
|
|
92
|
-
|
|
93
91
|
setResolution(resolution) {
|
|
94
92
|
this.uniforms.resolution.value.copy(resolution);
|
|
95
93
|
}
|
|
96
|
-
|
|
97
94
|
}
|
|
98
95
|
|
|
99
96
|
export { ConvolutionMaterial };
|
|
@@ -48,7 +48,7 @@ export declare class MeshReflectorMaterial extends MeshStandardMaterial {
|
|
|
48
48
|
get mixContrast(): number;
|
|
49
49
|
set mixContrast(v: number);
|
|
50
50
|
}
|
|
51
|
-
export
|
|
51
|
+
export type MeshReflectorMaterialProps = {
|
|
52
52
|
mixBlur: number;
|
|
53
53
|
mixStrength: number;
|
|
54
54
|
mirror: number;
|
|
@@ -50,14 +50,11 @@ class MeshReflectorMaterial extends MeshStandardMaterial {
|
|
|
50
50
|
};
|
|
51
51
|
this.setValues(parameters);
|
|
52
52
|
}
|
|
53
|
-
|
|
54
53
|
onBeforeCompile(shader) {
|
|
55
54
|
var _shader$defines;
|
|
56
|
-
|
|
57
55
|
if (!((_shader$defines = shader.defines) != null && _shader$defines.USE_UV)) {
|
|
58
56
|
shader.defines.USE_UV = '';
|
|
59
57
|
}
|
|
60
|
-
|
|
61
58
|
shader.uniforms.hasBlur = this._hasBlur;
|
|
62
59
|
shader.uniforms.tDiffuse = this._tDiffuse;
|
|
63
60
|
shader.uniforms.tDepth = this._tDepth;
|
|
@@ -164,127 +161,96 @@ class MeshReflectorMaterial extends MeshStandardMaterial {
|
|
|
164
161
|
diffuseColor.rgb = diffuseColor.rgb * ((1.0 - min(1.0, mirror)) + newMerge.rgb * mixStrength);
|
|
165
162
|
`);
|
|
166
163
|
}
|
|
167
|
-
|
|
168
164
|
get tDiffuse() {
|
|
169
165
|
return this._tDiffuse.value;
|
|
170
166
|
}
|
|
171
|
-
|
|
172
167
|
set tDiffuse(v) {
|
|
173
168
|
this._tDiffuse.value = v;
|
|
174
169
|
}
|
|
175
|
-
|
|
176
170
|
get tDepth() {
|
|
177
171
|
return this._tDepth.value;
|
|
178
172
|
}
|
|
179
|
-
|
|
180
173
|
set tDepth(v) {
|
|
181
174
|
this._tDepth.value = v;
|
|
182
175
|
}
|
|
183
|
-
|
|
184
176
|
get distortionMap() {
|
|
185
177
|
return this._distortionMap.value;
|
|
186
178
|
}
|
|
187
|
-
|
|
188
179
|
set distortionMap(v) {
|
|
189
180
|
this._distortionMap.value = v;
|
|
190
181
|
}
|
|
191
|
-
|
|
192
182
|
get tDiffuseBlur() {
|
|
193
183
|
return this._tDiffuseBlur.value;
|
|
194
184
|
}
|
|
195
|
-
|
|
196
185
|
set tDiffuseBlur(v) {
|
|
197
186
|
this._tDiffuseBlur.value = v;
|
|
198
187
|
}
|
|
199
|
-
|
|
200
188
|
get textureMatrix() {
|
|
201
189
|
return this._textureMatrix.value;
|
|
202
190
|
}
|
|
203
|
-
|
|
204
191
|
set textureMatrix(v) {
|
|
205
192
|
this._textureMatrix.value = v;
|
|
206
193
|
}
|
|
207
|
-
|
|
208
194
|
get hasBlur() {
|
|
209
195
|
return this._hasBlur.value;
|
|
210
196
|
}
|
|
211
|
-
|
|
212
197
|
set hasBlur(v) {
|
|
213
198
|
this._hasBlur.value = v;
|
|
214
199
|
}
|
|
215
|
-
|
|
216
200
|
get mirror() {
|
|
217
201
|
return this._mirror.value;
|
|
218
202
|
}
|
|
219
|
-
|
|
220
203
|
set mirror(v) {
|
|
221
204
|
this._mirror.value = v;
|
|
222
205
|
}
|
|
223
|
-
|
|
224
206
|
get mixBlur() {
|
|
225
207
|
return this._mixBlur.value;
|
|
226
208
|
}
|
|
227
|
-
|
|
228
209
|
set mixBlur(v) {
|
|
229
210
|
this._mixBlur.value = v;
|
|
230
211
|
}
|
|
231
|
-
|
|
232
212
|
get mixStrength() {
|
|
233
213
|
return this._blurStrength.value;
|
|
234
214
|
}
|
|
235
|
-
|
|
236
215
|
set mixStrength(v) {
|
|
237
216
|
this._blurStrength.value = v;
|
|
238
217
|
}
|
|
239
|
-
|
|
240
218
|
get minDepthThreshold() {
|
|
241
219
|
return this._minDepthThreshold.value;
|
|
242
220
|
}
|
|
243
|
-
|
|
244
221
|
set minDepthThreshold(v) {
|
|
245
222
|
this._minDepthThreshold.value = v;
|
|
246
223
|
}
|
|
247
|
-
|
|
248
224
|
get maxDepthThreshold() {
|
|
249
225
|
return this._maxDepthThreshold.value;
|
|
250
226
|
}
|
|
251
|
-
|
|
252
227
|
set maxDepthThreshold(v) {
|
|
253
228
|
this._maxDepthThreshold.value = v;
|
|
254
229
|
}
|
|
255
|
-
|
|
256
230
|
get depthScale() {
|
|
257
231
|
return this._depthScale.value;
|
|
258
232
|
}
|
|
259
|
-
|
|
260
233
|
set depthScale(v) {
|
|
261
234
|
this._depthScale.value = v;
|
|
262
235
|
}
|
|
263
|
-
|
|
264
236
|
get depthToBlurRatioBias() {
|
|
265
237
|
return this._depthToBlurRatioBias.value;
|
|
266
238
|
}
|
|
267
|
-
|
|
268
239
|
set depthToBlurRatioBias(v) {
|
|
269
240
|
this._depthToBlurRatioBias.value = v;
|
|
270
241
|
}
|
|
271
|
-
|
|
272
242
|
get distortion() {
|
|
273
243
|
return this._distortion.value;
|
|
274
244
|
}
|
|
275
|
-
|
|
276
245
|
set distortion(v) {
|
|
277
246
|
this._distortion.value = v;
|
|
278
247
|
}
|
|
279
|
-
|
|
280
248
|
get mixContrast() {
|
|
281
249
|
return this._mixContrast.value;
|
|
282
250
|
}
|
|
283
|
-
|
|
284
251
|
set mixContrast(v) {
|
|
285
252
|
this._mixContrast.value = v;
|
|
286
253
|
}
|
|
287
|
-
|
|
288
254
|
}
|
|
289
255
|
|
|
290
256
|
export { MeshReflectorMaterial };
|
|
@@ -15,9 +15,7 @@ const MeshRefractionMaterial = shaderMaterial({
|
|
|
15
15
|
resolution: new THREE.Vector2(),
|
|
16
16
|
viewMatrixInverse: new THREE.Matrix4(),
|
|
17
17
|
projectionMatrixInverse: new THREE.Matrix4()
|
|
18
|
-
},
|
|
19
|
-
/*glsl*/
|
|
20
|
-
`
|
|
18
|
+
}, /*glsl*/`
|
|
21
19
|
uniform mat4 viewMatrixInverse;
|
|
22
20
|
|
|
23
21
|
varying vec3 vWorldPosition;
|
|
@@ -49,9 +47,7 @@ const MeshRefractionMaterial = shaderMaterial({
|
|
|
49
47
|
vWorldPosition = (modelMatrix * transformedPosition).xyz;
|
|
50
48
|
vNormal = normalize((viewMatrixInverse * vec4(normalMatrix * transformedNormal.xyz, 0.0)).xyz);
|
|
51
49
|
gl_Position = projectionMatrix * viewMatrix * modelMatrix * transformedPosition;
|
|
52
|
-
}`,
|
|
53
|
-
/*glsl*/
|
|
54
|
-
`
|
|
50
|
+
}`, /*glsl*/`
|
|
55
51
|
#define ENVMAP_TYPE_CUBE_UV
|
|
56
52
|
precision highp isampler2D;
|
|
57
53
|
precision highp usampler2D;
|
|
@@ -34,9 +34,7 @@ class SpotLightMaterial extends THREE.ShaderMaterial {
|
|
|
34
34
|
},
|
|
35
35
|
transparent: true,
|
|
36
36
|
depthWrite: false,
|
|
37
|
-
vertexShader:
|
|
38
|
-
/* glsl */
|
|
39
|
-
`
|
|
37
|
+
vertexShader: /* glsl */`
|
|
40
38
|
varying vec3 vNormal;
|
|
41
39
|
varying vec3 vWorldPosition;
|
|
42
40
|
varying float vViewZ;
|
|
@@ -58,9 +56,7 @@ class SpotLightMaterial extends THREE.ShaderMaterial {
|
|
|
58
56
|
gl_Position = projectionMatrix * viewPosition;
|
|
59
57
|
|
|
60
58
|
}`,
|
|
61
|
-
fragmentShader:
|
|
62
|
-
/* glsl */
|
|
63
|
-
`
|
|
59
|
+
fragmentShader: /* glsl */`
|
|
64
60
|
#include <packing>
|
|
65
61
|
|
|
66
62
|
varying vec3 vNormal;
|
|
@@ -105,7 +101,6 @@ class SpotLightMaterial extends THREE.ShaderMaterial {
|
|
|
105
101
|
}`
|
|
106
102
|
});
|
|
107
103
|
}
|
|
108
|
-
|
|
109
104
|
}
|
|
110
105
|
|
|
111
106
|
export { SpotLightMaterial };
|
|
@@ -20,9 +20,7 @@ const WireframeMaterialShaders = {
|
|
|
20
20
|
backfaceStroke: new THREE.Color('#0000ff'),
|
|
21
21
|
fill: new THREE.Color('#00ff00')
|
|
22
22
|
},
|
|
23
|
-
vertex:
|
|
24
|
-
/* glsl */
|
|
25
|
-
`
|
|
23
|
+
vertex: /* glsl */`
|
|
26
24
|
attribute vec3 barycentric;
|
|
27
25
|
|
|
28
26
|
varying vec3 v_edges_Barycentric;
|
|
@@ -33,9 +31,7 @@ const WireframeMaterialShaders = {
|
|
|
33
31
|
v_edges_Position = position.xyz;
|
|
34
32
|
}
|
|
35
33
|
`,
|
|
36
|
-
fragment:
|
|
37
|
-
/* glsl */
|
|
38
|
-
`
|
|
34
|
+
fragment: /* glsl */`
|
|
39
35
|
#ifndef PI
|
|
40
36
|
#define PI 3.1415926535897932384626433832795
|
|
41
37
|
#endif
|
|
@@ -122,16 +118,12 @@ const WireframeMaterialShaders = {
|
|
|
122
118
|
}
|
|
123
119
|
`
|
|
124
120
|
};
|
|
125
|
-
const WireframeMaterial = shaderMaterial(WireframeMaterialShaders.uniforms, WireframeMaterialShaders.vertex +
|
|
126
|
-
/* glsl */
|
|
127
|
-
`
|
|
121
|
+
const WireframeMaterial = shaderMaterial(WireframeMaterialShaders.uniforms, WireframeMaterialShaders.vertex + /* glsl */`
|
|
128
122
|
void main() {
|
|
129
123
|
initWireframe();
|
|
130
124
|
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
131
125
|
}
|
|
132
|
-
`, WireframeMaterialShaders.fragment +
|
|
133
|
-
/* glsl */
|
|
134
|
-
`
|
|
126
|
+
`, WireframeMaterialShaders.fragment + /* glsl */`
|
|
135
127
|
void main () {
|
|
136
128
|
// Compute color
|
|
137
129
|
|
|
@@ -150,7 +142,8 @@ const WireframeMaterial = shaderMaterial(WireframeMaterialShaders.uniforms, Wire
|
|
|
150
142
|
`);
|
|
151
143
|
function setWireframeOverride(material, uniforms) {
|
|
152
144
|
material.onBeforeCompile = shader => {
|
|
153
|
-
shader.uniforms = {
|
|
145
|
+
shader.uniforms = {
|
|
146
|
+
...shader.uniforms,
|
|
154
147
|
...uniforms
|
|
155
148
|
};
|
|
156
149
|
shader.vertexShader = shader.vertexShader.replace('void main() {', `
|
|
@@ -162,9 +155,7 @@ function setWireframeOverride(material, uniforms) {
|
|
|
162
155
|
${WireframeMaterialShaders.fragment}
|
|
163
156
|
void main() {
|
|
164
157
|
`);
|
|
165
|
-
shader.fragmentShader = shader.fragmentShader.replace('#include <color_fragment>',
|
|
166
|
-
/* glsl */
|
|
167
|
-
`
|
|
158
|
+
shader.fragmentShader = shader.fragmentShader.replace('#include <color_fragment>', /* glsl */`
|
|
168
159
|
#include <color_fragment>
|
|
169
160
|
float edge = getWireframe();
|
|
170
161
|
vec4 colorStroke = vec4(stroke, edge);
|
|
@@ -178,29 +169,24 @@ function setWireframeOverride(material, uniforms) {
|
|
|
178
169
|
diffuseColor.a *= outColor.a;
|
|
179
170
|
`);
|
|
180
171
|
};
|
|
181
|
-
|
|
182
172
|
material.side = THREE.DoubleSide;
|
|
183
173
|
material.transparent = true;
|
|
184
174
|
}
|
|
185
175
|
function useWireframeUniforms(uniforms, props) {
|
|
186
176
|
React.useEffect(() => {
|
|
187
177
|
var _props$fillOpacity;
|
|
188
|
-
|
|
189
178
|
return void (uniforms.fillOpacity.value = (_props$fillOpacity = props.fillOpacity) !== null && _props$fillOpacity !== void 0 ? _props$fillOpacity : uniforms.fillOpacity.value);
|
|
190
179
|
}, [props.fillOpacity]);
|
|
191
180
|
React.useEffect(() => {
|
|
192
181
|
var _props$fillMix;
|
|
193
|
-
|
|
194
182
|
return void (uniforms.fillMix.value = (_props$fillMix = props.fillMix) !== null && _props$fillMix !== void 0 ? _props$fillMix : uniforms.fillMix.value);
|
|
195
183
|
}, [props.fillMix]);
|
|
196
184
|
React.useEffect(() => {
|
|
197
185
|
var _props$strokeOpacity;
|
|
198
|
-
|
|
199
186
|
return void (uniforms.strokeOpacity.value = (_props$strokeOpacity = props.strokeOpacity) !== null && _props$strokeOpacity !== void 0 ? _props$strokeOpacity : uniforms.strokeOpacity.value);
|
|
200
187
|
}, [props.strokeOpacity]);
|
|
201
188
|
React.useEffect(() => {
|
|
202
189
|
var _props$thickness;
|
|
203
|
-
|
|
204
190
|
return void (uniforms.thickness.value = (_props$thickness = props.thickness) !== null && _props$thickness !== void 0 ? _props$thickness : uniforms.thickness.value);
|
|
205
191
|
}, [props.thickness]);
|
|
206
192
|
React.useEffect(() => void (uniforms.colorBackfaces.value = !!props.colorBackfaces), [props.colorBackfaces]);
|
|
@@ -208,23 +194,19 @@ function useWireframeUniforms(uniforms, props) {
|
|
|
208
194
|
React.useEffect(() => void (uniforms.dashInvert.value = !!props.dashInvert), [props.dashInvert]);
|
|
209
195
|
React.useEffect(() => {
|
|
210
196
|
var _props$dashRepeats;
|
|
211
|
-
|
|
212
197
|
return void (uniforms.dashRepeats.value = (_props$dashRepeats = props.dashRepeats) !== null && _props$dashRepeats !== void 0 ? _props$dashRepeats : uniforms.dashRepeats.value);
|
|
213
198
|
}, [props.dashRepeats]);
|
|
214
199
|
React.useEffect(() => {
|
|
215
200
|
var _props$dashLength;
|
|
216
|
-
|
|
217
201
|
return void (uniforms.dashLength.value = (_props$dashLength = props.dashLength) !== null && _props$dashLength !== void 0 ? _props$dashLength : uniforms.dashLength.value);
|
|
218
202
|
}, [props.dashLength]);
|
|
219
203
|
React.useEffect(() => void (uniforms.squeeze.value = !!props.squeeze), [props.squeeze]);
|
|
220
204
|
React.useEffect(() => {
|
|
221
205
|
var _props$squeezeMin;
|
|
222
|
-
|
|
223
206
|
return void (uniforms.squeezeMin.value = (_props$squeezeMin = props.squeezeMin) !== null && _props$squeezeMin !== void 0 ? _props$squeezeMin : uniforms.squeezeMin.value);
|
|
224
207
|
}, [props.squeezeMin]);
|
|
225
208
|
React.useEffect(() => {
|
|
226
209
|
var _props$squeezeMax;
|
|
227
|
-
|
|
228
210
|
return void (uniforms.squeezeMax.value = (_props$squeezeMax = props.squeezeMax) !== null && _props$squeezeMax !== void 0 ? _props$squeezeMax : uniforms.squeezeMax.value);
|
|
229
211
|
}, [props.squeezeMax]);
|
|
230
212
|
React.useEffect(() => void (uniforms.stroke.value = props.stroke ? new THREE.Color(props.stroke) : uniforms.stroke.value), [props.stroke]);
|
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/ScreenSpace.cjs.js"),s=require("../core/QuadraticBezierLine.cjs.js"),o=require("../core/CubicBezierLine.cjs.js"),t=require("../core/CatmullRomLine.cjs.js"),i=require("../core/Line.cjs.js"),a=require("../core/PositionalAudio.cjs.js"),c=require("../core/Text.cjs.js"),u=require("../core/Text3D.cjs.js"),n=require("../core/Effects.cjs.js"),j=require("../core/GradientTexture.cjs.js"),p=require("../core/Image.cjs.js"),l=require("../core/Edges.cjs.js"),x=require("../core/Outlines.cjs.js"),q=require("../core/Trail.cjs.js"),m=require("../core/Sampler.cjs.js"),d=require("../core/ComputedAttribute.cjs.js"),h=require("../core/Clone.cjs.js"),C=require("../core/MarchingCubes.cjs.js"),M=require("../core/Decal.cjs.js"),S=require("../core/Svg.cjs.js"),f=require("../core/Gltf.cjs.js"),T=require("../core/AsciiRenderer.cjs.js"),P=require("../core/OrthographicCamera.cjs.js"),b=require("../core/PerspectiveCamera.cjs.js"),B=require("../core/CubeCamera.cjs.js"),g=require("../core/DeviceOrientationControls.cjs.js"),v=require("../core/FlyControls.cjs.js"),F=require("../core/MapControls.cjs.js"),L=require("../core/OrbitControls.cjs.js"),A=require("../core/TrackballControls.cjs.js"),k=require("../core/ArcballControls.cjs.js"),D=require("../core/TransformControls.cjs.js"),E=require("../core/PointerLockControls.cjs.js"),G=require("../core/FirstPersonControls.cjs.js"),R=require("../core/CameraControls.cjs.js"),w=require("../core/FaceControls.cjs.js"),z=require("../core/GizmoHelper.cjs.js"),O=require("../core/GizmoViewcube.cjs.js"),y=require("../core/GizmoViewport.cjs.js"),I=require("../core/Grid.cjs.js"),H=require("../core/useCubeTexture.cjs.js"),V=require("../core/useFBX.cjs.js"),W=require("../core/useGLTF.cjs.js"),Q=require("../core/useKTX2.cjs.js"),X=require("../core/useProgress.cjs.js"),K=require("../core/useTexture.cjs.js"),N=require("../core/useVideoTexture.cjs.js"),U=require("../core/useFont.cjs.js"),_=require("../core/Stats.cjs.js"),J=require("../core/StatsGl.cjs.js"),Y=require("../core/useDepthBuffer.cjs.js"),Z=require("../core/useAspect.cjs.js"),$=require("../core/useCamera.cjs.js"),ee=require("../core/useDetectGPU.cjs.js"),re=require("../core/useHelper.cjs.js"),se=require("../core/useBVH.cjs.js"),oe=require("../core/useContextBridge.cjs.js"),te=require("../core/useAnimations.cjs.js"),ie=require("../core/useFBO.cjs.js"),ae=require("../core/useIntersect.cjs.js"),ce=require("../core/useBoxProjectedEnv.cjs.js"),ue=require("../core/BBAnchor.cjs.js"),ne=require("../core/useTrailTexture.cjs.js"),je=require("../core/useCubeCamera.cjs.js"),pe=require("../core/Example.cjs.js"),le=require("../core/SpriteAnimator.cjs.js"),xe=require("../core/FaceLandmarker.cjs.js"),qe=require("../core/CurveModifier.cjs.js"),me=require("../core/MeshDistortMaterial.cjs.js"),de=require("../core/MeshWobbleMaterial.cjs.js"),he=require("../core/MeshReflectorMaterial.cjs.js"),Ce=require("../core/MeshRefractionMaterial.cjs.js"),Me=require("../core/MeshTransmissionMaterial.cjs.js"),Se=require("../core/MeshDiscardMaterial.cjs.js"),fe=require("../core/PointMaterial.cjs.js"),Te=require("../core/shaderMaterial.cjs.js"),Pe=require("../core/softShadows.cjs.js"),be=require("../core/shapes.cjs.js"),Be=require("../core/Facemesh.cjs.js"),ge=require("../core/RoundedBox.cjs.js"),ve=require("../core/ScreenQuad.cjs.js"),Fe=require("../core/Center.cjs.js"),Le=require("../core/Resize.cjs.js"),Ae=require("../core/Bounds.cjs.js"),ke=require("../core/CameraShake.cjs.js"),De=require("../core/Float.cjs.js"),Ee=require("../core/Stage.cjs.js"),Ge=require("../core/Backdrop.cjs.js"),Re=require("../core/Shadow.cjs.js"),we=require("../core/Caustics.cjs.js"),ze=require("../core/ContactShadows.cjs.js"),Oe=require("../core/AccumulativeShadows.cjs.js"),ye=require("../core/Reflector.cjs.js"),Ie=require("../core/SpotLight.cjs.js"),He=require("../core/Environment.cjs.js"),Ve=require("../core/Lightformer.cjs.js"),We=require("../core/Sky.cjs.js"),Qe=require("../core/Stars.cjs.js"),Xe=require("../core/Cloud.cjs.js"),Ke=require("../core/Sparkles.cjs.js"),Ne=require("../core/useEnvironment.cjs.js"),Ue=require("../core/useMatcapTexture.cjs.js"),_e=require("../core/useNormalTexture.cjs.js"),Je=require("../core/Wireframe.cjs.js"),Ye=require("../core/Points.cjs.js"),Ze=require("../core/Instances.cjs.js"),$e=require("../core/Segments.cjs.js"),er=require("../core/Detailed.cjs.js"),rr=require("../core/Preload.cjs.js"),sr=require("../core/BakeShadows.cjs.js"),or=require("../core/meshBounds.cjs.js"),tr=require("../core/AdaptiveDpr.cjs.js"),ir=require("../core/AdaptiveEvents.cjs.js"),ar=require("../core/PerformanceMonitor.cjs.js"),cr=require("../core/RenderTexture.cjs.js"),ur=require("../core/Mask.cjs.js"),nr=require("../core/Hud.cjs.js"),jr=require("../core/MeshPortalMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("maath"),require("@mediapipe/tasks-vision"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=o.CubicBezierLine,exports.CatmullRomLine=t.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=c.Text,exports.Text3D=u.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=p.Image,exports.Edges=l.Edges,exports.Outlines=x.Outlines,exports.Trail=q.Trail,exports.useTrail=q.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=d.ComputedAttribute,exports.Clone=h.Clone,exports.MarchingCube=C.MarchingCube,exports.MarchingCubes=C.MarchingCubes,exports.MarchingPlane=C.MarchingPlane,exports.Decal=M.Decal,exports.Svg=S.Svg,exports.Gltf=f.Gltf,exports.AsciiRenderer=T.AsciiRenderer,exports.OrthographicCamera=P.OrthographicCamera,exports.PerspectiveCamera=b.PerspectiveCamera,exports.CubeCamera=B.CubeCamera,exports.DeviceOrientationControls=g.DeviceOrientationControls,exports.FlyControls=v.FlyControls,exports.MapControls=F.MapControls,exports.OrbitControls=L.OrbitControls,exports.TrackballControls=A.TrackballControls,exports.ArcballControls=k.ArcballControls,exports.TransformControls=D.TransformControls,exports.PointerLockControls=E.PointerLockControls,exports.FirstPersonControls=G.FirstPersonControls,exports.CameraControls=R.CameraControls,exports.FaceControls=w.FaceControls,exports.useFaceControls=w.useFaceControls,exports.GizmoHelper=z.GizmoHelper,exports.useGizmoContext=z.useGizmoContext,exports.GizmoViewcube=O.GizmoViewcube,exports.GizmoViewport=y.GizmoViewport,exports.Grid=I.Grid,exports.useCubeTexture=H.useCubeTexture,exports.useFBX=V.useFBX,exports.useGLTF=W.useGLTF,exports.useKTX2=Q.useKTX2,exports.useProgress=X.useProgress,exports.IsObject=K.IsObject,exports.useTexture=K.useTexture,exports.useVideoTexture=N.useVideoTexture,exports.useFont=U.useFont,exports.Stats=_.Stats,exports.StatsGl=J.StatsGl,exports.useDepthBuffer=Y.useDepthBuffer,exports.useAspect=Z.useAspect,exports.useCamera=$.useCamera,exports.useDetectGPU=ee.useDetectGPU,exports.useHelper=re.useHelper,exports.Bvh=se.Bvh,exports.useBVH=se.useBVH,exports.useContextBridge=oe.useContextBridge,exports.useAnimations=te.useAnimations,exports.useFBO=ie.useFBO,exports.useIntersect=ae.useIntersect,exports.useBoxProjectedEnv=ce.useBoxProjectedEnv,exports.BBAnchor=ue.BBAnchor,exports.useTrailTexture=ne.useTrailTexture,exports.useCubeCamera=je.useCubeCamera,exports.Example=pe.Example,exports.SpriteAnimator=le.SpriteAnimator,exports.FaceLandmarker=xe.FaceLandmarker,exports.FaceLandmarkerDefaults=xe.FaceLandmarkerDefaults,exports.useFaceLandmarker=xe.useFaceLandmarker,exports.CurveModifier=qe.CurveModifier,exports.MeshDistortMaterial=me.MeshDistortMaterial,exports.MeshWobbleMaterial=de.MeshWobbleMaterial,exports.MeshReflectorMaterial=he.MeshReflectorMaterial,exports.MeshRefractionMaterial=Ce.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Me.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Se.MeshDiscardMaterial,exports.PointMaterial=fe.PointMaterial,exports.PointMaterialImpl=fe.PointMaterialImpl,exports.shaderMaterial=Te.shaderMaterial,exports.SoftShadows=Pe.SoftShadows,exports.Box=be.Box,exports.Capsule=be.Capsule,exports.Circle=be.Circle,exports.Cone=be.Cone,exports.Cylinder=be.Cylinder,exports.Dodecahedron=be.Dodecahedron,exports.Extrude=be.Extrude,exports.Icosahedron=be.Icosahedron,exports.Lathe=be.Lathe,exports.Octahedron=be.Octahedron,exports.Plane=be.Plane,exports.Polyhedron=be.Polyhedron,exports.Ring=be.Ring,exports.Shape=be.Shape,exports.Sphere=be.Sphere,exports.Tetrahedron=be.Tetrahedron,exports.Torus=be.Torus,exports.TorusKnot=be.TorusKnot,exports.Tube=be.Tube,exports.Facemesh=Be.Facemesh,exports.FacemeshDatas=Be.FacemeshDatas,exports.FacemeshEye=Be.FacemeshEye,exports.FacemeshEyeDefaults=Be.FacemeshEyeDefaults,exports.RoundedBox=ge.RoundedBox,exports.ScreenQuad=ve.ScreenQuad,exports.Center=Fe.Center,exports.Resize=Le.Resize,exports.Bounds=Ae.Bounds,exports.useBounds=Ae.useBounds,exports.CameraShake=ke.CameraShake,exports.Float=De.Float,exports.Stage=Ee.Stage,exports.Backdrop=Ge.Backdrop,exports.Shadow=Re.Shadow,exports.Caustics=we.Caustics,exports.ContactShadows=ze.ContactShadows,exports.AccumulativeShadows=Oe.AccumulativeShadows,exports.RandomizedLight=Oe.RandomizedLight,exports.accumulativeContext=Oe.accumulativeContext,exports.Reflector=ye.Reflector,exports.SpotLight=Ie.SpotLight,exports.SpotLightShadow=Ie.SpotLightShadow,exports.Environment=He.Environment,exports.EnvironmentCube=He.EnvironmentCube,exports.EnvironmentMap=He.EnvironmentMap,exports.EnvironmentPortal=He.EnvironmentPortal,exports.Lightformer=Ve.Lightformer,exports.Sky=We.Sky,exports.calcPosFromAngles=We.calcPosFromAngles,exports.Stars=Qe.Stars,exports.Cloud=Xe.Cloud,exports.Sparkles=Ke.Sparkles,exports.useEnvironment=Ne.useEnvironment,exports.useMatcapTexture=Ue.useMatcapTexture,exports.useNormalTexture=_e.useNormalTexture,exports.Wireframe=Je.Wireframe,exports.Point=Ye.Point,exports.Points=Ye.Points,exports.PointsBuffer=Ye.PointsBuffer,exports.PositionPoint=Ye.PositionPoint,exports.Instance=Ze.Instance,exports.Instances=Ze.Instances,exports.Merged=Ze.Merged,exports.Segment=$e.Segment,exports.SegmentObject=$e.SegmentObject,exports.Segments=$e.Segments,exports.Detailed=er.Detailed,exports.Preload=rr.Preload,exports.BakeShadows=sr.BakeShadows,exports.meshBounds=or.meshBounds,exports.AdaptiveDpr=tr.AdaptiveDpr,exports.AdaptiveEvents=ir.AdaptiveEvents,exports.PerformanceMonitor=ar.PerformanceMonitor,exports.usePerformanceMonitor=ar.usePerformanceMonitor,exports.RenderTexture=cr.RenderTexture,exports.Mask=ur.Mask,exports.useMask=ur.useMask,exports.Hud=nr.Hud,exports.MeshPortalMaterial=jr.MeshPortalMaterial;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/Billboard.cjs.js"),r=require("../core/ScreenSpace.cjs.js"),s=require("../core/QuadraticBezierLine.cjs.js"),o=require("../core/CubicBezierLine.cjs.js"),t=require("../core/CatmullRomLine.cjs.js"),i=require("../core/Line.cjs.js"),a=require("../core/PositionalAudio.cjs.js"),c=require("../core/Text.cjs.js"),u=require("../core/Text3D.cjs.js"),n=require("../core/Effects.cjs.js"),j=require("../core/GradientTexture.cjs.js"),p=require("../core/Image.cjs.js"),l=require("../core/Edges.cjs.js"),x=require("../core/Outlines.cjs.js"),q=require("../core/Trail.cjs.js"),m=require("../core/Sampler.cjs.js"),d=require("../core/ComputedAttribute.cjs.js"),h=require("../core/Clone.cjs.js"),C=require("../core/MarchingCubes.cjs.js"),M=require("../core/Decal.cjs.js"),S=require("../core/Svg.cjs.js"),f=require("../core/Gltf.cjs.js"),P=require("../core/AsciiRenderer.cjs.js"),T=require("../core/OrthographicCamera.cjs.js"),b=require("../core/PerspectiveCamera.cjs.js"),B=require("../core/CubeCamera.cjs.js"),g=require("../core/DeviceOrientationControls.cjs.js"),v=require("../core/FlyControls.cjs.js"),F=require("../core/MapControls.cjs.js"),L=require("../core/OrbitControls.cjs.js"),A=require("../core/TrackballControls.cjs.js"),k=require("../core/ArcballControls.cjs.js"),D=require("../core/TransformControls.cjs.js"),E=require("../core/PointerLockControls.cjs.js"),G=require("../core/FirstPersonControls.cjs.js"),R=require("../core/CameraControls.cjs.js"),w=require("../core/FaceControls.cjs.js"),z=require("../core/MotionPathControls.cjs.js"),O=require("../core/GizmoHelper.cjs.js"),y=require("../core/GizmoViewcube.cjs.js"),I=require("../core/GizmoViewport.cjs.js"),H=require("../core/Grid.cjs.js"),V=require("../core/useCubeTexture.cjs.js"),W=require("../core/useFBX.cjs.js"),Q=require("../core/useGLTF.cjs.js"),X=require("../core/useKTX2.cjs.js"),K=require("../core/useProgress.cjs.js"),N=require("../core/useTexture.cjs.js"),U=require("../core/useVideoTexture.cjs.js"),_=require("../core/useFont.cjs.js"),J=require("../core/Stats.cjs.js"),Y=require("../core/StatsGl.cjs.js"),Z=require("../core/useDepthBuffer.cjs.js"),$=require("../core/useAspect.cjs.js"),ee=require("../core/useCamera.cjs.js"),re=require("../core/useDetectGPU.cjs.js"),se=require("../core/useHelper.cjs.js"),oe=require("../core/useBVH.cjs.js"),te=require("../core/useContextBridge.cjs.js"),ie=require("../core/useAnimations.cjs.js"),ae=require("../core/useFBO.cjs.js"),ce=require("../core/useIntersect.cjs.js"),ue=require("../core/useBoxProjectedEnv.cjs.js"),ne=require("../core/BBAnchor.cjs.js"),je=require("../core/useTrailTexture.cjs.js"),pe=require("../core/useCubeCamera.cjs.js"),le=require("../core/Example.cjs.js"),xe=require("../core/SpriteAnimator.cjs.js"),qe=require("../core/FaceLandmarker.cjs.js"),me=require("../core/CurveModifier.cjs.js"),de=require("../core/MeshDistortMaterial.cjs.js"),he=require("../core/MeshWobbleMaterial.cjs.js"),Ce=require("../core/MeshReflectorMaterial.cjs.js"),Me=require("../core/MeshRefractionMaterial.cjs.js"),Se=require("../core/MeshTransmissionMaterial.cjs.js"),fe=require("../core/MeshDiscardMaterial.cjs.js"),Pe=require("../core/PointMaterial.cjs.js"),Te=require("../core/shaderMaterial.cjs.js"),be=require("../core/softShadows.cjs.js"),Be=require("../core/shapes.cjs.js"),ge=require("../core/Facemesh.cjs.js"),ve=require("../core/RoundedBox.cjs.js"),Fe=require("../core/ScreenQuad.cjs.js"),Le=require("../core/Center.cjs.js"),Ae=require("../core/Resize.cjs.js"),ke=require("../core/Bounds.cjs.js"),De=require("../core/CameraShake.cjs.js"),Ee=require("../core/Float.cjs.js"),Ge=require("../core/Stage.cjs.js"),Re=require("../core/Backdrop.cjs.js"),we=require("../core/Shadow.cjs.js"),ze=require("../core/Caustics.cjs.js"),Oe=require("../core/ContactShadows.cjs.js"),ye=require("../core/AccumulativeShadows.cjs.js"),Ie=require("../core/Reflector.cjs.js"),He=require("../core/SpotLight.cjs.js"),Ve=require("../core/Environment.cjs.js"),We=require("../core/Lightformer.cjs.js"),Qe=require("../core/Sky.cjs.js"),Xe=require("../core/Stars.cjs.js"),Ke=require("../core/Cloud.cjs.js"),Ne=require("../core/Sparkles.cjs.js"),Ue=require("../core/useEnvironment.cjs.js"),_e=require("../core/useMatcapTexture.cjs.js"),Je=require("../core/useNormalTexture.cjs.js"),Ye=require("../core/Wireframe.cjs.js"),Ze=require("../core/Points.cjs.js"),$e=require("../core/Instances.cjs.js"),er=require("../core/Segments.cjs.js"),rr=require("../core/Detailed.cjs.js"),sr=require("../core/Preload.cjs.js"),or=require("../core/BakeShadows.cjs.js"),tr=require("../core/meshBounds.cjs.js"),ir=require("../core/AdaptiveDpr.cjs.js"),ar=require("../core/AdaptiveEvents.cjs.js"),cr=require("../core/PerformanceMonitor.cjs.js"),ur=require("../core/RenderTexture.cjs.js"),nr=require("../core/Mask.cjs.js"),jr=require("../core/Hud.cjs.js"),pr=require("../core/MeshPortalMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("maath"),require("@mediapipe/tasks-vision"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=o.CubicBezierLine,exports.CatmullRomLine=t.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=c.Text,exports.Text3D=u.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=p.Image,exports.Edges=l.Edges,exports.Outlines=x.Outlines,exports.Trail=q.Trail,exports.useTrail=q.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=d.ComputedAttribute,exports.Clone=h.Clone,exports.MarchingCube=C.MarchingCube,exports.MarchingCubes=C.MarchingCubes,exports.MarchingPlane=C.MarchingPlane,exports.Decal=M.Decal,exports.Svg=S.Svg,exports.Gltf=f.Gltf,exports.AsciiRenderer=P.AsciiRenderer,exports.OrthographicCamera=T.OrthographicCamera,exports.PerspectiveCamera=b.PerspectiveCamera,exports.CubeCamera=B.CubeCamera,exports.DeviceOrientationControls=g.DeviceOrientationControls,exports.FlyControls=v.FlyControls,exports.MapControls=F.MapControls,exports.OrbitControls=L.OrbitControls,exports.TrackballControls=A.TrackballControls,exports.ArcballControls=k.ArcballControls,exports.TransformControls=D.TransformControls,exports.PointerLockControls=E.PointerLockControls,exports.FirstPersonControls=G.FirstPersonControls,exports.CameraControls=R.CameraControls,exports.FaceControls=w.FaceControls,exports.useFaceControls=w.useFaceControls,exports.MotionPathControls=z.MotionPathControls,exports.useMotion=z.useMotion,exports.GizmoHelper=O.GizmoHelper,exports.useGizmoContext=O.useGizmoContext,exports.GizmoViewcube=y.GizmoViewcube,exports.GizmoViewport=I.GizmoViewport,exports.Grid=H.Grid,exports.useCubeTexture=V.useCubeTexture,exports.useFBX=W.useFBX,exports.useGLTF=Q.useGLTF,exports.useKTX2=X.useKTX2,exports.useProgress=K.useProgress,exports.IsObject=N.IsObject,exports.useTexture=N.useTexture,exports.useVideoTexture=U.useVideoTexture,exports.useFont=_.useFont,exports.Stats=J.Stats,exports.StatsGl=Y.StatsGl,exports.useDepthBuffer=Z.useDepthBuffer,exports.useAspect=$.useAspect,exports.useCamera=ee.useCamera,exports.useDetectGPU=re.useDetectGPU,exports.useHelper=se.useHelper,exports.Bvh=oe.Bvh,exports.useBVH=oe.useBVH,exports.useContextBridge=te.useContextBridge,exports.useAnimations=ie.useAnimations,exports.useFBO=ae.useFBO,exports.useIntersect=ce.useIntersect,exports.useBoxProjectedEnv=ue.useBoxProjectedEnv,exports.BBAnchor=ne.BBAnchor,exports.useTrailTexture=je.useTrailTexture,exports.useCubeCamera=pe.useCubeCamera,exports.Example=le.Example,exports.SpriteAnimator=xe.SpriteAnimator,exports.FaceLandmarker=qe.FaceLandmarker,exports.FaceLandmarkerDefaults=qe.FaceLandmarkerDefaults,exports.useFaceLandmarker=qe.useFaceLandmarker,exports.CurveModifier=me.CurveModifier,exports.MeshDistortMaterial=de.MeshDistortMaterial,exports.MeshWobbleMaterial=he.MeshWobbleMaterial,exports.MeshReflectorMaterial=Ce.MeshReflectorMaterial,exports.MeshRefractionMaterial=Me.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Se.MeshTransmissionMaterial,exports.MeshDiscardMaterial=fe.MeshDiscardMaterial,exports.PointMaterial=Pe.PointMaterial,exports.PointMaterialImpl=Pe.PointMaterialImpl,exports.shaderMaterial=Te.shaderMaterial,exports.SoftShadows=be.SoftShadows,exports.Box=Be.Box,exports.Capsule=Be.Capsule,exports.Circle=Be.Circle,exports.Cone=Be.Cone,exports.Cylinder=Be.Cylinder,exports.Dodecahedron=Be.Dodecahedron,exports.Extrude=Be.Extrude,exports.Icosahedron=Be.Icosahedron,exports.Lathe=Be.Lathe,exports.Octahedron=Be.Octahedron,exports.Plane=Be.Plane,exports.Polyhedron=Be.Polyhedron,exports.Ring=Be.Ring,exports.Shape=Be.Shape,exports.Sphere=Be.Sphere,exports.Tetrahedron=Be.Tetrahedron,exports.Torus=Be.Torus,exports.TorusKnot=Be.TorusKnot,exports.Tube=Be.Tube,exports.Facemesh=ge.Facemesh,exports.FacemeshDatas=ge.FacemeshDatas,exports.FacemeshEye=ge.FacemeshEye,exports.FacemeshEyeDefaults=ge.FacemeshEyeDefaults,exports.RoundedBox=ve.RoundedBox,exports.ScreenQuad=Fe.ScreenQuad,exports.Center=Le.Center,exports.Resize=Ae.Resize,exports.Bounds=ke.Bounds,exports.useBounds=ke.useBounds,exports.CameraShake=De.CameraShake,exports.Float=Ee.Float,exports.Stage=Ge.Stage,exports.Backdrop=Re.Backdrop,exports.Shadow=we.Shadow,exports.Caustics=ze.Caustics,exports.ContactShadows=Oe.ContactShadows,exports.AccumulativeShadows=ye.AccumulativeShadows,exports.RandomizedLight=ye.RandomizedLight,exports.accumulativeContext=ye.accumulativeContext,exports.Reflector=Ie.Reflector,exports.SpotLight=He.SpotLight,exports.SpotLightShadow=He.SpotLightShadow,exports.Environment=Ve.Environment,exports.EnvironmentCube=Ve.EnvironmentCube,exports.EnvironmentMap=Ve.EnvironmentMap,exports.EnvironmentPortal=Ve.EnvironmentPortal,exports.Lightformer=We.Lightformer,exports.Sky=Qe.Sky,exports.calcPosFromAngles=Qe.calcPosFromAngles,exports.Stars=Xe.Stars,exports.Cloud=Ke.Cloud,exports.Sparkles=Ne.Sparkles,exports.useEnvironment=Ue.useEnvironment,exports.useMatcapTexture=_e.useMatcapTexture,exports.useNormalTexture=Je.useNormalTexture,exports.Wireframe=Ye.Wireframe,exports.Point=Ze.Point,exports.Points=Ze.Points,exports.PointsBuffer=Ze.PointsBuffer,exports.PositionPoint=Ze.PositionPoint,exports.Instance=$e.Instance,exports.Instances=$e.Instances,exports.Merged=$e.Merged,exports.Segment=er.Segment,exports.SegmentObject=er.SegmentObject,exports.Segments=er.Segments,exports.Detailed=rr.Detailed,exports.Preload=sr.Preload,exports.BakeShadows=or.BakeShadows,exports.meshBounds=tr.meshBounds,exports.AdaptiveDpr=ir.AdaptiveDpr,exports.AdaptiveEvents=ar.AdaptiveEvents,exports.PerformanceMonitor=cr.PerformanceMonitor,exports.usePerformanceMonitor=cr.usePerformanceMonitor,exports.RenderTexture=ur.RenderTexture,exports.Mask=nr.Mask,exports.useMask=nr.useMask,exports.Hud=jr.Hud,exports.MeshPortalMaterial=pr.MeshPortalMaterial;
|
package/native/index.js
CHANGED
|
@@ -35,6 +35,7 @@ export { PointerLockControls } from '../core/PointerLockControls.js';
|
|
|
35
35
|
export { FirstPersonControls } from '../core/FirstPersonControls.js';
|
|
36
36
|
export { CameraControls } from '../core/CameraControls.js';
|
|
37
37
|
export { FaceControls, useFaceControls } from '../core/FaceControls.js';
|
|
38
|
+
export { MotionPathControls, useMotion } from '../core/MotionPathControls.js';
|
|
38
39
|
export { GizmoHelper, useGizmoContext } from '../core/GizmoHelper.js';
|
|
39
40
|
export { GizmoViewcube } from '../core/GizmoViewcube.js';
|
|
40
41
|
export { GizmoViewport } from '../core/GizmoViewport.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-three/drei",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.84.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "useful add-ons for react-three-fiber",
|
|
6
6
|
"keywords": [
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"lodash.clamp": "^4.0.3",
|
|
51
51
|
"lodash.omit": "^4.5.0",
|
|
52
52
|
"lodash.pick": "^4.4.0",
|
|
53
|
-
"maath": "^0.
|
|
53
|
+
"maath": "^0.9.0",
|
|
54
54
|
"meshline": "^3.1.6",
|
|
55
55
|
"react-composer": "^5.0.3",
|
|
56
56
|
"react-merge-refs": "^1.1.0",
|
|
Binary file
|
package/web/CycleRaycast.d.ts
CHANGED
package/web/CycleRaycast.js
CHANGED
|
@@ -14,68 +14,64 @@ function CycleRaycast({
|
|
|
14
14
|
const gl = useThree(state => state.gl);
|
|
15
15
|
React.useEffect(() => {
|
|
16
16
|
var _portal$current;
|
|
17
|
-
|
|
18
17
|
let hits = [];
|
|
19
18
|
let lastEvent = undefined;
|
|
20
19
|
const prev = get().events.filter;
|
|
21
|
-
const target = (_portal$current = portal == null ? void 0 : portal.current) !== null && _portal$current !== void 0 ? _portal$current : gl.domElement.parentNode;
|
|
22
|
-
|
|
23
|
-
const renderStatus = () => target && onChanged && onChanged(hits, Math.round(cycle.current) % hits.length); // Overwrite the raycasters custom filter (this only exists in r3f)
|
|
20
|
+
const target = (_portal$current = portal == null ? void 0 : portal.current) !== null && _portal$current !== void 0 ? _portal$current : gl.domElement.parentNode;
|
|
24
21
|
|
|
22
|
+
// Render custom status
|
|
23
|
+
const renderStatus = () => target && onChanged && onChanged(hits, Math.round(cycle.current) % hits.length);
|
|
25
24
|
|
|
25
|
+
// Overwrite the raycasters custom filter (this only exists in r3f)
|
|
26
26
|
setEvents({
|
|
27
27
|
filter: (intersections, state) => {
|
|
28
28
|
// Reset cycle when the intersections change
|
|
29
29
|
let clone = [...intersections];
|
|
30
|
-
|
|
31
30
|
if (clone.length !== hits.length || !hits.every(hit => clone.map(e => e.object.uuid).includes(hit.object.uuid))) {
|
|
32
31
|
cycle.current = 0;
|
|
33
32
|
hits = clone;
|
|
34
33
|
renderStatus();
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
}
|
|
35
|
+
// Run custom filter if there is one
|
|
36
|
+
if (prev) clone = prev(clone, state);
|
|
37
|
+
// Cycle through the actual raycast intersects
|
|
40
38
|
for (let i = 0; i < Math.round(cycle.current) % clone.length; i++) {
|
|
41
39
|
const first = clone.shift();
|
|
42
40
|
clone = [...clone, first];
|
|
43
41
|
}
|
|
44
|
-
|
|
45
42
|
return clone;
|
|
46
43
|
}
|
|
47
|
-
});
|
|
44
|
+
});
|
|
48
45
|
|
|
46
|
+
// Cycle, refresh events and render status
|
|
49
47
|
const refresh = fn => {
|
|
50
48
|
var _get$events$handlers, _get$events$handlers2;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
(_get$events$
|
|
55
|
-
(_get$events$handlers2 = get().events.handlers) == null ? void 0 : _get$events$handlers2.onPointerMove(lastEvent);
|
|
49
|
+
cycle.current = fn(cycle.current);
|
|
50
|
+
// Cancel hovered elements and fake a pointer-move
|
|
51
|
+
(_get$events$handlers = get().events.handlers) == null || _get$events$handlers.onPointerCancel(undefined);
|
|
52
|
+
(_get$events$handlers2 = get().events.handlers) == null || _get$events$handlers2.onPointerMove(lastEvent);
|
|
56
53
|
renderStatus();
|
|
57
|
-
};
|
|
58
|
-
|
|
54
|
+
};
|
|
59
55
|
|
|
56
|
+
// Key events
|
|
60
57
|
const tabEvent = event => {
|
|
61
58
|
if (event.keyCode || event.which === keyCode) {
|
|
62
59
|
if (preventDefault) event.preventDefault();
|
|
63
60
|
if (hits.length > 1) refresh(current => current + 1);
|
|
64
61
|
}
|
|
65
|
-
};
|
|
66
|
-
|
|
62
|
+
};
|
|
67
63
|
|
|
64
|
+
// Wheel events
|
|
68
65
|
const wheelEvent = event => {
|
|
69
66
|
if (preventDefault) event.preventDefault();
|
|
70
67
|
let delta = 0;
|
|
71
68
|
if (!event) event = window.event;
|
|
72
69
|
if (event.wheelDelta) delta = event.wheelDelta / 120;else if (event.detail) delta = -event.detail / 3;
|
|
73
70
|
if (hits.length > 1) refresh(current => Math.abs(current - delta));
|
|
74
|
-
};
|
|
75
|
-
|
|
71
|
+
};
|
|
76
72
|
|
|
73
|
+
// Catch last move event and position custom status
|
|
77
74
|
const moveEvent = event => lastEvent = event;
|
|
78
|
-
|
|
79
75
|
document.addEventListener('pointermove', moveEvent, {
|
|
80
76
|
passive: true
|
|
81
77
|
});
|
package/web/Html.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ declare function defaultCalculatePosition(el: Object3D, camera: Camera, size: {
|
|
|
7
7
|
width: number;
|
|
8
8
|
height: number;
|
|
9
9
|
}): number[];
|
|
10
|
-
export
|
|
11
|
-
|
|
10
|
+
export type CalculatePosition = typeof defaultCalculatePosition;
|
|
11
|
+
type PointerEventsProperties = 'auto' | 'none' | 'visiblePainted' | 'visibleFill' | 'visibleStroke' | 'visible' | 'painted' | 'fill' | 'stroke' | 'all' | 'inherit';
|
|
12
12
|
export interface HtmlProps extends Omit<Assign<React.HTMLAttributes<HTMLDivElement>, ReactThreeFiber.Object3DNode<Group, typeof Group>>, 'ref'> {
|
|
13
13
|
prepend?: boolean;
|
|
14
14
|
center?: boolean;
|