@react-three/drei 7.25.0 → 7.25.4

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),a=require("@react-three/fiber"),n=require("three-stdlib");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(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)}var i=u(e),l=o(r),s=o(t);const c=l.forwardRef((({frames:e=1/0,opacity:r=1,width:t=1,height:u=1,blur:o=1,far:c=10,resolution:d=256,...f},h)=>{const m=a.useThree((({scene:e})=>e)),p=a.useThree((({gl:e})=>e)),g=l.useRef(),[b,M,v,w,T,y,x]=l.useMemo((()=>{const e=new s.WebGLRenderTarget(d,d),r=new s.WebGLRenderTarget(d,d);r.texture.generateMipmaps=e.texture.generateMipmaps=!1;const a=new s.PlaneBufferGeometry(t,u).rotateX(Math.PI/2),o=new s.Mesh(a),i=new s.MeshDepthMaterial;i.depthTest=i.depthWrite=!1,i.onBeforeCompile=e=>e.fragmentShader=e.fragmentShader.replace("1.0 - fragCoordZ ), opacity );","0.0 ), ( 1.0 - fragCoordZ ) * 1.0 );");const l=new s.ShaderMaterial(n.HorizontalBlurShader),c=new s.ShaderMaterial(n.VerticalBlurShader);return c.depthTest=l.depthTest=!1,[e,a,i,o,l,c,r]}),[d,t,u]);let R=0;return a.useFrame((()=>{if(g.current&&(e===1/0||R<e)){const e=m.background;m.background=null,m.overrideMaterial=v,p.setRenderTarget(b),p.render(m,g.current),m.overrideMaterial=null,w.material=T,w.material.uniforms.tDiffuse.value=b.texture,T.uniforms.h.value=o/256,p.setRenderTarget(x),p.render(w,g.current),w.material=y,w.material.uniforms.tDiffuse.value=x.texture,y.uniforms.v.value=o/256,p.setRenderTarget(b),p.render(w,g.current),p.setRenderTarget(null),m.background=e,R++}})),l.createElement("group",i.default({"rotation-x":Math.PI/2},f,{ref:h}),l.createElement("mesh",{geometry:M,scale:[1,-1,1],rotation:[-Math.PI/2,0,0]},l.createElement("meshBasicMaterial",{map:b.texture,transparent:!0,opacity:r})),l.createElement("orthographicCamera",{ref:g,args:[-t/2,t/2,u/2,-u/2,0,c]}))}));exports.ContactShadows=c;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),a=require("@react-three/fiber"),n=require("three-stdlib");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(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)}var i=u(e),s=o(r),l=o(t);const c=s.forwardRef((({scale:e,frames:r=1/0,opacity:t=1,width:u=1,height:o=1,blur:c=1,far:d=10,resolution:f=256,...h},m)=>{const p=a.useThree((({scene:e})=>e)),g=a.useThree((({gl:e})=>e)),b=s.useRef();u*=Array.isArray(e)?e[0]:e||1,o*=Array.isArray(e)?e[1]:e||1;const[M,y,v,w,T,x,R]=s.useMemo((()=>{const e=new l.WebGLRenderTarget(f,f),r=new l.WebGLRenderTarget(f,f);r.texture.generateMipmaps=e.texture.generateMipmaps=!1;const t=new l.PlaneBufferGeometry(u,o).rotateX(Math.PI/2),a=new l.Mesh(t),i=new l.MeshDepthMaterial;i.depthTest=i.depthWrite=!1,i.onBeforeCompile=e=>e.fragmentShader=e.fragmentShader.replace("1.0 - fragCoordZ ), opacity );","0.0 ), ( 1.0 - fragCoordZ ) * 1.0 );");const s=new l.ShaderMaterial(n.HorizontalBlurShader),c=new l.ShaderMaterial(n.VerticalBlurShader);return c.depthTest=s.depthTest=!1,[e,t,i,a,s,c,r]}),[f,u,o,e]);let j=0;return a.useFrame((()=>{if(b.current&&(r===1/0||j<r)){const e=p.background;p.background=null,p.overrideMaterial=v,g.setRenderTarget(M),g.render(p,b.current),p.overrideMaterial=null,w.material=T,w.material.uniforms.tDiffuse.value=M.texture,T.uniforms.h.value=c/256,g.setRenderTarget(R),g.render(w,b.current),w.material=x,w.material.uniforms.tDiffuse.value=R.texture,x.uniforms.v.value=c/256,g.setRenderTarget(M),g.render(w,b.current),g.setRenderTarget(null),p.background=e,j++}})),s.createElement("group",i.default({"rotation-x":Math.PI/2},h,{ref:m}),s.createElement("mesh",{geometry:y,scale:[1,-1,1],rotation:[-Math.PI/2,0,0]},s.createElement("meshBasicMaterial",{map:M.texture,transparent:!0,opacity:t})),s.createElement("orthographicCamera",{ref:b,args:[-u/2,u/2,o/2,-o/2,0,d]}))}));exports.ContactShadows=c;
@@ -1,24 +1,5 @@
1
1
  import * as React from 'react';
