@react-three/drei 9.65.5 → 9.66.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("react"),t=require("@react-three/fiber");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 u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var n=u(e),o=u(r);exports.useCubeCamera=function({resolution:u=256,near:a=.1,far:c=1e3,envMap:s,fog:f}={}){const i=t.useThree((({gl:e})=>e)),b=t.useThree((({scene:e})=>e)),d=r.useMemo((()=>{const r=new e.WebGLCubeRenderTarget(u);return r.texture.encoding=i.outputEncoding,r.texture.type=e.HalfFloatType,r}),[u,i.outputEncoding]);r.useEffect((()=>()=>{d.dispose()}),[d]);const g=r.useMemo((()=>new n.CubeCamera(a,c,d)),[a,c,d]);let l,p;const O=o.useCallback((()=>{l=b.fog,p=b.background,b.background=s||p,b.fog=f||l,g.update(i,b),b.fog=l,b.background=p}),[i,b,g]);return{fbo:d,camera:g,update:O}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("react"),t=require("@react-three/fiber");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 u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var n=u(e),a=u(r);exports.useCubeCamera=function({resolution:u=256,near:o=.1,far:c=1e3,envMap:s,fog:f}={}){const b=t.useThree((({gl:e})=>e)),i=t.useThree((({scene:e})=>e)),l=r.useMemo((()=>{const r=new e.WebGLCubeRenderTarget(u);return r.texture.type=e.HalfFloatType,r}),[u]);r.useEffect((()=>()=>{l.dispose()}),[l]);const d=r.useMemo((()=>new n.CubeCamera(o,c,l)),[o,c,l]);let g,p;const O=a.useCallback((()=>{g=i.fog,p=i.background,i.background=s||p,i.fog=f||g,d.update(b,i),i.fog=g,i.background=p}),[b,i,d]);return{fbo:l,camera:d,update:O}};
@@ -19,10 +19,9 @@ function useCubeCamera({
19
19
  }) => scene);
20
20
  const fbo = useMemo(() => {
21
21
  const fbo = new WebGLCubeRenderTarget(resolution);
22
- fbo.texture.encoding = gl.outputEncoding;
23
22
  fbo.texture.type = HalfFloatType;
24
23
  return fbo;
25
- }, [resolution, gl.outputEncoding]);
24
+ }, [resolution]);
26
25
  useEffect(() => {
27
26
  return () => {
28
27
  fbo.dispose();
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber");function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var u=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,u.get?u:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var n=u(e),i=u(t);exports.useFBO=function(e,t,u){const{gl:o,size:s,viewport:a}=r.useThree(),p="number"==typeof e?e:s.width*a.dpr,c="number"==typeof t?t:s.height*a.dpr,f=("number"==typeof e?u:e)||{},{samples:l=0,depth:d,...b}=f,y=n.useMemo((()=>{let e;return e=new i.WebGLRenderTarget(p,c,{minFilter:i.LinearFilter,magFilter:i.LinearFilter,encoding:o.outputEncoding,type:i.HalfFloatType,...b}),d&&(e.depthTexture=new i.DepthTexture(p,c,i.FloatType)),e.samples=l,e}),[]);return n.useLayoutEffect((()=>{y.setSize(p,c),l&&(y.samples=l)}),[l,y,p,c]),n.useEffect((()=>()=>y.dispose()),[]),y};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("three"),t=require("@react-three/fiber");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 u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var n=u(e),i=u(r);exports.useFBO=function(e,r,u){const s=t.useThree((e=>e.size)),o=t.useThree((e=>e.viewport)),a="number"==typeof e?e:s.width*o.dpr,p="number"==typeof r?r:s.height*o.dpr,f=("number"==typeof e?u:e)||{},{samples:c=0,depth:l,...d}=f,b=n.useMemo((()=>{const e=new i.WebGLRenderTarget(a,p,{minFilter:i.LinearFilter,magFilter:i.LinearFilter,type:i.HalfFloatType,...d});return l&&(e.depthTexture=new i.DepthTexture(a,p,i.FloatType)),e.samples=c,e}),[]);return n.useLayoutEffect((()=>{b.setSize(a,p),c&&(b.samples=c)}),[c,b,a,p]),n.useEffect((()=>()=>b.dispose()),[]),b};
package/core/useFBO.js CHANGED
@@ -11,11 +11,8 @@ width,
11
11
  height,
12
12
  /**Settings */
13
13
  settings) {
14
- const {
15
- gl,
16
- size,
17
- viewport
18
- } = useThree();
14
+ const size = useThree(state => state.size);
15
+ const viewport = useThree(state => state.viewport);
19
16
 
20
17
  const _width = typeof width === 'number' ? width : size.width * viewport.dpr;
21
18
 
@@ -29,11 +26,9 @@ settings) {
29
26
  ...targetSettings
30
27
  } = _settings;
31
28
  const target = React.useMemo(() => {
32
- let target;
33
- target = new THREE.WebGLRenderTarget(_width, _height, {
29
+ const target = new THREE.WebGLRenderTarget(_width, _height, {
34
30
  minFilter: THREE.LinearFilter,
35
31
  magFilter: THREE.LinearFilter,
36
- encoding: gl.outputEncoding,
37
32
  type: THREE.HalfFloatType,
38
33
  ...targetSettings
39
34
  });
@@ -1 +1 @@
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};
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 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 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 u=o(e);exports.useVideoTexture=function(e,o){const{unsuspend:s,start:c,crossOrigin:i,muted:a,loop:d,...p}={unsuspend:"loadedmetadata",crossOrigin:"Anonymous",muted:!0,loop:!0,start:!0,playsInline:!0,...o},l=t.useThree((e=>e.gl)),f=n.suspend((()=>new Promise(((r,t)=>{const n=Object.assign(document.createElement("video"),{src:"string"==typeof e&&e||void 0,srcObject:e instanceof MediaStream&&e||void 0,crossOrigin:i,loop:d,muted:a,...p}),o=new u.VideoTexture(n);"colorSpace"in o?o.colorSpace=l.outputColorSpace:o.encoding=l.outputEncoding,n.addEventListener(s,(()=>r(o)))}))),[e]);return r.useEffect((()=>{c&&f.image.play()}),[f,c]),f};
@@ -31,7 +31,7 @@ function useVideoTexture(src, props) {
31
31
  ...rest
32
32
  });
33
33
  const texture = new THREE.VideoTexture(video);
34
- texture.encoding = gl.outputEncoding;
34
+ if ('colorSpace' in texture) texture.colorSpace = gl.outputColorSpace;else texture.encoding = gl.outputEncoding;
35
35
  video.addEventListener(unsuspend, () => res(texture));
36
36
  }), [src]);
37
37
  useEffect(() => void (start && texture.image.play()), [texture, start]);