@react-three/drei 9.58.6 → 9.60.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 CHANGED
@@ -90,6 +90,7 @@ The `native` route of the library **does not** export `Html` or `Loader`. The de
90
90
  <li><a href="#meshdistortmaterial">MeshDistortMaterial</a></li>
91
91
  <li><a href="#meshrefractionmaterial">MeshRefractionMaterial</a></li>
92
92
  <li><a href="#meshtransmissionmaterial">MeshTransmissionMaterial</a></li>
93
+ <li><a href="#meshdiscardmaterial">MeshDiscardMaterial</a></li>
93
94
  <li><a href="#pointmaterial">PointMaterial</a></li>
94
95
  <li><a href="#softshadows">SoftShadows</a></li>
95
96
  <li><a href="#shadermaterial">shaderMaterial</a></li>
@@ -1647,6 +1648,18 @@ Or a PerspectiveCamera.
1647
1648
 
1648
1649
  This would mimic the default MeshPhysicalMaterial behaviour, these materials won't "see" one another, but at least they would pick up on everything else, including transmissive or transparent objects.
1649
1650
 
1651
+ #### MeshDiscardMaterial
1652
+
1653
+ A material that renders nothing. In comparison to `<mesh visible={false}` it can be used to hide objects from the scene while still displays shadows and children.
1654
+
1655
+ ```jsx
1656
+ <mesh castShadow>
1657
+ <torusKnotGeonetry />
1658
+ <MeshDiscardMaterial />
1659
+ {/* Shadows and edges will show, but the model itself won't */}
1660
+ <Edges />
1661
+ ```
1662
+
1650
1663
  #### PointMaterial
1651
1664
 