2
- import * as THREE from 'three';
3
- export declare const ContactShadows: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").Node<THREE.Group, typeof THREE.Group>, import("@react-three/fiber").NonFunctionKeys<{
4
- position?: import("@react-three/fiber").Vector3 | undefined;
5
- up?: import("@react-three/fiber").Vector3 | undefined;
6
- scale?: import("@react-three/fiber").Vector3 | undefined;
7
- rotation?: import("@react-three/fiber").Euler | undefined;
8
- matrix?: import("@react-three/fiber").Matrix4 | undefined;
9
- quaternion?: import("@react-three/fiber").Quaternion | undefined;
10
- layers?: import("@react-three/fiber").Layers | undefined;
11
- dispose?: (() => void) | null | undefined;
12
- }>> & {
13
- position?: import("@react-three/fiber").Vector3 | undefined;
14
- up?: import("@react-three/fiber").Vector3 | undefined;
15
- scale?: import("@react-three/fiber").Vector3 | undefined;
16
- rotation?: import("@react-three/fiber").Euler | undefined;
17
- matrix?: import("@react-three/fiber").Matrix4 | undefined;
18
- quaternion?: import("@react-three/fiber").Quaternion | undefined;
19
- layers?: import("@react-three/fiber").Layers | undefined;
20
- dispose?: (() => void) | null | undefined;
21
- } & import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers & {
2
+ export declare const ContactShadows: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").GroupProps, "scale"> & {
22
3
  opacity?: number | undefined;
23
4
  width?: number | undefined;
24
5
  height?: number | undefined;
@@ -26,4 +7,5 @@ export declare const ContactShadows: React.ForwardRefExoticComponent<Pick<Omit<i
26
7
  far?: number | undefined;
27
8
  resolution?: number | undefined;
28
9
  frames?: number | undefined;
10
+ scale?: number | [x: number, y: number] | undefined;
29
11
  }, "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" | "height" | "opacity" | "width" | "resolution" | "far" | "frames"> & React.RefAttributes<unknown>>;
@@ -5,6 +5,7 @@ import { useThree, useFrame } from '@react-three/fiber';
5
5
  import { HorizontalBlurShader, VerticalBlurShader } from 'three-stdlib';
6
6
 
