@react-three/drei 10.4.0 → 10.4.2
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/core/Fbo.cjs.js +1 -1
- package/core/Fbo.d.ts +6 -7
- package/core/Fbo.js +3 -1
- package/index.cjs.js +1 -1
- package/package.json +1 -1
package/core/Fbo.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber");function n(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 u=n(e),i=n(t);function o(e,t,n){const o=r.useThree((e=>e.size)),s=r.useThree((e=>e.viewport)),a="number"==typeof e?e:o.width*s.dpr,l="number"==typeof t?t:o.height*s.dpr,f=("number"==typeof e?n:e)||{},{samples:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber");function n(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 u=n(e),i=n(t);function o(e,t,n){const o=r.useThree((e=>e.size)),s=r.useThree((e=>e.viewport)),a="number"==typeof e?e:o.width*s.dpr,l="number"==typeof t?t:o.height*s.dpr,f=("number"==typeof e?n:e)||{},{samples:p=0,depth:c,...d}=f,h=null!=c?c:f.depthBuffer,b=u.useMemo((()=>{const e=new i.WebGLRenderTarget(a,l,{minFilter:i.LinearFilter,magFilter:i.LinearFilter,type:i.HalfFloatType,...d});return h&&(e.depthTexture=new i.DepthTexture(a,l,i.FloatType)),e.samples=p,e}),[]);return u.useLayoutEffect((()=>{b.setSize(a,l),p&&(b.samples=p)}),[p,b,a,l]),u.useEffect((()=>()=>b.dispose()),[]),b}const s=e.forwardRef((({children:t,width:r,height:n,...i},s)=>{const a=o(r,n,i);return e.useImperativeHandle(s,(()=>a),[a]),u.createElement(u.Fragment,null,null==t?void 0:t(a))}));exports.Fbo=s,exports.useFBO=o;
|
package/core/Fbo.d.ts
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import * as THREE from 'three';
|
|
3
|
-
type
|
|
4
|
-
type WebGLRenderTargetOptions = WebGLRenderTargetCtorParams[2];
|
|
3
|
+
import { type WebGLRenderTargetOptions } from 'three';
|
|
5
4
|
type FBOSettings = {
|
|
6
5
|
depth?: boolean;
|
|
7
6
|
} & WebGLRenderTargetOptions;
|
|
8
|
-
export declare function useFBO(width?: number | FBOSettings, height?: number, settings?: FBOSettings): THREE.WebGLRenderTarget
|
|
7
|
+
export declare function useFBO(width?: number | FBOSettings, height?: number, settings?: FBOSettings): THREE.WebGLRenderTarget<THREE.Texture>;
|
|
9
8
|
type UseFBOParams = Parameters<typeof useFBO>;
|
|
10
9
|
type Fbo = ReturnType<typeof useFBO>;
|
|
11
10
|
export type FboProps = {
|
|
12
11
|
children?: (target: Fbo) => React.ReactNode;
|
|
13
|
-
width
|
|
14
|
-
height
|
|
12
|
+
width?: UseFBOParams[0];
|
|
13
|
+
height?: UseFBOParams[1];
|
|
15
14
|
} & FBOSettings;
|
|
16
15
|
export declare const Fbo: React.ForwardRefExoticComponent<{
|
|
17
16
|
children?: (target: Fbo) => React.ReactNode;
|
|
18
|
-
width
|
|
19
|
-
height
|
|
17
|
+
width?: UseFBOParams[0];
|
|
18
|
+
height?: UseFBOParams[1];
|
|
20
19
|
} & {
|
|
21
20
|
depth?: boolean;
|
|
22
21
|
} & THREE.WebGLRenderTargetOptions & React.RefAttributes<THREE.WebGLRenderTarget<THREE.Texture>>>;
|
package/core/Fbo.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { forwardRef } from 'react';
|
|
2
|
+
import { forwardRef, useImperativeHandle } from 'react';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { useThree } from '@react-three/fiber';
|
|
5
5
|
|
|
@@ -55,6 +55,8 @@ const Fbo = /* @__PURE__ */forwardRef(({
|
|
|
55
55
|
...settings
|
|
56
56
|
}, fref) => {
|
|
57
57
|
const target = useFBO(width, height, settings);
|
|
58
|
+
useImperativeHandle(fref, () => target, [target]); // expose target through ref
|
|
59
|
+
|
|
58
60
|
return /*#__PURE__*/React.createElement(React.Fragment, null, children == null ? void 0 : children(target));
|
|
59
61
|
});
|
|
60
62
|
|