@react-three/drei 7.14.4 → 7.15.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.
@@ -26,4 +26,4 @@ export declare const ContactShadows: React.ForwardRefExoticComponent<Pick<Omit<i
26
26
  far?: number | undefined;
27
27
  resolution?: number | undefined;
28
28
  frames?: number | undefined;
29
- }, "visible" | "attach" | "attachArray" | "attachObject" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "isGroup" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "blur" | "opacity" | "width" | "resolution" | "far" | "frames" | "height"> & React.RefAttributes<unknown>>;
29
+ }, "visible" | "attach" | "attachArray" | "attachObject" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "isGroup" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "blur" | "width" | "height" | "opacity" | "resolution" | "far" | "frames"> & React.RefAttributes<unknown>>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),n=require("@react-three/fiber"),t=require("./shaderMaterial.cjs.js"),a=require("./useTexture.cjs.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var t=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,t.get?t:{enumerable:!0,get:function(){return e[n]}})}})),r.default=e,Object.freeze(r)}require("three");var s=o(e),c=i(r);const u=t.shaderMaterial({planeBounds:[1,1],imageBounds:[1,1],map:null,zoom:1,grayscale:0},"\n varying vec2 vUv;\n void main() {\n gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(position, 1.);\n vUv = uv;\n }\n","\n // mostly from https://gist.github.com/statico/df64c5d167362ecf7b34fca0b1459a44\n varying vec2 vUv;\n uniform vec2 planeBounds;\n uniform vec2 imageBounds;\n uniform sampler2D map;\n uniform float zoom;\n uniform float grayscale;\n\n const vec3 luma = vec3(.299, 0.587, 0.114);\n vec4 toGrayscale(vec4 color, float intensity) {\n return vec4(mix(color.rgb, vec3(dot(color.rgb, luma)), intensity), color.a);\n }\n\n void main() {\n vec2 s = planeBounds;\n vec2 i = imageBounds;\n float rs = s.x / s.y;\n float ri = i.x / i.y;\n vec2 new = rs < ri ? vec2(i.x * s.y / i.y, s.y) : vec2(s.x, i.y * s.x / i.x);\n vec2 offset = (rs < ri ? vec2((new.x - s.x) / 2.0, 0.0) : vec2(0.0, (new.y - s.y) / 2.0)) / new;\n vec2 uv = vUv * s / new + offset;\n vec2 zUv = (uv - vec2(0.5, 0.5)) / zoom + vec2(0.5, 0.5);\n gl_FragColor = toGrayscale(texture2D(map, zUv), grayscale);\n }\n");function l(e,r){const n=[e,r],t=Math.min(...n);return[n[0]/t,n[1]/t]}const v=c.forwardRef((({segments:e=1,scale:r=1,zoom:t=1,grayscale:o=0,url:i,...v},m)=>{n.extend({ImageMaterial:u});const f=a.useTexture(i),d=c.useMemo((()=>l(...Array.isArray(r)?[r[0],r[1]]:[r,r])),[r]),g=c.useMemo((()=>l(f.image.width,f.image.height)),[f]);return c.createElement("mesh",s.default({ref:m,scale:r},v),c.createElement("planeGeometry",{args:[1,1,e,e]}),c.createElement("imageMaterial",{map:f,zoom:t,grayscale:o,planeBounds:d,imageBounds:g}))}));exports.Image=v;
@@ -0,0 +1,49 @@
1
+ import * as React from 'react';
2
+ import * as THREE from 'three';
3
+ export declare type ImageProps = JSX.IntrinsicElements['mesh'] & {
4
+ segments?: number;
5
+ scale?: number;
6
+ zoom?: number;
7
+ grayscale?: number;
8
+ url: string;
9
+ };
10
+ declare type ImageMaterialType = JSX.IntrinsicElements['shaderMaterial'] & {
11
+ planeBounds?: number[];
12
+ imageBounds?: number[];
13
+ map: THREE.Texture;
14
+ zoom?: number;
15
+ grayscale?: number;
16
+ };
17
+ declare global {
18
+ namespace JSX {
19
+ interface IntrinsicElements {
20
+ imageMaterial: ImageMaterialType;
21
+ }
22
+ }
23
+ }
24
+ export declare const Image: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").Node<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>, typeof THREE.Mesh>, import("@react-three/fiber").NonFunctionKeys<{
25
+ position?: import("@react-three/fiber").Vector3 | undefined;
26
+ up?: import("@react-three/fiber").Vector3 | undefined;
27
+ scale?: import("@react-three/fiber").Vector3 | undefined;
28
+ rotation?: import("@react-three/fiber").Euler | undefined;
29
+ matrix?: import("@react-three/fiber").Matrix4 | undefined;
30
+ quaternion?: import("@react-three/fiber").Quaternion | undefined;
31
+ layers?: import("@react-three/fiber").Layers | undefined;
32
+ dispose?: (() => void) | null | undefined;
33
+ }>> & {
34
+ position?: import("@react-three/fiber").Vector3 | undefined;
35
+ up?: import("@react-three/fiber").Vector3 | undefined;
36
+ scale?: import("@react-three/fiber").Vector3 | undefined;
37
+ rotation?: import("@react-three/fiber").Euler | undefined;
38
+ matrix?: import("@react-three/fiber").Matrix4 | undefined;
39
+ quaternion?: import("@react-three/fiber").Quaternion | undefined;
40
+ layers?: import("@react-three/fiber").Layers | undefined;
41
+ dispose?: (() => void) | null | undefined;
42
+ } & import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers & {
43
+ segments?: number | undefined;
44
+ scale?: number | undefined;
45
+ zoom?: number | undefined;
46
+ grayscale?: number | undefined;
47
+ url: string;
48
+ }, "visible" | "attach" | "attachArray" | "attachObject" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "zoom" | "material" | "url" | "segments" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "grayscale"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
49
+ export {};
package/core/Image.js ADDED
@@ -0,0 +1,84 @@
1
+ import _extends from '@babel/runtime/helpers/esm/extends';
2
+ import * as React from 'react';
3
+ import { extend } from '@react-three/fiber';
4
+ import { shaderMaterial } from './shaderMaterial.js';
5
+ import { useTexture } from './useTexture.js';
6
+
7
+ const ImageMaterialImpl = shaderMaterial({
8
+ planeBounds: [1, 1],
9
+ imageBounds: [1, 1],
10
+ map: null,
11
+ zoom: 1,
12
+ grayscale: 0
13
+ },
14
+ /* glsl */
15
+ `
16
+ varying vec2 vUv;
17
+ void main() {
18
+ gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(position, 1.);
19
+ vUv = uv;
20
+ }
21
+ `,
22
+ /* glsl */
23
+ `
24
+ // mostly from https://gist.github.com/statico/df64c5d167362ecf7b34fca0b1459a44
25
+ varying vec2 vUv;
26
+ uniform vec2 planeBounds;
27
+ uniform vec2 imageBounds;
28
+ uniform sampler2D map;
29
+ uniform float zoom;
30
+ uniform float grayscale;
31
+
32
+ const vec3 luma = vec3(.299, 0.587, 0.114);
33
+ vec4 toGrayscale(vec4 color, float intensity) {
34
+ return vec4(mix(color.rgb, vec3(dot(color.rgb, luma)), intensity), color.a);
35
+ }
36
+
37
+ void main() {
38
+ vec2 s = planeBounds;
39
+ vec2 i = imageBounds;
40
+ float rs = s.x / s.y;
41
+ float ri = i.x / i.y;
42
+ vec2 new = rs < ri ? vec2(i.x * s.y / i.y, s.y) : vec2(s.x, i.y * s.x / i.x);
43
+ vec2 offset = (rs < ri ? vec2((new.x - s.x) / 2.0, 0.0) : vec2(0.0, (new.y - s.y) / 2.0)) / new;
44
+ vec2 uv = vUv * s / new + offset;
45
+ vec2 zUv = (uv - vec2(0.5, 0.5)) / zoom + vec2(0.5, 0.5);
46
+ gl_FragColor = toGrayscale(texture2D(map, zUv), grayscale);
47
+ }
48
+ `);
49
+
50
+ function aspect(w, h) {
51
+ const size = [w, h];
52
+ const min = Math.min(...size);
53
+ return [size[0] / min, size[1] / min];
54
+ }
55
+
56
+ const Image = /*#__PURE__*/React.forwardRef(({
57
+ segments = 1,
58
+ scale = 1,
59
+ zoom = 1,
60
+ grayscale = 0,
61
+ url,
62
+ ...props
63
+ }, ref) => {
64
+ extend({
65
+ ImageMaterial: ImageMaterialImpl
66
+ });
67
+ const texture = useTexture(url);
68
+ const planeBounds = React.useMemo(() => aspect(...(Array.isArray(scale) ? [scale[0], scale[1]] : [scale, scale])), [scale]);
69
+ const imageBounds = React.useMemo(() => aspect(texture.image.width, texture.image.height), [texture]);
70
+ return /*#__PURE__*/React.createElement("mesh", _extends({
71
+ ref: ref,
72
+ scale: scale
73
+ }, props), /*#__PURE__*/React.createElement("planeGeometry", {
74
+ args: [1, 1, segments, segments]
75
+ }), /*#__PURE__*/React.createElement("imageMaterial", {
76
+ map: texture,
77
+ zoom: zoom,
78
+ grayscale: grayscale,
79
+ planeBounds: planeBounds,
80
+ imageBounds: imageBounds
81
+ }));
82
+ });
83
+
84
+ export { Image };
@@ -22,4 +22,4 @@ export declare const PositionalAudio: React.ForwardRefExoticComponent<Pick<Omit<
22
22
  url: string;