7
7
  const ContactShadows = /*#__PURE__*/React.forwardRef(({
8
+ scale,
8
9
  frames = Infinity,
9
10
  opacity = 1,
10
11
  width = 1,
@@ -21,6 +22,8 @@ const ContactShadows = /*#__PURE__*/React.forwardRef(({
21
22
  gl
22
23
  }) => gl);
23
24
  const shadowCamera = React.useRef();
25
+ width = width * (Array.isArray(scale) ? scale[0] : scale || 1);
26
+ height = height * (Array.isArray(scale) ? scale[1] : scale || 1);
24
27
  const [renderTarget, planeGeometry, depthMaterial, blurPlane, horizontalBlurMaterial, verticalBlurMaterial, renderTargetBlur] = React.useMemo(() => {
25
28
  const renderTarget = new THREE.WebGLRenderTarget(resolution, resolution);
26
29
  const renderTargetBlur = new THREE.WebGLRenderTarget(resolution, resolution);
@@ -36,7 +39,7 @@ const ContactShadows = /*#__PURE__*/React.forwardRef(({
36
39
  const verticalBlurMaterial = new THREE.ShaderMaterial(VerticalBlurShader);
37
40
  verticalBlurMaterial.depthTest = horizontalBlurMaterial.depthTest = false;
38
41
  return [renderTarget, planeGeometry, depthMaterial, blurPlane, horizontalBlurMaterial, verticalBlurMaterial, renderTargetBlur];
39
- }, [resolution, width, height]);
42
+ }, [resolution, width, height, scale]);
40
43
  let count = 0;
41
44
  useFrame(() => {
42
45
  if (shadowCamera.current && (frames === Infinity || count < frames)) {
package/core/Sky.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three-stdlib"),i=require("three");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=n(e),u=a(t);function s(e,t,r=new i.Vector3){const n=Math.PI*(e-.5),a=2*Math.PI*(t-.5);return r.x=Math.cos(a),r.y=Math.sin(n),r.z=Math.sin(a),r}const c=u.forwardRef((({inclination:e=0,azimuth:t=.25,distance:n=100,mieCoefficient:a=.005,mieDirectionalG:c=.8,rayleigh:l=1,turbidity:f=2,sunPosition:m=s(e,t),...d},b)=>{const h=u.useMemo((()=>(new i.Vector3).setScalar(n)),[n]),[v]=u.useState((()=>new r.Sky));return u.createElement("primitive",o.default({dispose:void 0,object:v,ref:b,"material-uniforms-mieCoefficient-value":a,"material-uniforms-mieDirectionalG-value":c,"material-uniforms-rayleigh-value":l,"material-uniforms-sunPosition-value":m,"material-uniforms-turbidity-value":f,scale:h},d))}));exports.Sky=c,exports.calcPosFromAngles=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three-stdlib"),i=require("three");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=n(e),u=a(t);function s(e,t,r=new i.Vector3){const n=Math.PI*(e-.5),a=2*Math.PI*(t-.5);return r.x=Math.cos(a),r.y=Math.sin(n),r.z=Math.sin(a),r}const c=u.forwardRef((({inclination:e=.6,azimuth:t=.1,distance:n=1e3,mieCoefficient:a=.005,mieDirectionalG:c=.8,rayleigh:l=.5,turbidity:f=10,sunPosition:m=s(e,t),...d},b)=>{const h=u.useMemo((()=>(new i.Vector3).setScalar(n)),[n]),[v]=u.useState((()=>new r.Sky));return u.createElement("primitive",o.default({dispose:void 0,object:v,ref:b,"material-uniforms-mieCoefficient-value":a,"material-uniforms-mieDirectionalG-value":c,"material-uniforms-rayleigh-value":l,"material-uniforms-sunPosition-value":m,"material-uniforms-turbidity-value":f,scale:h},d))}));exports.Sky=c,exports.calcPosFromAngles=s;
package/core/Sky.js CHANGED
@@ -12,13 +12,13 @@ function calcPosFromAngles(inclination, azimuth, vector = new Vector3()) {
12
12
  return vector;
13
13
  }
14
14
  const Sky = /*#__PURE__*/React.forwardRef(({
15
- inclination = 0,
16
- azimuth = 0.25,
17
- distance = 100,
15
+ inclination = 0.6,
16
+ azimuth = 0.1,
17
+ distance = 1000,
18
18
  mieCoefficient = 0.005,
19
19
  mieDirectionalG = 0.8,
20
- rayleigh = 1,
21
- turbidity = 2,
20
+ rayleigh = 0.5,
21
+ turbidity = 10,
22
22
  sunPosition = calcPosFromAngles(inclination, azimuth),
23
23
  ...props
24
24
  }, ref) => {
@@ -15,7 +15,7 @@ export declare type TransformControlsProps = ReactThreeFiber.Object3DNode<Transf
15
15
  showX?: boolean;
16
16
  showY?: boolean;
17
17
  showZ?: boolean;
18
- children: React.ReactElement<THREE.Object3D>;
18
+ children?: React.ReactElement<THREE.Object3D>;
19
19
  camera?: THREE.Camera;
20
20
  onChange?: (e?: THREE.Event) => void;
21
21
  onMouseDown?: (e?: THREE.Event) => void;