@react-three/drei 9.107.1 → 9.107.3
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("three"),t=require("react"),n=require("@react-three/fiber"),a=require("./Fbo.cjs.js");function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("three"),t=require("react"),n=require("@react-three/fiber"),a=require("./Fbo.cjs.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(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=i(e),s=l(r),c=l(t);const o=c.forwardRef((({children:e,compute:r,width:t,height:i,samples:l=8,renderPriority:o=0,eventPriority:d=0,frames:g=1/0,stencilBuffer:p=!1,depthBuffer:m=!0,generateMipmaps:b=!1,...v},h)=>{const{size:x,viewport:y}=n.useThree(),j=a.useFBO((t||x.width)*y.dpr,(i||x.height)*y.dpr,{samples:l,stencilBuffer:p,depthBuffer:m,generateMipmaps:b}),[P]=c.useState((()=>new s.Scene)),O=c.useCallback(((e,r,t)=>{var n,a;let i=null==(n=j.texture)?void 0:n.__r3f.parent;for(;i&&!(i instanceof s.Object3D);)i=i.__r3f.parent;if(!i)return!1;t.raycaster.camera||t.events.compute(e,t,null==(a=t.previousRoot)?void 0:a.getState());const[l]=t.raycaster.intersectObject(i);if(!l)return!1;const u=l.uv;if(!u)return!1;r.raycaster.setFromCamera(r.pointer.set(2*u.x-1,2*u.y-1),r.camera)}),[]);return c.useImperativeHandle(h,(()=>j.texture),[j]),c.createElement(c.Fragment,null,n.createPortal(c.createElement(f,{renderPriority:o,frames:g,fbo:j},e,c.createElement("group",{onPointerOver:()=>null})),P,{events:{compute:r||O,priority:d}}),c.createElement("primitive",u.default({object:j.texture},v)))}));function f({frames:e,renderPriority:r,children:t,fbo:a}){let i,l,u,s,o=0;return n.useFrame((r=>{(e===1/0||o<e)&&(i=r.gl.autoClear,l=r.gl.xr.enabled,u=r.gl.getRenderTarget(),s=r.gl.xr.isPresenting,r.gl.autoClear=!0,r.gl.xr.enabled=!1,r.gl.xr.isPresenting=!1,r.gl.setRenderTarget(a),r.gl.render(r.scene,r.camera),r.gl.setRenderTarget(u),r.gl.autoClear=i,r.gl.xr.enabled=l,r.gl.xr.isPresenting=s,o++)}),r),c.createElement(c.Fragment,null,t)}exports.RenderTexture=o;
|
package/core/RenderTexture.js
CHANGED
|
@@ -78,17 +78,23 @@ function Container({
|
|
|
78
78
|
let count = 0;
|
|
79
79
|
let oldAutoClear;
|
|
80
80
|
let oldXrEnabled;
|
|
81
|
+
let oldRenderTarget;
|
|
82
|
+
let oldIsPresenting;
|
|
81
83
|
useFrame(state => {
|
|
82
84
|
if (frames === Infinity || count < frames) {
|
|
83
85
|
oldAutoClear = state.gl.autoClear;
|
|
84
86
|
oldXrEnabled = state.gl.xr.enabled;
|
|
87
|
+
oldRenderTarget = state.gl.getRenderTarget();
|
|
88
|
+
oldIsPresenting = state.gl.xr.isPresenting;
|
|
85
89
|
state.gl.autoClear = true;
|
|
86
90
|
state.gl.xr.enabled = false;
|
|
91
|
+
state.gl.xr.isPresenting = false;
|
|
87
92
|
state.gl.setRenderTarget(fbo);
|
|
88
93
|
state.gl.render(state.scene, state.camera);
|
|
89
|
-
state.gl.setRenderTarget(
|
|
94
|
+
state.gl.setRenderTarget(oldRenderTarget);
|
|
90
95
|
state.gl.autoClear = oldAutoClear;
|
|
91
96
|
state.gl.xr.enabled = oldXrEnabled;
|
|
97
|
+
state.gl.xr.isPresenting = oldIsPresenting;
|
|
92
98
|
count++;
|
|
93
99
|
}
|
|
94
100
|
}, renderPriority);
|
package/core/Texture.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
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);const o=e=>e===Object(e)&&!Array.isArray(e)&&"function"!=typeof e;function
|
|
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);const o=e=>e===Object(e)&&!Array.isArray(e)&&"function"!=typeof e;function a(u,n){const a=t.useThree((e=>e.gl)),c=t.useLoader(r.TextureLoader,o(u)?Object.values(u):u);e.useLayoutEffect((()=>{null==n||n(c)}),[n]),e.useEffect((()=>{if("initTexture"in a){let e=[];Array.isArray(c)?e=c:c instanceof r.Texture?e=[c]:o(c)&&(e=Object.values(c)),e.forEach((e=>{e instanceof r.Texture&&a.initTexture(e)}))}}),[a,c]);return e.useMemo((()=>{if(o(u)){const e={};let r=0;for(const t in u)e[t]=c[r++];return e}return c}),[u,c])}a.preload=e=>t.useLoader.preload(r.TextureLoader,e),a.clear=e=>t.useLoader.clear(r.TextureLoader,e);exports.IsObject=o,exports.Texture=({children:e,input:r,onLoad:t})=>{const u=a(r,t);return n.createElement(n.Fragment,null,null==e?void 0:e(u))},exports.useTexture=a;
|