23
23
  distance?: number | undefined;
24
24
  loop?: boolean | undefined;
25
- }, "visible" | "attach" | "attachArray" | "attachObject" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "onEnded" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "source" | "stop" | "url" | "load" | "pause" | "play" | "panner" | "getOutput" | "setRefDistance" | "getRefDistance" | "setRolloffFactor" | "getRolloffFactor" | "setDistanceModel" | "getDistanceModel" | "setMaxDistance" | "getMaxDistance" | "setDirectionalCone" | "listener" | "context" | "gain" | "autoplay" | "buffer" | "detune" | "loop" | "loopStart" | "loopEnd" | "offset" | "duration" | "playbackRate" | "isPlaying" | "hasPlaybackControl" | "sourceType" | "filters" | "setNodeSource" | "setMediaElementSource" | "setMediaStreamSource" | "setBuffer" | "connect" | "disconnect" | "setDetune" | "getDetune" | "getFilters" | "setFilters" | "getFilter" | "setFilter" | "setPlaybackRate" | "getPlaybackRate" | "getLoop" | "setLoop" | "setLoopStart" | "setLoopEnd" | "getVolume" | "setVolume" | "distance"> & React.RefAttributes<unknown>>;
25
+ }, "visible" | "attach" | "attachArray" | "attachObject" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "onEnded" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "source" | "stop" | "url" | "load" | "pause" | "play" | "distance" | "panner" | "getOutput" | "setRefDistance" | "getRefDistance" | "setRolloffFactor" | "getRolloffFactor" | "setDistanceModel" | "getDistanceModel" | "setMaxDistance" | "getMaxDistance" | "setDirectionalCone" | "listener" | "context" | "gain" | "autoplay" | "buffer" | "detune" | "loop" | "loopStart" | "loopEnd" | "offset" | "duration" | "playbackRate" | "isPlaying" | "hasPlaybackControl" | "sourceType" | "filters" | "setNodeSource" | "setMediaElementSource" | "setMediaStreamSource" | "setBuffer" | "connect" | "disconnect" | "setDetune" | "getDetune" | "getFilters" | "setFilters" | "getFilter" | "setFilter" | "setPlaybackRate" | "getPlaybackRate" | "getLoop" | "setLoop" | "setLoopStart" | "setLoopEnd" | "getVolume" | "setVolume"> & React.RefAttributes<unknown>>;
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("./Cloud.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./Line.cjs.js"),i=require("./PositionalAudio.cjs.js"),a=require("./Text.cjs.js"),u=require("./Environment.cjs.js"),c=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./OrthographicCamera.cjs.js"),n=require("./PerspectiveCamera.cjs.js"),l=require("./CameraShake.cjs.js"),x=require("./CubeCamera.cjs.js"),q=require("./DeviceOrientationControls.cjs.js"),d=require("./FlyControls.cjs.js"),C=require("./MapControls.cjs.js"),h=require("./OrbitControls.cjs.js"),m=require("./TrackballControls.cjs.js"),b=require("./ArcballControls.cjs.js"),S=require("./TransformControls.cjs.js"),P=require("./PointerLockControls.cjs.js"),T=require("./FirstPersonControls.cjs.js"),B=require("./GizmoHelper.cjs.js"),M=require("./GizmoViewcube.cjs.js"),f=require("./GizmoViewport.cjs.js"),g=require("./useCubeTexture.cjs.js"),v=require("./useFBX.cjs.js"),L=require("./useGLTF.cjs.js"),A=require("./useProgress.cjs.js"),G=require("./useTexture.cjs.js"),D=require("./Reflector.cjs.js"),w=require("./Shadow.cjs.js"),z=require("./Stats.cjs.js"),k=require("./Center.cjs.js"),F=require("./DepthBuffer.cjs.js"),O=require("./useAspect.cjs.js"),E=require("./useCamera.cjs.js"),y=require("./useDetectGPU.cjs.js"),I=require("./useHelper.cjs.js"),H=require("./useBVH.cjs.js"),R=require("./useContextBridge.cjs.js"),V=require("./useAnimations.cjs.js"),Q=require("./useFBO.cjs.js"),W=require("./useSimplification.cjs.js"),N=require("./useTessellation.cjs.js"),U=require("./useEdgeSplit.cjs.js"),X=require("./CurveModifier.cjs.js"),K=require("./MeshDistortMaterial.cjs.js"),_=require("./MeshWobbleMaterial.cjs.js"),J=require("./PointMaterial.cjs.js"),Y=require("./shaderMaterial.cjs.js"),Z=require("./Sky.cjs.js"),$=require("./softShadows.cjs.js"),ee=require("./Stars.cjs.js"),re=require("./ContactShadows.cjs.js"),se=require("./SpotLight.cjs.js"),te=require("./shapes.cjs.js"),oe=require("./RoundedBox.cjs.js"),ie=require("./ScreenQuad.cjs.js"),ae=require("./useMatcapTexture.cjs.js"),ue=require("./useNormalTexture.cjs.js"),ce=require("./Stage.cjs.js"),je=require("./Points.cjs.js"),pe=require("./Instances.cjs.js"),ne=require("./Detailed.cjs.js"),le=require("./Preload.cjs.js"),xe=require("./BakeShadows.cjs.js"),qe=require("./meshBounds.cjs.js"),de=require("./AdaptiveDpr.cjs.js"),Ce=require("./AdaptiveEvents.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("../assets/cloud.base64.cjs.js"),require("three"),require("three-stdlib"),require("troika-three-text"),require("use-asset"),require("../helpers/environment-assets.cjs.js"),require("lodash.omit"),require("lodash.pick"),require("zustand"),require("../materials/MeshReflectorMaterial.cjs.js"),require("three/examples/js/libs/stats.min"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/SpotLightMaterial.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.Cloud=r.Cloud,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.Line=o.Line,exports.PositionalAudio=i.PositionalAudio,exports.Text=a.Text,exports.Environment=u.Environment,exports.Effects=c.Effects,exports.isWebGL2Available=c.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.OrthographicCamera=p.OrthographicCamera,exports.PerspectiveCamera=n.PerspectiveCamera,exports.CameraShake=l.CameraShake,exports.CubeCamera=x.CubeCamera,exports.DeviceOrientationControls=q.DeviceOrientationControls,exports.FlyControls=d.FlyControls,exports.MapControls=C.MapControls,exports.OrbitControls=h.OrbitControls,exports.TrackballControls=m.TrackballControls,exports.ArcballControls=b.ArcballControls,exports.TransformControls=S.TransformControls,exports.PointerLockControls=P.PointerLockControls,exports.FirstPersonControls=T.FirstPersonControls,exports.GizmoHelper=B.GizmoHelper,exports.useGizmoContext=B.useGizmoContext,exports.GizmoViewcube=M.GizmoViewcube,exports.GizmoViewport=f.GizmoViewport,exports.useCubeTexture=g.useCubeTexture,exports.useFBX=v.useFBX,exports.useGLTF=L.useGLTF,exports.useProgress=A.useProgress,exports.IsObject=G.IsObject,exports.useTexture=G.useTexture,exports.Reflector=D.Reflector,exports.Shadow=w.Shadow,exports.Stats=z.Stats,exports.Center=k.Center,exports.DepthBuffer=F.DepthBuffer,exports.useAspect=O.useAspect,exports.useCamera=E.useCamera,exports.useDetectGPU=y.useDetectGPU,exports.useHelper=I.useHelper,exports.useBVH=H.useBVH,exports.useContextBridge=R.useContextBridge,exports.useAnimations=V.useAnimations,exports.useFBO=Q.useFBO,exports.useSimplification=W.useSimplification,exports.useTessellation=N.useTessellation,exports.useEdgeSplit=U.useEdgeSplit,exports.CurveModifier=X.CurveModifier,exports.MeshDistortMaterial=K.MeshDistortMaterial,exports.MeshWobbleMaterial=_.MeshWobbleMaterial,exports.PointMaterial=J.PointMaterial,exports.PointMaterialImpl=J.PointMaterialImpl,exports.shaderMaterial=Y.shaderMaterial,exports.Sky=Z.Sky,exports.calcPosFromAngles=Z.calcPosFromAngles,exports.softShadows=$.softShadows,exports.Stars=ee.Stars,exports.ContactShadows=re.ContactShadows,exports.SpotLight=se.SpotLight,exports.Box=te.Box,exports.Circle=te.Circle,exports.Cone=te.Cone,exports.Cylinder=te.Cylinder,exports.Dodecahedron=te.Dodecahedron,exports.Extrude=te.Extrude,exports.Icosahedron=te.Icosahedron,exports.Lathe=te.Lathe,exports.Octahedron=te.Octahedron,exports.Parametric=te.Parametric,exports.Plane=te.Plane,exports.Polyhedron=te.Polyhedron,exports.Ring=te.Ring,exports.Sphere=te.Sphere,exports.Tetrahedron=te.Tetrahedron,exports.Torus=te.Torus,exports.TorusKnot=te.TorusKnot,exports.Tube=te.Tube,exports.RoundedBox=oe.RoundedBox,exports.ScreenQuad=ie.ScreenQuad,exports.useMatcapTexture=ae.useMatcapTexture,exports.useNormalTexture=ue.useNormalTexture,exports.Stage=ce.Stage,exports.Point=je.Point,exports.Points=je.Points,exports.Instance=pe.Instance,exports.Instances=pe.Instances,exports.Merged=pe.Merged,exports.Detailed=ne.Detailed,exports.Preload=le.Preload,exports.BakeShadows=xe.BakeShadows,exports.meshBounds=qe.meshBounds,exports.AdaptiveDpr=de.AdaptiveDpr,exports.AdaptiveEvents=Ce.AdaptiveEvents;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./Cloud.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./Line.cjs.js"),i=require("./PositionalAudio.cjs.js"),a=require("./Text.cjs.js"),u=require("./Environment.cjs.js"),c=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),n=require("./OrthographicCamera.cjs.js"),l=require("./PerspectiveCamera.cjs.js"),x=require("./CameraShake.cjs.js"),q=require("./CubeCamera.cjs.js"),d=require("./DeviceOrientationControls.cjs.js"),C=require("./FlyControls.cjs.js"),h=require("./MapControls.cjs.js"),m=require("./OrbitControls.cjs.js"),b=require("./TrackballControls.cjs.js"),S=require("./ArcballControls.cjs.js"),P=require("./TransformControls.cjs.js"),T=require("./PointerLockControls.cjs.js"),B=require("./FirstPersonControls.cjs.js"),M=require("./GizmoHelper.cjs.js"),f=require("./GizmoViewcube.cjs.js"),g=require("./GizmoViewport.cjs.js"),v=require("./useCubeTexture.cjs.js"),L=require("./useFBX.cjs.js"),A=require("./useGLTF.cjs.js"),G=require("./useProgress.cjs.js"),D=require("./useTexture.cjs.js"),w=require("./Reflector.cjs.js"),z=require("./Shadow.cjs.js"),k=require("./Stats.cjs.js"),F=require("./Center.cjs.js"),O=require("./DepthBuffer.cjs.js"),E=require("./useAspect.cjs.js"),I=require("./useCamera.cjs.js"),y=require("./useDetectGPU.cjs.js"),H=require("./useHelper.cjs.js"),R=require("./useBVH.cjs.js"),V=require("./useContextBridge.cjs.js"),Q=require("./useAnimations.cjs.js"),W=require("./useFBO.cjs.js"),N=require("./useSimplification.cjs.js"),U=require("./useTessellation.cjs.js"),X=require("./useEdgeSplit.cjs.js"),K=require("./CurveModifier.cjs.js"),_=require("./MeshDistortMaterial.cjs.js"),J=require("./MeshWobbleMaterial.cjs.js"),Y=require("./PointMaterial.cjs.js"),Z=require("./shaderMaterial.cjs.js"),$=require("./Sky.cjs.js"),ee=require("./softShadows.cjs.js"),re=require("./Stars.cjs.js"),se=require("./ContactShadows.cjs.js"),te=require("./SpotLight.cjs.js"),oe=require("./shapes.cjs.js"),ie=require("./RoundedBox.cjs.js"),ae=require("./ScreenQuad.cjs.js"),ue=require("./useMatcapTexture.cjs.js"),ce=require("./useNormalTexture.cjs.js"),je=require("./Stage.cjs.js"),pe=require("./Points.cjs.js"),ne=require("./Instances.cjs.js"),le=require("./Detailed.cjs.js"),xe=require("./Preload.cjs.js"),qe=require("./BakeShadows.cjs.js"),de=require("./meshBounds.cjs.js"),Ce=require("./AdaptiveDpr.cjs.js"),he=require("./AdaptiveEvents.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("../assets/cloud.base64.cjs.js"),require("three"),require("three-stdlib"),require("troika-three-text"),require("use-asset"),require("../helpers/environment-assets.cjs.js"),require("lodash.omit"),require("lodash.pick"),require("zustand"),require("../materials/MeshReflectorMaterial.cjs.js"),require("three/examples/js/libs/stats.min"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/SpotLightMaterial.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.Cloud=r.Cloud,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.Line=o.Line,exports.PositionalAudio=i.PositionalAudio,exports.Text=a.Text,exports.Environment=u.Environment,exports.Effects=c.Effects,exports.isWebGL2Available=c.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.Image=p.Image,exports.OrthographicCamera=n.OrthographicCamera,exports.PerspectiveCamera=l.PerspectiveCamera,exports.CameraShake=x.CameraShake,exports.CubeCamera=q.CubeCamera,exports.DeviceOrientationControls=d.DeviceOrientationControls,exports.FlyControls=C.FlyControls,exports.MapControls=h.MapControls,exports.OrbitControls=m.OrbitControls,exports.TrackballControls=b.TrackballControls,exports.ArcballControls=S.ArcballControls,exports.TransformControls=P.TransformControls,exports.PointerLockControls=T.PointerLockControls,exports.FirstPersonControls=B.FirstPersonControls,exports.GizmoHelper=M.GizmoHelper,exports.useGizmoContext=M.useGizmoContext,exports.GizmoViewcube=f.GizmoViewcube,exports.GizmoViewport=g.GizmoViewport,exports.useCubeTexture=v.useCubeTexture,exports.useFBX=L.useFBX,exports.useGLTF=A.useGLTF,exports.useProgress=G.useProgress,exports.IsObject=D.IsObject,exports.useTexture=D.useTexture,exports.Reflector=w.Reflector,exports.Shadow=z.Shadow,exports.Stats=k.Stats,exports.Center=F.Center,exports.DepthBuffer=O.DepthBuffer,exports.useAspect=E.useAspect,exports.useCamera=I.useCamera,exports.useDetectGPU=y.useDetectGPU,exports.useHelper=H.useHelper,exports.useBVH=R.useBVH,exports.useContextBridge=V.useContextBridge,exports.useAnimations=Q.useAnimations,exports.useFBO=W.useFBO,exports.useSimplification=N.useSimplification,exports.useTessellation=U.useTessellation,exports.useEdgeSplit=X.useEdgeSplit,exports.CurveModifier=K.CurveModifier,exports.MeshDistortMaterial=_.MeshDistortMaterial,exports.MeshWobbleMaterial=J.MeshWobbleMaterial,exports.PointMaterial=Y.PointMaterial,exports.PointMaterialImpl=Y.PointMaterialImpl,exports.shaderMaterial=Z.shaderMaterial,exports.Sky=$.Sky,exports.calcPosFromAngles=$.calcPosFromAngles,exports.softShadows=ee.softShadows,exports.Stars=re.Stars,exports.ContactShadows=se.ContactShadows,exports.SpotLight=te.SpotLight,exports.Box=oe.Box,exports.Circle=oe.Circle,exports.Cone=oe.Cone,exports.Cylinder=oe.Cylinder,exports.Dodecahedron=oe.Dodecahedron,exports.Extrude=oe.Extrude,exports.Icosahedron=oe.Icosahedron,exports.Lathe=oe.Lathe,exports.Octahedron=oe.Octahedron,exports.Parametric=oe.Parametric,exports.Plane=oe.Plane,exports.Polyhedron=oe.Polyhedron,exports.Ring=oe.Ring,exports.Sphere=oe.Sphere,exports.Tetrahedron=oe.Tetrahedron,exports.Torus=oe.Torus,exports.TorusKnot=oe.TorusKnot,exports.Tube=oe.Tube,exports.RoundedBox=ie.RoundedBox,exports.ScreenQuad=ae.ScreenQuad,exports.useMatcapTexture=ue.useMatcapTexture,exports.useNormalTexture=ce.useNormalTexture,exports.Stage=je.Stage,exports.Point=pe.Point,exports.Points=pe.Points,exports.Instance=ne.Instance,exports.Instances=ne.Instances,exports.Merged=ne.Merged,exports.Detailed=le.Detailed,exports.Preload=xe.Preload,exports.BakeShadows=qe.BakeShadows,exports.meshBounds=de.meshBounds,exports.AdaptiveDpr=Ce.AdaptiveDpr,exports.AdaptiveEvents=he.AdaptiveEvents;
package/core/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from './Text';
8
8
  export * from './Environment';
9
9
  export * from './Effects';
10
10
  export * from './GradientTexture';
11
+ export * from './Image';
11
12
  export * from './OrthographicCamera';
12
13
  export * from './PerspectiveCamera';
13
14
  export * from './CameraShake';
package/core/index.js CHANGED
@@ -8,6 +8,7 @@ export { Text } from './Text.js';
8
8
  export { Environment } from './Environment.js';
9
9
  export { Effects, isWebGL2Available } from './Effects.js';
10
10
  export { GradientTexture } from './GradientTexture.js';
11
+ export { Image } from './Image.js';
11
12
  export { OrthographicCamera } from './OrthographicCamera.js';
12
13
  export { PerspectiveCamera } from './PerspectiveCamera.js';
13
14
  export { CameraShake } from './CameraShake.js';
@@ -1,6 +1,6 @@
1
1
  import * as THREE from 'three';
2
2
  export declare function shaderMaterial(uniforms: {
3
- [name: string]: THREE.CubeTexture | THREE.Texture | Int32Array | Float32Array | THREE.Matrix4 | THREE.Matrix3 | THREE.Quaternion | THREE.Vector4 | THREE.Vector3 | THREE.Vector2 | THREE.Color | number | boolean | Array<any>;
3
+ [name: string]: THREE.CubeTexture | THREE.Texture | Int32Array | Float32Array | THREE.Matrix4 | THREE.Matrix3 | THREE.Quaternion | THREE.Vector4 | THREE.Vector3 | THREE.Vector2 | THREE.Color | number | boolean | Array<any> | null;
4
4
  }, vertexShader: string, fragmentShader: string, onInit?: (material?: THREE.ShaderMaterial) => void): {
5
5
  new (): {
6
6
  type: string;