1652
1665
  <p>
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("@react-three/fiber"),a=require("../materials/DiscardMaterial.cjs.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,a.get?a:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}require("./shaderMaterial.cjs.js"),require("three");var u=i(e),l=c(r);const n=l.forwardRef(((e,r)=>(t.extend({DiscardMaterialImpl:a.DiscardMaterial}),l.createElement("discardMaterialImpl",u.default({ref:r},e)))));exports.MeshDiscardMaterial=n;
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { ReactThreeFiber } from '@react-three/fiber';
3
+ declare global {
4
+ namespace JSX {
5
+ interface IntrinsicElements {
6
+ discardMaterialImpl: ReactThreeFiber.ShaderMaterialProps;
7
+ }
8
+ }
9
+ }
10
+ export declare const MeshDiscardMaterial: React.ForwardRefExoticComponent<Pick<ReactThreeFiber.ExtendedColors<ReactThreeFiber.Overwrite<Partial<import("three").ShaderMaterial>, ReactThreeFiber.NodeProps<import("three").ShaderMaterial, [import("three").ShaderMaterialParameters]>>>, "attach" | "args" | "children" | "key" | "onUpdate" | keyof import("three").ShaderMaterial> & React.RefAttributes<import("three").ShaderMaterial>>;
@@ -0,0 +1,15 @@
1
+ import _extends from '@babel/runtime/helpers/esm/extends';
2
+ import * as React from 'react';
3
+ import { extend } from '@react-three/fiber';
4
+ import { DiscardMaterial } from '../materials/DiscardMaterial.js';
5
+
6
+ const MeshDiscardMaterial = /*#__PURE__*/React.forwardRef((props, fref) => {
7
+ extend({
8
+ DiscardMaterialImpl: DiscardMaterial
9
+ });
10
+ return /*#__PURE__*/React.createElement("discardMaterialImpl", _extends({
11
+ ref: fref
12
+ }, props));
13
+ });
14
+
15
+ export { MeshDiscardMaterial };
package/core/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),a=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),c=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),x=require("./Edges.cjs.js"),l=require("./Trail.cjs.js"),q=require("./Sampler.cjs.js"),d=require("./ComputedAttribute.cjs.js"),m=require("./Clone.cjs.js"),h=require("./MarchingCubes.cjs.js"),C=require("./Decal.cjs.js"),M=require("./Svg.cjs.js"),S=require("./Gltf.cjs.js"),T=require("./AsciiRenderer.cjs.js"),B=require("./OrthographicCamera.cjs.js"),P=require("./PerspectiveCamera.cjs.js"),b=require("./CubeCamera.cjs.js"),f=require("./DeviceOrientationControls.cjs.js"),g=require("./FlyControls.cjs.js"),v=require("./MapControls.cjs.js"),A=require("./OrbitControls.cjs.js"),L=require("./TrackballControls.cjs.js"),k=require("./ArcballControls.cjs.js"),G=require("./TransformControls.cjs.js"),D=require("./PointerLockControls.cjs.js"),R=require("./FirstPersonControls.cjs.js"),E=require("./CameraControls.cjs.js"),w=require("./GizmoHelper.cjs.js"),z=require("./GizmoViewcube.cjs.js"),F=require("./GizmoViewport.cjs.js"),O=require("./Grid.cjs.js"),I=require("./useCubeTexture.cjs.js"),H=require("./useFBX.cjs.js"),V=require("./useGLTF.cjs.js"),y=require("./useKTX2.cjs.js"),Q=require("./useProgress.cjs.js"),X=require("./useTexture.cjs.js"),K=require("./useVideoTexture.cjs.js"),W=require("./Stats.cjs.js"),N=require("./useDepthBuffer.cjs.js"),U=require("./useAspect.cjs.js"),_=require("./useCamera.cjs.js"),J=require("./useDetectGPU.cjs.js"),Y=require("./useHelper.cjs.js"),Z=require("./useBVH.cjs.js"),$=require("./useContextBridge.cjs.js"),ee=require("./useAnimations.cjs.js"),re=require("./useFBO.cjs.js"),se=require("./useIntersect.cjs.js"),te=require("./useBoxProjectedEnv.cjs.js"),oe=require("./BBAnchor.cjs.js"),ie=require("./useTrailTexture.cjs.js"),ae=require("./CurveModifier.cjs.js"),ue=require("./MeshDistortMaterial.cjs.js"),ce=require("./MeshWobbleMaterial.cjs.js"),ne=require("./MeshReflectorMaterial.cjs.js"),je=require("./MeshRefractionMaterial.cjs.js"),pe=require("./MeshTransmissionMaterial.cjs.js"),xe=require("./PointMaterial.cjs.js"),le=require("./shaderMaterial.cjs.js"),qe=require("./softShadows.cjs.js"),de=require("./shapes.cjs.js"),me=require("./RoundedBox.cjs.js"),he=require("./ScreenQuad.cjs.js"),Ce=require("./Center.cjs.js"),Me=require("./Bounds.cjs.js"),Se=require("./CameraShake.cjs.js"),Te=require("./Float.cjs.js"),Be=require("./Stage.cjs.js"),Pe=require("./Backdrop.cjs.js"),be=require("./Shadow.cjs.js"),fe=require("./Caustics.cjs.js"),ge=require("./ContactShadows.cjs.js"),ve=require("./AccumulativeShadows.cjs.js"),Ae=require("./Reflector.cjs.js"),Le=require("./SpotLight.cjs.js"),ke=require("./Environment.cjs.js"),Ge=require("./Lightformer.cjs.js"),De=require("./Sky.cjs.js"),Re=require("./Stars.cjs.js"),Ee=require("./Cloud.cjs.js"),we=require("./Sparkles.cjs.js"),ze=require("./useMatcapTexture.cjs.js"),Fe=require("./useNormalTexture.cjs.js"),Oe=require("./Points.cjs.js"),Ie=require("./Instances.cjs.js"),He=require("./Segments.cjs.js"),Ve=require("./Detailed.cjs.js"),ye=require("./Preload.cjs.js"),Qe=require("./BakeShadows.cjs.js"),Xe=require("./meshBounds.cjs.js"),Ke=require("./AdaptiveDpr.cjs.js"),We=require("./AdaptiveEvents.cjs.js"),Ne=require("./PerformanceMonitor.cjs.js"),Ue=require("./RenderTexture.cjs.js"),_e=require("./Mask.cjs.js"),Je=require("./Hud.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("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=u.Text,exports.Text3D=c.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.Image=p.Image,exports.Edges=x.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=q.Sampler,exports.useSurfaceSampler=q.useSurfaceSampler,exports.ComputedAttribute=d.ComputedAttribute,exports.Clone=m.Clone,exports.MarchingCube=h.MarchingCube,exports.MarchingCubes=h.MarchingCubes,exports.MarchingPlane=h.MarchingPlane,exports.Decal=C.Decal,exports.Svg=M.Svg,exports.Gltf=S.Gltf,exports.AsciiRenderer=T.AsciiRenderer,exports.OrthographicCamera=B.OrthographicCamera,exports.PerspectiveCamera=P.PerspectiveCamera,exports.CubeCamera=b.CubeCamera,exports.DeviceOrientationControls=f.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=v.MapControls,exports.OrbitControls=A.OrbitControls,exports.TrackballControls=L.TrackballControls,exports.ArcballControls=k.ArcballControls,exports.TransformControls=G.TransformControls,exports.PointerLockControls=D.PointerLockControls,exports.FirstPersonControls=R.FirstPersonControls,exports.CameraControls=E.CameraControls,exports.GizmoHelper=w.GizmoHelper,exports.useGizmoContext=w.useGizmoContext,exports.GizmoViewcube=z.GizmoViewcube,exports.GizmoViewport=F.GizmoViewport,exports.Grid=O.Grid,exports.useCubeTexture=I.useCubeTexture,exports.useFBX=H.useFBX,exports.useGLTF=V.useGLTF,exports.useKTX2=y.useKTX2,exports.useProgress=Q.useProgress,exports.IsObject=X.IsObject,exports.useTexture=X.useTexture,exports.useVideoTexture=K.useVideoTexture,exports.Stats=W.Stats,exports.useDepthBuffer=N.useDepthBuffer,exports.useAspect=U.useAspect,exports.useCamera=_.useCamera,exports.useDetectGPU=J.useDetectGPU,exports.useHelper=Y.useHelper,exports.Bvh=Z.Bvh,exports.useBVH=Z.useBVH,exports.useContextBridge=$.useContextBridge,exports.useAnimations=ee.useAnimations,exports.useFBO=re.useFBO,exports.useIntersect=se.useIntersect,exports.useBoxProjectedEnv=te.useBoxProjectedEnv,exports.BBAnchor=oe.BBAnchor,exports.useTrailTexture=ie.useTrailTexture,exports.CurveModifier=ae.CurveModifier,exports.MeshDistortMaterial=ue.MeshDistortMaterial,exports.MeshWobbleMaterial=ce.MeshWobbleMaterial,exports.MeshReflectorMaterial=ne.MeshReflectorMaterial,exports.MeshRefractionMaterial=je.MeshRefractionMaterial,exports.MeshTransmissionMaterial=pe.MeshTransmissionMaterial,exports.PointMaterial=xe.PointMaterial,exports.PointMaterialImpl=xe.PointMaterialImpl,exports.shaderMaterial=le.shaderMaterial,exports.SoftShadows=qe.SoftShadows,exports.Box=de.Box,exports.Capsule=de.Capsule,exports.Circle=de.Circle,exports.Cone=de.Cone,exports.Cylinder=de.Cylinder,exports.Dodecahedron=de.Dodecahedron,exports.Extrude=de.Extrude,exports.Icosahedron=de.Icosahedron,exports.Lathe=de.Lathe,exports.Octahedron=de.Octahedron,exports.Plane=de.Plane,exports.Polyhedron=de.Polyhedron,exports.Ring=de.Ring,exports.Shape=de.Shape,exports.Sphere=de.Sphere,exports.Tetrahedron=de.Tetrahedron,exports.Torus=de.Torus,exports.TorusKnot=de.TorusKnot,exports.Tube=de.Tube,exports.RoundedBox=me.RoundedBox,exports.ScreenQuad=he.ScreenQuad,exports.Center=Ce.Center,exports.Bounds=Me.Bounds,exports.useBounds=Me.useBounds,exports.CameraShake=Se.CameraShake,exports.Float=Te.Float,exports.Stage=Be.Stage,exports.Backdrop=Pe.Backdrop,exports.Shadow=be.Shadow,exports.Caustics=fe.Caustics,exports.ContactShadows=ge.ContactShadows,exports.AccumulativeShadows=ve.AccumulativeShadows,exports.RandomizedLight=ve.RandomizedLight,exports.accumulativeContext=ve.accumulativeContext,exports.Reflector=Ae.Reflector,exports.SpotLight=Le.SpotLight,exports.SpotLightShadow=Le.SpotLightShadow,exports.Environment=ke.Environment,exports.EnvironmentCube=ke.EnvironmentCube,exports.EnvironmentMap=ke.EnvironmentMap,exports.EnvironmentPortal=ke.EnvironmentPortal,exports.useEnvironment=ke.useEnvironment,exports.Lightformer=Ge.Lightformer,exports.Sky=De.Sky,exports.calcPosFromAngles=De.calcPosFromAngles,exports.Stars=Re.Stars,exports.Cloud=Ee.Cloud,exports.Sparkles=we.Sparkles,exports.useMatcapTexture=ze.useMatcapTexture,exports.useNormalTexture=Fe.useNormalTexture,exports.Point=Oe.Point,exports.Points=Oe.Points,exports.PointsBuffer=Oe.PointsBuffer,exports.PositionPoint=Oe.PositionPoint,exports.Instance=Ie.Instance,exports.Instances=Ie.Instances,exports.Merged=Ie.Merged,exports.Segment=He.Segment,exports.SegmentObject=He.SegmentObject,exports.Segments=He.Segments,exports.Detailed=Ve.Detailed,exports.Preload=ye.Preload,exports.BakeShadows=Qe.BakeShadows,exports.meshBounds=Xe.meshBounds,exports.AdaptiveDpr=Ke.AdaptiveDpr,exports.AdaptiveEvents=We.AdaptiveEvents,exports.PerformanceMonitor=Ne.PerformanceMonitor,exports.usePerformanceMonitor=Ne.usePerformanceMonitor,exports.RenderTexture=Ue.RenderTexture,exports.Mask=_e.Mask,exports.useMask=_e.useMask,exports.Hud=Je.Hud;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),a=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),c=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),x=require("./Edges.cjs.js"),l=require("./Trail.cjs.js"),d=require("./Sampler.cjs.js"),q=require("./ComputedAttribute.cjs.js"),m=require("./Clone.cjs.js"),h=require("./MarchingCubes.cjs.js"),C=require("./Decal.cjs.js"),M=require("./Svg.cjs.js"),S=require("./Gltf.cjs.js"),T=require("./AsciiRenderer.cjs.js"),B=require("./OrthographicCamera.cjs.js"),P=require("./PerspectiveCamera.cjs.js"),b=require("./CubeCamera.cjs.js"),f=require("./DeviceOrientationControls.cjs.js"),g=require("./FlyControls.cjs.js"),v=require("./MapControls.cjs.js"),A=require("./OrbitControls.cjs.js"),L=require("./TrackballControls.cjs.js"),D=require("./ArcballControls.cjs.js"),k=require("./TransformControls.cjs.js"),G=require("./PointerLockControls.cjs.js"),R=require("./FirstPersonControls.cjs.js"),E=require("./CameraControls.cjs.js"),w=require("./GizmoHelper.cjs.js"),z=require("./GizmoViewcube.cjs.js"),F=require("./GizmoViewport.cjs.js"),O=require("./Grid.cjs.js"),I=require("./useCubeTexture.cjs.js"),H=require("./useFBX.cjs.js"),V=require("./useGLTF.cjs.js"),y=require("./useKTX2.cjs.js"),Q=require("./useProgress.cjs.js"),X=require("./useTexture.cjs.js"),K=require("./useVideoTexture.cjs.js"),W=require("./Stats.cjs.js"),N=require("./useDepthBuffer.cjs.js"),U=require("./useAspect.cjs.js"),_=require("./useCamera.cjs.js"),J=require("./useDetectGPU.cjs.js"),Y=require("./useHelper.cjs.js"),Z=require("./useBVH.cjs.js"),$=require("./useContextBridge.cjs.js"),ee=require("./useAnimations.cjs.js"),re=require("./useFBO.cjs.js"),se=require("./useIntersect.cjs.js"),te=require("./useBoxProjectedEnv.cjs.js"),oe=require("./BBAnchor.cjs.js"),ie=require("./useTrailTexture.cjs.js"),ae=require("./CurveModifier.cjs.js"),ue=require("./MeshDistortMaterial.cjs.js"),ce=require("./MeshWobbleMaterial.cjs.js"),ne=require("./MeshReflectorMaterial.cjs.js"),je=require("./MeshRefractionMaterial.cjs.js"),pe=require("./MeshTransmissionMaterial.cjs.js"),xe=require("./MeshDiscardMaterial.cjs.js"),le=require("./PointMaterial.cjs.js"),de=require("./shaderMaterial.cjs.js"),qe=require("./softShadows.cjs.js"),me=require("./shapes.cjs.js"),he=require("./RoundedBox.cjs.js"),Ce=require("./ScreenQuad.cjs.js"),Me=require("./Center.cjs.js"),Se=require("./Bounds.cjs.js"),Te=require("./CameraShake.cjs.js"),Be=require("./Float.cjs.js"),Pe=require("./Stage.cjs.js"),be=require("./Backdrop.cjs.js"),fe=require("./Shadow.cjs.js"),ge=require("./Caustics.cjs.js"),ve=require("./ContactShadows.cjs.js"),Ae=require("./AccumulativeShadows.cjs.js"),Le=require("./Reflector.cjs.js"),De=require("./SpotLight.cjs.js"),ke=require("./Environment.cjs.js"),Ge=require("./Lightformer.cjs.js"),Re=require("./Sky.cjs.js"),Ee=require("./Stars.cjs.js"),we=require("./Cloud.cjs.js"),ze=require("./Sparkles.cjs.js"),Fe=require("./useMatcapTexture.cjs.js"),Oe=require("./useNormalTexture.cjs.js"),Ie=require("./Points.cjs.js"),He=require("./Instances.cjs.js"),Ve=require("./Segments.cjs.js"),ye=require("./Detailed.cjs.js"),Qe=require("./Preload.cjs.js"),Xe=require("./BakeShadows.cjs.js"),Ke=require("./meshBounds.cjs.js"),We=require("./AdaptiveDpr.cjs.js"),Ne=require("./AdaptiveEvents.cjs.js"),Ue=require("./PerformanceMonitor.cjs.js"),_e=require("./RenderTexture.cjs.js"),Je=require("./Mask.cjs.js"),Ye=require("./Hud.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("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=u.Text,exports.Text3D=c.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.Image=p.Image,exports.Edges=x.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=d.Sampler,exports.useSurfaceSampler=d.useSurfaceSampler,exports.ComputedAttribute=q.ComputedAttribute,exports.Clone=m.Clone,exports.MarchingCube=h.MarchingCube,exports.MarchingCubes=h.MarchingCubes,exports.MarchingPlane=h.MarchingPlane,exports.Decal=C.Decal,exports.Svg=M.Svg,exports.Gltf=S.Gltf,exports.AsciiRenderer=T.AsciiRenderer,exports.OrthographicCamera=B.OrthographicCamera,exports.PerspectiveCamera=P.PerspectiveCamera,exports.CubeCamera=b.CubeCamera,exports.DeviceOrientationControls=f.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=v.MapControls,exports.OrbitControls=A.OrbitControls,exports.TrackballControls=L.TrackballControls,exports.ArcballControls=D.ArcballControls,exports.TransformControls=k.TransformControls,exports.PointerLockControls=G.PointerLockControls,exports.FirstPersonControls=R.FirstPersonControls,exports.CameraControls=E.CameraControls,exports.GizmoHelper=w.GizmoHelper,exports.useGizmoContext=w.useGizmoContext,exports.GizmoViewcube=z.GizmoViewcube,exports.GizmoViewport=F.GizmoViewport,exports.Grid=O.Grid,exports.useCubeTexture=I.useCubeTexture,exports.useFBX=H.useFBX,exports.useGLTF=V.useGLTF,exports.useKTX2=y.useKTX2,exports.useProgress=Q.useProgress,exports.IsObject=X.IsObject,exports.useTexture=X.useTexture,exports.useVideoTexture=K.useVideoTexture,exports.Stats=W.Stats,exports.useDepthBuffer=N.useDepthBuffer,exports.useAspect=U.useAspect,exports.useCamera=_.useCamera,exports.useDetectGPU=J.useDetectGPU,exports.useHelper=Y.useHelper,exports.Bvh=Z.Bvh,exports.useBVH=Z.useBVH,exports.useContextBridge=$.useContextBridge,exports.useAnimations=ee.useAnimations,exports.useFBO=re.useFBO,exports.useIntersect=se.useIntersect,exports.useBoxProjectedEnv=te.useBoxProjectedEnv,exports.BBAnchor=oe.BBAnchor,exports.useTrailTexture=ie.useTrailTexture,exports.CurveModifier=ae.CurveModifier,exports.MeshDistortMaterial=ue.MeshDistortMaterial,exports.MeshWobbleMaterial=ce.MeshWobbleMaterial,exports.MeshReflectorMaterial=ne.MeshReflectorMaterial,exports.MeshRefractionMaterial=je.MeshRefractionMaterial,exports.MeshTransmissionMaterial=pe.MeshTransmissionMaterial,exports.MeshDiscardMaterial=xe.MeshDiscardMaterial,exports.PointMaterial=le.PointMaterial,exports.PointMaterialImpl=le.PointMaterialImpl,exports.shaderMaterial=de.shaderMaterial,exports.SoftShadows=qe.SoftShadows,exports.Box=me.Box,exports.Capsule=me.Capsule,exports.Circle=me.Circle,exports.Cone=me.Cone,exports.Cylinder=me.Cylinder,exports.Dodecahedron=me.Dodecahedron,exports.Extrude=me.Extrude,exports.Icosahedron=me.Icosahedron,exports.Lathe=me.Lathe,exports.Octahedron=me.Octahedron,exports.Plane=me.Plane,exports.Polyhedron=me.Polyhedron,exports.Ring=me.Ring,exports.Shape=me.Shape,exports.Sphere=me.Sphere,exports.Tetrahedron=me.Tetrahedron,exports.Torus=me.Torus,exports.TorusKnot=me.TorusKnot,exports.Tube=me.Tube,exports.RoundedBox=he.RoundedBox,exports.ScreenQuad=Ce.ScreenQuad,exports.Center=Me.Center,exports.Bounds=Se.Bounds,exports.useBounds=Se.useBounds,exports.CameraShake=Te.CameraShake,exports.Float=Be.Float,exports.Stage=Pe.Stage,exports.Backdrop=be.Backdrop,exports.Shadow=fe.Shadow,exports.Caustics=ge.Caustics,exports.ContactShadows=ve.ContactShadows,exports.AccumulativeShadows=Ae.AccumulativeShadows,exports.RandomizedLight=Ae.RandomizedLight,exports.accumulativeContext=Ae.accumulativeContext,exports.Reflector=Le.Reflector,exports.SpotLight=De.SpotLight,exports.SpotLightShadow=De.SpotLightShadow,exports.Environment=ke.Environment,exports.EnvironmentCube=ke.EnvironmentCube,exports.EnvironmentMap=ke.EnvironmentMap,exports.EnvironmentPortal=ke.EnvironmentPortal,exports.useEnvironment=ke.useEnvironment,exports.Lightformer=Ge.Lightformer,exports.Sky=Re.Sky,exports.calcPosFromAngles=Re.calcPosFromAngles,exports.Stars=Ee.Stars,exports.Cloud=we.Cloud,exports.Sparkles=ze.Sparkles,exports.useMatcapTexture=Fe.useMatcapTexture,exports.useNormalTexture=Oe.useNormalTexture,exports.Point=Ie.Point,exports.Points=Ie.Points,exports.PointsBuffer=Ie.PointsBuffer,exports.PositionPoint=Ie.PositionPoint,exports.Instance=He.Instance,exports.Instances=He.Instances,exports.Merged=He.Merged,exports.Segment=Ve.Segment,exports.SegmentObject=Ve.SegmentObject,exports.Segments=Ve.Segments,exports.Detailed=ye.Detailed,exports.Preload=Qe.Preload,exports.BakeShadows=Xe.BakeShadows,exports.meshBounds=Ke.meshBounds,exports.AdaptiveDpr=We.AdaptiveDpr,exports.AdaptiveEvents=Ne.AdaptiveEvents,exports.PerformanceMonitor=Ue.PerformanceMonitor,exports.usePerformanceMonitor=Ue.usePerformanceMonitor,exports.RenderTexture=_e.RenderTexture,exports.Mask=Je.Mask,exports.useMask=Je.useMask,exports.Hud=Ye.Hud;
package/core/index.d.ts CHANGED
@@ -64,6 +64,7 @@ export * from './MeshWobbleMaterial';
64
64
  export * from './MeshReflectorMaterial';
65
65
  export * from './MeshRefractionMaterial';
66
66
  export * from './MeshTransmissionMaterial';
67
+ export * from './MeshDiscardMaterial';
67
68
  export * from './PointMaterial';
68
69
  export * from './shaderMaterial';
69
70
  export * from './softShadows';
package/core/index.js CHANGED
@@ -64,6 +64,7 @@ export { MeshWobbleMaterial } from './MeshWobbleMaterial.js';
64
64
  export { MeshReflectorMaterial } from './MeshReflectorMaterial.js';
65
65
  export { MeshRefractionMaterial } from './MeshRefractionMaterial.js';
66
66
  export { MeshTransmissionMaterial } from './MeshTransmissionMaterial.js';
67
+ export { MeshDiscardMaterial } from './MeshDiscardMaterial.js';
67
68
  export { PointMaterial, PointMaterialImpl } from './PointMaterial.js';
68
69
  export { shaderMaterial } from './shaderMaterial.js';
69
70
  export { SoftShadows } from './softShadows.js';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("react"),t=require("@react-three/fiber"),n=require("suspend-react");function u(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var s=u(e);exports.useVideoTexture=function(e,u){const{unsuspend:o,start:i,crossOrigin:c,muted:a,loop:d,...l}={unsuspend:"loadedmetadata",crossOrigin:"Anonymous",muted:!0,loop:!0,start:!0,playsInline:!0,...u},p=t.useThree((e=>e.gl)),f=n.suspend((()=>new Promise(((r,t)=>{const n=Object.assign(document.createElement("video"),{src:e,crossOrigin:c,loop:d,muted:a,...l}),u=new s.VideoTexture(n);u.encoding=p.outputEncoding,n.addEventListener(o,(()=>r(u)))}))),[e]);return r.useEffect((()=>{i&&f.image.play()}),[f,i]),f};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("react"),r=require("@react-three/fiber"),n=require("suspend-react");function o(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 s=o(e);exports.useVideoTexture=function(e,o){const{unsuspend:u,start:i,crossOrigin:c,muted:a,loop:d,...f}={unsuspend:"loadedmetadata",crossOrigin:"Anonymous",muted:!0,loop:!0,start:!0,playsInline:!0,...o},l=r.useThree((e=>e.gl)),p=n.suspend((()=>new Promise(((t,r)=>{const n=Object.assign(document.createElement("video"),{src:"string"==typeof e&&e||void 0,srcObject:e instanceof MediaStream&&e||void 0,crossOrigin:c,loop:d,muted:a,...f}),o=new s.VideoTexture(n);o.encoding=l.outputEncoding,n.addEventListener(u,(()=>t(o)))}))),[e]);return t.useEffect((()=>{i&&p.image.play()}),[p,i]),p};
@@ -3,5 +3,5 @@ interface VideoTextureProps extends HTMLVideoElement {
3
3
  unsuspend?: 'canplay' | 'canplaythrough' | 'loadstart' | 'loadedmetadata';
4
4
  start?: boolean;
5
5
  }
6
- export declare function useVideoTexture(src: string, props: Partial<VideoTextureProps>): THREE.VideoTexture;
6
+ export declare function useVideoTexture(src: string | MediaStream, props?: Partial<VideoTextureProps>): THREE.VideoTexture;
7
7
  export {};
@@ -23,7 +23,8 @@ function useVideoTexture(src, props) {
23
23
  const gl = useThree(state => state.gl);
24
24
  const texture = suspend(() => new Promise((res, rej) => {
25
25
  const video = Object.assign(document.createElement('video'), {
26
- src,
26
+ src: typeof src === 'string' && src || undefined,
27
+ srcObject: src instanceof MediaStream && src || undefined,
27
28
  crossOrigin,
28
29
  loop,
29
30
  muted,