@react-three/drei 9.15.0 → 9.17.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.
- package/README.md +37 -0
- package/core/CatmullRomLine.cjs.js +1 -0
- package/core/CatmullRomLine.d.ts +9 -0
- package/core/CatmullRomLine.js +44 -0
- package/core/GizmoHelper.cjs.js +1 -1
- package/core/GizmoHelper.d.ts +1 -1
- package/core/GizmoHelper.js +2 -2
- package/core/MarchingCubes.cjs.js +1 -0
- package/core/MarchingCubes.d.ts +78 -0
- package/core/MarchingCubes.js +73 -0
- package/core/PointMaterial.cjs.js +1 -1
- package/core/PointMaterial.js +5 -2
- package/core/index.cjs.js +1 -1
- package/core/index.d.ts +2 -0
- package/core/index.js +2 -0
- package/index.cjs.js +1 -1
- package/index.js +2 -0
- package/native/index.cjs.js +1 -1
- package/native/index.js +2 -0
- package/package.json +1 -1
- package/web/index.cjs.js +1 -1
- package/web/index.js +2 -0
package/README.md
CHANGED
|
@@ -60,6 +60,7 @@ The `native` route of the library **does not** export `Html` or `Loader`. The de
|
|
|
60
60
|
<li><a href="#line">Line</a></li>
|
|
61
61
|
<li><a href="#quadraticbezierline">QuadraticBezierLine</a></li>
|
|
62
62
|
<li><a href="#cubicbezierline">CubicBezierLine</a></li>
|
|
63
|
+
<li><a href="#catmullromline">CatmullRomLine</a></li>
|
|
63
64
|
<li><a href="#positionalaudio">PositionalAudio</a></li>
|
|
64
65
|
<li><a href="#billboard">Billboard</a></li>
|
|
65
66
|
<li><a href="#gizmohelper">GizmoHelper</a></li>
|
|
@@ -71,6 +72,7 @@ The `native` route of the library **does not** export `Html` or `Loader`. The de
|
|
|
71
72
|
<li><a href="#computedattribute">Computed Attribute</a></li>
|
|
72
73
|
<li><a href="#clone">Clone</a></li>
|
|
73
74
|
<li><a href="#useanimations">useAnimations</a></li>
|
|
75
|
+
<li><a href="#marchingcubes">MarchingCubes</a></li>
|
|
74
76
|
</ul>
|
|
75
77
|
<li><a href="#shaders">Shaders</a></li>
|
|
76
78
|
<ul>
|
|
@@ -569,6 +571,27 @@ Renders a THREE.Line2 using THREE.CubicBezierCurve3 for interpolation.
|
|
|
569
571
|
/>
|
|
570
572
|
```
|
|
571
573
|
|
|
574
|
+
#### CatmullRomLine
|
|
575
|
+
|
|
576
|
+
[](https://drei.vercel.app/?path=/story/abstractions-line--catmull-rom)
|
|
577
|
+
|
|
578
|
+
Renders a THREE.Line2 using THREE.CatmullRomCurve3 for interpolation.
|
|
579
|
+
|
|
580
|
+
```jsx
|
|
581
|
+
<CatmullRomLine
|
|
582
|
+
points={[[0, 0, 0], ...]} // Array of Points
|
|
583
|
+
closed={false} // Default
|
|
584
|
+
curveType="centripetal" // One of "centripetal" (default), "chordal", or "catmullrom"
|
|
585
|
+
tension={0.5} // Default (only applies to "catmullrom" curveType)
|
|
586
|
+
color="black" // Default
|
|
587
|
+
lineWidth={1} // In pixels (default)
|
|
588
|
+
dashed={false} // Default
|
|
589
|
+
vertexColors={[[0, 0, 0], ...]} // Optional array of RGB values for each point
|
|
590
|
+
{...lineProps} // All THREE.Line2 props are valid
|
|
591
|
+
{...materialProps} // All THREE.LineMaterial props are valid
|
|
592
|
+
/>
|
|
593
|
+
```
|
|
594
|
+
|
|
572
595
|
#### PositionalAudio
|
|
573
596
|
|
|
574
597
|
<p>
|
|
@@ -873,6 +896,20 @@ const { actions } = useAnimations(animations, scene)
|
|
|
873
896
|
return <primitive object={scene} />
|
|
874
897
|
```
|
|
875
898
|
|
|
899
|
+
#### MarchingCubes
|
|
900
|
+
|
|
901
|
+
[](https://drei.pmnd.rs/?path=/story/abstractions-marchingcubes--marching-cubes-story)
|
|
902
|
+
|
|
903
|
+
An abstraction for threes [MarchingCubes](https://threejs.org/examples/#webgl_marchingcubes)
|
|
904
|
+
|
|
905
|
+
```jsx
|
|
906
|
+
<MarchingCubes resolution={50} maxPolyCount={20000} enableUvs={false} enableColors={true}>
|
|
907
|
+
<MarchingCube strength={0.5} subtract={12} color={new Color('#f0f')} position={[0.5, 0.5, 0.5]} />
|
|
908
|
+
|
|
909
|
+
<MarchingPlane planeType="y" strength={0.5} subtract={12} />
|
|
910
|
+
</MarchingCubes>
|
|
911
|
+
```
|
|
912
|
+
|
|
876
913
|
# Shaders
|
|
877
914
|
|
|
878
915
|
#### MeshReflectorMaterial
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),n=require("./Line.cjs.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}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 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)}require("three-stdlib");var s=o(e),c=u(t);const l=c.forwardRef((function({points:e,closed:t=!1,curveType:o="centripetal",tension:u=.5,segments:l=20,vertexColors:i,...f},a){const p=c.useMemo((()=>{const n=e.map((e=>e instanceof r.Vector3?e:new r.Vector3(...e)));return new r.CatmullRomCurve3(n,t,o,u)}),[e,t,o,u]),d=c.useMemo((()=>p.getPoints(l)),[p,l]),m=c.useMemo((()=>{if(!i||i.length<2)return;if(i.length===l+1)return i;const e=i.map((e=>e instanceof r.Color?e:new r.Color(...e)));t&&e.push(e[0].clone());const n=[e[0]],o=l/(e.length-1);for(let t=1;t<l;t++){const r=t%o/o,u=Math.floor(t/o);n.push(e[u].clone().lerp(e[u+1],r))}return n.push(e[e.length-1]),n}),[i,l]);return c.createElement(n.Line,s.default({ref:a,points:d,vertexColors:m},f))}));exports.CatmullRomLine=l;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Line2 } from 'three/examples/jsm/lines/Line2';
|
|
3
|
+
import { LineProps } from './Line';
|
|
4
|
+
export declare const CatmullRomLine: React.ForwardRefExoticComponent<Omit<LineProps, "ref"> & {
|
|
5
|
+
closed?: boolean | undefined;
|
|
6
|
+
curveType?: "centripetal" | "chordal" | "catmullrom" | undefined;
|
|
7
|
+
tension?: number | undefined;
|
|
8
|
+
segments?: number | undefined;
|
|
9
|
+
} & React.RefAttributes<Line2>>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Vector3, CatmullRomCurve3, Color } from 'three';
|
|
4
|
+
import { Line } from './Line.js';
|
|
5
|
+
|
|
6
|
+
const CatmullRomLine = /*#__PURE__*/React.forwardRef(function CatmullRomLine({
|
|
7
|
+
points,
|
|
8
|
+
closed = false,
|
|
9
|
+
curveType = 'centripetal',
|
|
10
|
+
tension = 0.5,
|
|
11
|
+
segments = 20,
|
|
12
|
+
vertexColors,
|
|
13
|
+
...rest
|
|
14
|
+
}, ref) {
|
|
15
|
+
const curve = React.useMemo(() => {
|
|
16
|
+
const mappedPoints = points.map(pt => pt instanceof Vector3 ? pt : new Vector3(...pt));
|
|
17
|
+
return new CatmullRomCurve3(mappedPoints, closed, curveType, tension);
|
|
18
|
+
}, [points, closed, curveType, tension]);
|
|
19
|
+
const segmentedPoints = React.useMemo(() => curve.getPoints(segments), [curve, segments]);
|
|
20
|
+
const interpolatedVertexColors = React.useMemo(() => {
|
|
21
|
+
if (!vertexColors || vertexColors.length < 2) return undefined;
|
|
22
|
+
if (vertexColors.length === segments + 1) return vertexColors;
|
|
23
|
+
const mappedColors = vertexColors.map(color => color instanceof Color ? color : new Color(...color));
|
|
24
|
+
if (closed) mappedColors.push(mappedColors[0].clone());
|
|
25
|
+
const iColors = [mappedColors[0]];
|
|
26
|
+
const divisions = segments / (mappedColors.length - 1);
|
|
27
|
+
|
|
28
|
+
for (let i = 1; i < segments; i++) {
|
|
29
|
+
const alpha = i % divisions / divisions;
|
|
30
|
+
const colorIndex = Math.floor(i / divisions);
|
|
31
|
+
iColors.push(mappedColors[colorIndex].clone().lerp(mappedColors[colorIndex + 1], alpha));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
iColors.push(mappedColors[mappedColors.length - 1]);
|
|
35
|
+
return iColors;
|
|
36
|
+
}, [vertexColors, segments]);
|
|
37
|
+
return /*#__PURE__*/React.createElement(Line, _extends({
|
|
38
|
+
ref: ref,
|
|
39
|
+
points: segmentedPoints,
|
|
40
|
+
vertexColors: interpolatedVertexColors
|
|
41
|
+
}, rest));
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
export { CatmullRomLine };
|
package/core/GizmoHelper.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("@react-three/fiber"),t=require("three"),n=require("./OrthographicCamera.cjs.js"),u=require("./useCamera.cjs.js");function a(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)}require("@babel/runtime/helpers/extends"),require("react-merge-refs");var o=a(e);const c=o.createContext({}),i=2*Math.PI,s=new t.Object3D,l=new t.Matrix4,[p,d]=[new t.Quaternion,new t.Quaternion],f=new t.Vector3,h=new t.Vector3;exports.GizmoHelper=({alignment:e="bottom-right",margin:a=[80,80],renderPriority:m=0,autoClear:g=!0,onUpdate:b,onTarget:y,children:w})=>{const v=r.useThree((({size:e})=>e)),j=r.useThree((({camera:e})=>e)),q=r.useThree((({controls:e})=>e)),C=r.useThree((({gl:e})=>e)),x=r.useThree((({scene:e})=>e)),O=r.useThree((({invalidate:e})=>e)),T=o.useRef(),k=o.useRef(),R=o.useRef(null),[P]=o.useState((()=>new t.Scene)),M=o.useRef(!1),z=o.useRef(0),E=o.useRef(new t.Vector3(0,0,0)),Q=o.useRef(new t.Vector3(0,0,0)),S=o.useCallback((e=>{M.current=!0,(q||y)&&(E.current=(null==q?void 0:q.target)||(null==y?void 0:y())),z.current=j.position.distanceTo(f),p.copy(j.quaternion),h.copy(e).multiplyScalar(z.current).add(f),s.lookAt(h),d.copy(s.quaternion),Q.current.copy(j.up),O()}),[q,j,y,O]);o.useEffect((()=>(x.background&&(T.current=x.background,x.background=null,P.background=T.current),()=>{T.current&&(x.background=T.current)})),[]),r.useFrame(((e,r)=>{if(R.current&&k.current){var t;if(M.current)if(p.angleTo(d)<.01)M.current=!1,j.up.copy(Q.current);else{const e=r*i;p.rotateTowards(d,e),j.position.set(0,0,1).applyQuaternion(p).multiplyScalar(z.current).add(E.current),j.up.set(0,1,0).applyQuaternion(p).normalize(),j.quaternion.copy(p),b?b():q&&q.update(),O()}l.copy(j.matrix).invert(),null==(t=k.current)||t.quaternion.setFromRotationMatrix(l),g&&(C.autoClear=!1),C.clearDepth(),C.render(P,R.current)}}),m);const V=u.useCamera(R),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("@react-three/fiber"),t=require("three"),n=require("./OrthographicCamera.cjs.js"),u=require("./useCamera.cjs.js");function a(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)}require("@babel/runtime/helpers/extends"),require("react-merge-refs");var o=a(e);const c=o.createContext({}),i=2*Math.PI,s=new t.Object3D,l=new t.Matrix4,[p,d]=[new t.Quaternion,new t.Quaternion],f=new t.Vector3,h=new t.Vector3;exports.GizmoHelper=({alignment:e="bottom-right",margin:a=[80,80],renderPriority:m=0,autoClear:g=!0,onUpdate:b,onTarget:y,children:w})=>{const v=r.useThree((({size:e})=>e)),j=r.useThree((({camera:e})=>e)),q=r.useThree((({controls:e})=>e)),C=r.useThree((({gl:e})=>e)),x=r.useThree((({scene:e})=>e)),O=r.useThree((({invalidate:e})=>e)),T=o.useRef(),k=o.useRef(),R=o.useRef(null),[P]=o.useState((()=>new t.Scene)),M=o.useRef(!1),z=o.useRef(0),E=o.useRef(new t.Vector3(0,0,0)),Q=o.useRef(new t.Vector3(0,0,0)),S=o.useCallback((e=>{M.current=!0,(q||y)&&(E.current=(null==q?void 0:q.target)||(null==y?void 0:y())),z.current=j.position.distanceTo(f),p.copy(j.quaternion),h.copy(e).multiplyScalar(z.current).add(f),s.lookAt(h),d.copy(s.quaternion),Q.current.copy(j.up),O()}),[q,j,y,O]);o.useEffect((()=>(x.background&&(T.current=x.background,x.background=null,P.background=T.current),()=>{T.current&&(x.background=T.current)})),[]),r.useFrame(((e,r)=>{if(R.current&&k.current){var t;if(M.current)if(p.angleTo(d)<.01)M.current=!1,j.up.copy(Q.current);else{const e=r*i;p.rotateTowards(d,e),j.position.set(0,0,1).applyQuaternion(p).multiplyScalar(z.current).add(E.current),j.up.set(0,1,0).applyQuaternion(p).normalize(),j.quaternion.copy(p),b?b():q&&q.update(),O()}l.copy(j.matrix).invert(),null==(t=k.current)||t.quaternion.setFromRotationMatrix(l),g&&(C.autoClear=!1),C.clearDepth(),C.render(P,R.current)}}),m);const V=u.useCamera(R),W=o.useMemo((()=>({tweenCamera:S,raycast:V})),[S]),[_,D]=a,F=e.endsWith("-center")?0:e.endsWith("-left")?-v.width/2+_:v.width/2-_,G=e.startsWith("center-")?0:e.startsWith("top-")?v.height/2-D:-v.height/2+D;return r.createPortal(o.createElement(c.Provider,{value:W},o.createElement(n.OrthographicCamera,{ref:R,position:[0,0,200]}),o.createElement("group",{ref:k,position:[F,G,0]},w)),P)},exports.useGizmoContext=()=>o.useContext(c);
|
package/core/GizmoHelper.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ declare type GizmoHelperContext = {
|
|
|
5
5
|
};
|
|
6
6
|
export declare const useGizmoContext: () => GizmoHelperContext;
|
|
7
7
|
export declare type GizmoHelperProps = JSX.IntrinsicElements['group'] & {
|
|
8
|
-
alignment?: 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left';
|
|
8
|
+
alignment?: 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left' | 'bottom-center' | 'center-right' | 'center-left' | 'center-center' | 'top-center';
|
|
9
9
|
margin?: [number, number];
|
|
10
10
|
renderPriority?: number;
|
|
11
11
|
autoClear?: boolean;
|
package/core/GizmoHelper.js
CHANGED
|
@@ -115,8 +115,8 @@ const GizmoHelper = ({
|
|
|
115
115
|
}), [tweenCamera]); // Position gizmo component within scene
|
|
116
116
|
|
|
117
117
|
const [marginX, marginY] = margin;
|
|
118
|
-
const x = alignment.endsWith('-left') ? -size.width / 2 + marginX : size.width / 2 - marginX;
|
|
119
|
-
const y = alignment.startsWith('top-') ? size.height / 2 - marginY : -size.height / 2 + marginY;
|
|
118
|
+
const x = alignment.endsWith('-center') ? 0 : alignment.endsWith('-left') ? -size.width / 2 + marginX : size.width / 2 - marginX;
|
|
119
|
+
const y = alignment.startsWith('center-') ? 0 : alignment.startsWith('top-') ? size.height / 2 - marginY : -size.height / 2 + marginY;
|
|
120
120
|
return createPortal( /*#__PURE__*/React.createElement(Context.Provider, {
|
|
121
121
|
value: gizmoHelperContext
|
|
122
122
|
}, /*#__PURE__*/React.createElement(OrthographicCamera, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),n=require("react-merge-refs"),u=require("three-stdlib"),a=require("@react-three/fiber");function o(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 c=o(e),s=l(r),f=o(n);const i=s.createContext(null),d=s.forwardRef((({resolution:e=28,maxPolyCount:r=1e4,enableUvs:n=!1,enableColors:o=!1,children:l,...d},b)=>{const m=s.useRef(null),p=s.useMemo((()=>new u.MarchingCubes(e,new t.MeshStandardMaterial,n,o,r)),[e,r,n,o]),g=s.useMemo((()=>({getParent:()=>m})),[]);return a.useFrame((()=>{p.reset()}),-1),s.createElement(s.Fragment,null,s.createElement("primitive",c.default({object:p,ref:f.default([m,b])},d),s.createElement(i.Provider,{value:g},l)))})),b=s.forwardRef((({strength:e=.5,subtract:r=12,color:n=new t.Color("#fff"),...u},o)=>{const{getParent:l}=s.useContext(i),d=s.useMemo((()=>l()),[l]),b=s.useRef();return a.useFrame((()=>{d.current&&b.current&&d.current.addBall(b.current.position.x,b.current.position.y,b.current.position.z,e,r,n)})),s.createElement("group",c.default({ref:f.default([o,b])},u))})),m=s.forwardRef((({planeType:e="x",strength:r=.5,subtract:t=12,...n},u)=>{const{getParent:o}=s.useContext(i),l=s.useMemo((()=>o()),[o]),d=s.useRef(),b=s.useMemo((()=>"x"===e?"addPlaneX":"y"===e?"addPlaneY":"addPlaneZ"),[e]);return a.useFrame((()=>{l.current&&d.current&&l.current[b](r,t)})),s.createElement("group",c.default({ref:f.default([u,d])},n))}));exports.MarchingCube=b,exports.MarchingCubes=d,exports.MarchingPlane=m;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Color, Group } from 'three';
|
|
3
|
+
export declare type MarchingCubesProps = {
|
|
4
|
+
resolution?: number;
|
|
5
|
+
maxPolyCount?: number;
|
|
6
|
+
enableUvs?: boolean;
|
|
7
|
+
enableColors?: boolean;
|
|
8
|
+
} & JSX.IntrinsicElements['group'];
|
|
9
|
+
export declare const MarchingCubes: React.ForwardRefExoticComponent<Pick<{
|
|
10
|
+
resolution?: number | undefined;
|
|
11
|
+
maxPolyCount?: number | undefined;
|
|
12
|
+
enableUvs?: boolean | undefined;
|
|
13
|
+
enableColors?: boolean | undefined;
|
|
14
|
+
} & Omit<import("@react-three/fiber").ExtendedColors<import("@react-three/fiber").Overwrite<Partial<Group>, import("@react-three/fiber").NodeProps<Group, typeof Group>>>, import("@react-three/fiber").NonFunctionKeys<{
|
|
15
|
+
position?: import("@react-three/fiber").Vector3 | undefined;
|
|
16
|
+
up?: import("@react-three/fiber").Vector3 | undefined;
|
|
17
|
+
scale?: import("@react-three/fiber").Vector3 | undefined;
|
|
18
|
+
rotation?: import("@react-three/fiber").Euler | undefined;
|
|
19
|
+
matrix?: import("@react-three/fiber").Matrix4 | undefined;
|
|
20
|
+
quaternion?: import("@react-three/fiber").Quaternion | undefined;
|
|
21
|
+
layers?: import("@react-three/fiber").Layers | undefined;
|
|
22
|
+
dispose?: (() => void) | null | undefined;
|
|
23
|
+
}>> & {
|
|
24
|
+
position?: import("@react-three/fiber").Vector3 | undefined;
|
|
25
|
+
up?: import("@react-three/fiber").Vector3 | undefined;
|
|
26
|
+
scale?: import("@react-three/fiber").Vector3 | undefined;
|
|
27
|
+
rotation?: import("@react-three/fiber").Euler | undefined;
|
|
28
|
+
matrix?: import("@react-three/fiber").Matrix4 | undefined;
|
|
29
|
+
quaternion?: import("@react-three/fiber").Quaternion | undefined;
|
|
30
|
+
layers?: import("@react-three/fiber").Layers | undefined;
|
|
31
|
+
dispose?: (() => void) | null | undefined;
|
|
32
|
+
} & import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers, "visible" | "attach" | "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" | "removeFromParent" | "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 | "resolution" | "maxPolyCount" | "enableUvs" | "enableColors"> & React.RefAttributes<unknown>>;
|
|
33
|
+
export declare const MarchingCube: React.ForwardRefExoticComponent<Pick<{
|
|
34
|
+
strength?: number | undefined;
|
|
35
|
+
subtract?: number | undefined;
|
|
36
|
+
color?: Color | undefined;
|
|
37
|
+
} & Omit<import("@react-three/fiber").ExtendedColors<import("@react-three/fiber").Overwrite<Partial<Group>, import("@react-three/fiber").NodeProps<Group, typeof Group>>>, import("@react-three/fiber").NonFunctionKeys<{
|
|
38
|
+
position?: import("@react-three/fiber").Vector3 | undefined;
|
|
39
|
+
up?: import("@react-three/fiber").Vector3 | undefined;
|
|
40
|
+
scale?: import("@react-three/fiber").Vector3 | undefined;
|
|
41
|
+
rotation?: import("@react-three/fiber").Euler | undefined;
|
|
42
|
+
matrix?: import("@react-three/fiber").Matrix4 | undefined;
|
|
43
|
+
quaternion?: import("@react-three/fiber").Quaternion | undefined;
|
|
44
|
+
layers?: import("@react-three/fiber").Layers | undefined;
|
|
45
|
+
dispose?: (() => void) | null | undefined;
|
|
46
|
+
}>> & {
|
|
47
|
+
position?: import("@react-three/fiber").Vector3 | undefined;
|
|
48
|
+
up?: import("@react-three/fiber").Vector3 | undefined;
|
|
49
|
+
scale?: import("@react-three/fiber").Vector3 | undefined;
|
|
50
|
+
rotation?: import("@react-three/fiber").Euler | undefined;
|
|
51
|
+
matrix?: import("@react-three/fiber").Matrix4 | undefined;
|
|
52
|
+
quaternion?: import("@react-three/fiber").Quaternion | undefined;
|
|
53
|
+
layers?: import("@react-three/fiber").Layers | undefined;
|
|
54
|
+
dispose?: (() => void) | null | undefined;
|
|
55
|
+
} & import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers, "visible" | "attach" | "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" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "color" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "subtract" | "strength"> & React.RefAttributes<unknown>>;
|
|
56
|
+
export declare const MarchingPlane: React.ForwardRefExoticComponent<Pick<{
|
|
57
|
+
planeType?: "x" | "y" | "z" | undefined;
|
|
58
|
+
strength?: number | undefined;
|
|
59
|
+
subtract?: number | undefined;
|
|
60
|
+
} & Omit<import("@react-three/fiber").ExtendedColors<import("@react-three/fiber").Overwrite<Partial<Group>, import("@react-three/fiber").NodeProps<Group, typeof Group>>>, import("@react-three/fiber").NonFunctionKeys<{
|
|
61
|
+
position?: import("@react-three/fiber").Vector3 | undefined;
|
|
62
|
+
up?: import("@react-three/fiber").Vector3 | undefined;
|
|
63
|
+
scale?: import("@react-three/fiber").Vector3 | undefined;
|
|
64
|
+
rotation?: import("@react-three/fiber").Euler | undefined;
|
|
65
|
+
matrix?: import("@react-three/fiber").Matrix4 | undefined;
|
|
66
|
+
quaternion?: import("@react-three/fiber").Quaternion | undefined;
|
|
67
|
+
layers?: import("@react-three/fiber").Layers | undefined;
|
|
68
|
+
dispose?: (() => void) | null | undefined;
|
|
69
|
+
}>> & {
|
|
70
|
+
position?: import("@react-three/fiber").Vector3 | undefined;
|
|
71
|
+
up?: import("@react-three/fiber").Vector3 | undefined;
|
|
72
|
+
scale?: import("@react-three/fiber").Vector3 | undefined;
|
|
73
|
+
rotation?: import("@react-three/fiber").Euler | undefined;
|
|
74
|
+
matrix?: import("@react-three/fiber").Matrix4 | undefined;
|
|
75
|
+
quaternion?: import("@react-three/fiber").Quaternion | undefined;
|
|
76
|
+
layers?: import("@react-three/fiber").Layers | undefined;
|
|
77
|
+
dispose?: (() => void) | null | undefined;
|
|
78
|
+
} & import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers, "visible" | "attach" | "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" | "removeFromParent" | "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 | "subtract" | "strength" | "planeType"> & React.RefAttributes<unknown>>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { MeshStandardMaterial, Color } from 'three';
|
|
4
|
+
import mergeRefs from 'react-merge-refs';
|
|
5
|
+
import { MarchingCubes as MarchingCubes$1 } from 'three-stdlib';
|
|
6
|
+
import { useFrame } from '@react-three/fiber';
|
|
7
|
+
|
|
8
|
+
const globalContext = /*#__PURE__*/React.createContext(null);
|
|
9
|
+
const MarchingCubes = /*#__PURE__*/React.forwardRef(({
|
|
10
|
+
resolution = 28,
|
|
11
|
+
maxPolyCount = 10000,
|
|
12
|
+
enableUvs = false,
|
|
13
|
+
enableColors = false,
|
|
14
|
+
children,
|
|
15
|
+
...props
|
|
16
|
+
}, ref) => {
|
|
17
|
+
const marchingCubesRef = React.useRef(null);
|
|
18
|
+
const marchingCubes = React.useMemo(() => new MarchingCubes$1(resolution, new MeshStandardMaterial(), enableUvs, enableColors, maxPolyCount), [resolution, maxPolyCount, enableUvs, enableColors]);
|
|
19
|
+
const api = React.useMemo(() => ({
|
|
20
|
+
getParent: () => marchingCubesRef
|
|
21
|
+
}), []);
|
|
22
|
+
useFrame(() => {
|
|
23
|
+
marchingCubes.reset();
|
|
24
|
+
}, -1); // To make sure the reset runs before the balls or planes are added
|
|
25
|
+
|
|
26
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("primitive", _extends({
|
|
27
|
+
object: marchingCubes,
|
|
28
|
+
ref: mergeRefs([marchingCubesRef, ref])
|
|
29
|
+
}, props), /*#__PURE__*/React.createElement(globalContext.Provider, {
|
|
30
|
+
value: api
|
|
31
|
+
}, children)));
|
|
32
|
+
});
|
|
33
|
+
const MarchingCube = /*#__PURE__*/React.forwardRef(({
|
|
34
|
+
strength = 0.5,
|
|
35
|
+
subtract = 12,
|
|
36
|
+
color = new Color('#fff'),
|
|
37
|
+
...props
|
|
38
|
+
}, ref) => {
|
|
39
|
+
const {
|
|
40
|
+
getParent
|
|
41
|
+
} = React.useContext(globalContext);
|
|
42
|
+
const parentRef = React.useMemo(() => getParent(), [getParent]);
|
|
43
|
+
const cubeRef = React.useRef();
|
|
44
|
+
useFrame(() => {
|
|
45
|
+
if (!parentRef.current || !cubeRef.current) return;
|
|
46
|
+
parentRef.current.addBall(cubeRef.current.position.x, cubeRef.current.position.y, cubeRef.current.position.z, strength, subtract, color);
|
|
47
|
+
});
|
|
48
|
+
return /*#__PURE__*/React.createElement("group", _extends({
|
|
49
|
+
ref: mergeRefs([ref, cubeRef])
|
|
50
|
+
}, props));
|
|
51
|
+
});
|
|
52
|
+
const MarchingPlane = /*#__PURE__*/React.forwardRef(({
|
|
53
|
+
planeType: _planeType = 'x',
|
|
54
|
+
strength = 0.5,
|
|
55
|
+
subtract = 12,
|
|
56
|
+
...props
|
|
57
|
+
}, ref) => {
|
|
58
|
+
const {
|
|
59
|
+
getParent
|
|
60
|
+
} = React.useContext(globalContext);
|
|
61
|
+
const parentRef = React.useMemo(() => getParent(), [getParent]);
|
|
62
|
+
const wallRef = React.useRef();
|
|
63
|
+
const planeType = React.useMemo(() => _planeType === 'x' ? 'addPlaneX' : _planeType === 'y' ? 'addPlaneY' : 'addPlaneZ', [_planeType]);
|
|
64
|
+
useFrame(() => {
|
|
65
|
+
if (!parentRef.current || !wallRef.current) return;
|
|
66
|
+
parentRef.current[planeType](strength, subtract);
|
|
67
|
+
});
|
|
68
|
+
return /*#__PURE__*/React.createElement("group", _extends({
|
|
69
|
+
ref: mergeRefs([ref, wallRef])
|
|
70
|
+
}, props));
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
export { MarchingCube, MarchingCubes, MarchingPlane };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}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 a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=a(e),l=n(t),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}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 a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=a(e),l=n(t),i=n(r);class u extends l.PointsMaterial{constructor(e){super(e),this.onBeforeCompile=(e,t)=>{const{isWebGL2:r}=t.capabilities;e.fragmentShader=e.fragmentShader.replace("#include <output_fragment>",`\n ${r?"#include <output_fragment>":"#extension GL_OES_standard_derivatives : enable\n#include <output_fragment>"}\n vec2 cxy = 2.0 * gl_PointCoord - 1.0;\n float r = dot(cxy, cxy);\n float delta = fwidth(r); \n float mask = 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r);\n gl_FragColor = vec4(gl_FragColor.rgb, mask * gl_FragColor.a );\n `)}}}const c=i.forwardRef(((e,t)=>{const[r]=i.useState((()=>new u(null)));return i.createElement("primitive",o.default({},e,{object:r,ref:t,attach:"material"}))}));exports.PointMaterial=c,exports.PointMaterialImpl=u;
|
package/core/PointMaterial.js
CHANGED
|
@@ -6,9 +6,12 @@ class PointMaterialImpl extends THREE.PointsMaterial {
|
|
|
6
6
|
constructor(props) {
|
|
7
7
|
super(props);
|
|
8
8
|
|
|
9
|
-
this.onBeforeCompile = shader => {
|
|
9
|
+
this.onBeforeCompile = (shader, renderer) => {
|
|
10
|
+
const {
|
|
11
|
+
isWebGL2
|
|
12
|
+
} = renderer.capabilities;
|
|
10
13
|
shader.fragmentShader = shader.fragmentShader.replace('#include <output_fragment>', `
|
|
11
|
-
#include <output_fragment>
|
|
14
|
+
${!isWebGL2 ? '#extension GL_OES_standard_derivatives : enable\n#include <output_fragment>' : '#include <output_fragment>'}
|
|
12
15
|
vec2 cxy = 2.0 * gl_PointCoord - 1.0;
|
|
13
16
|
float r = dot(cxy, cxy);
|
|
14
17
|
float delta = fwidth(r);
|
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("./QuadraticBezierLine.cjs.js"),s=require("./CubicBezierLine.cjs.js"),t=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./QuadraticBezierLine.cjs.js"),s=require("./CubicBezierLine.cjs.js"),t=require("./CatmullRomLine.cjs.js"),o=require("./Line.cjs.js"),i=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),a=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),c=require("./Image.cjs.js"),p=require("./Edges.cjs.js"),x=require("./Trail.cjs.js"),l=require("./Sampler.cjs.js"),q=require("./ComputedAttribute.cjs.js"),d=require("./Clone.cjs.js"),C=require("./MarchingCubes.cjs.js"),m=require("./OrthographicCamera.cjs.js"),h=require("./PerspectiveCamera.cjs.js"),b=require("./CubeCamera.cjs.js"),M=require("./DeviceOrientationControls.cjs.js"),B=require("./FlyControls.cjs.js"),S=require("./MapControls.cjs.js"),P=require("./OrbitControls.cjs.js"),T=require("./TrackballControls.cjs.js"),g=require("./ArcballControls.cjs.js"),f=require("./TransformControls.cjs.js"),v=require("./PointerLockControls.cjs.js"),L=require("./FirstPersonControls.cjs.js"),k=require("./GizmoHelper.cjs.js"),A=require("./GizmoViewcube.cjs.js"),E=require("./GizmoViewport.cjs.js"),D=require("./useCubeTexture.cjs.js"),G=require("./useFBX.cjs.js"),F=require("./useGLTF.cjs.js"),O=require("./useProgress.cjs.js"),w=require("./useTexture.cjs.js"),z=require("./useKTX2.cjs.js"),R=require("./Stats.cjs.js"),I=require("./useDepthBuffer.cjs.js"),y=require("./useAspect.cjs.js"),H=require("./useCamera.cjs.js"),V=require("./useDetectGPU.cjs.js"),Q=require("./useHelper.cjs.js"),X=require("./useBVH.cjs.js"),K=require("./useContextBridge.cjs.js"),W=require("./useAnimations.cjs.js"),N=require("./useFBO.cjs.js"),U=require("./useIntersect.cjs.js"),_=require("./useBoxProjectedEnv.cjs.js"),J=require("./BBAnchor.cjs.js"),Y=require("./CurveModifier.cjs.js"),Z=require("./MeshDistortMaterial.cjs.js"),$=require("./MeshWobbleMaterial.cjs.js"),ee=require("./MeshReflectorMaterial.cjs.js"),re=require("./PointMaterial.cjs.js"),se=require("./shaderMaterial.cjs.js"),te=require("./softShadows.cjs.js"),oe=require("./shapes.cjs.js"),ie=require("./RoundedBox.cjs.js"),ue=require("./ScreenQuad.cjs.js"),ae=require("./Center.cjs.js"),ne=require("./Bounds.cjs.js"),je=require("./CameraShake.cjs.js"),ce=require("./Float.cjs.js"),pe=require("./Stage.cjs.js"),xe=require("./Backdrop.cjs.js"),le=require("./Shadow.cjs.js"),qe=require("./ContactShadows.cjs.js"),de=require("./Reflector.cjs.js"),Ce=require("./SpotLight.cjs.js"),me=require("./Environment.cjs.js"),he=require("./Lightformer.cjs.js"),be=require("./Sky.cjs.js"),Me=require("./Stars.cjs.js"),Be=require("./Cloud.cjs.js"),Se=require("./Sparkles.cjs.js"),Pe=require("./useMatcapTexture.cjs.js"),Te=require("./useNormalTexture.cjs.js"),ge=require("./Points.cjs.js"),fe=require("./Instances.cjs.js"),ve=require("./Segments.cjs.js"),Le=require("./Detailed.cjs.js"),ke=require("./Preload.cjs.js"),Ae=require("./BakeShadows.cjs.js"),Ee=require("./meshBounds.cjs.js"),De=require("./AdaptiveDpr.cjs.js"),Ge=require("./AdaptiveEvents.cjs.js"),Fe=require("./RenderTexture.cjs.js"),Oe=require("./Mask.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.QuadraticBezierLine=r.QuadraticBezierLine,exports.CubicBezierLine=s.CubicBezierLine,exports.CatmullRomLine=t.CatmullRomLine,exports.Line=o.Line,exports.PositionalAudio=i.PositionalAudio,exports.Text=u.Text,exports.Text3D=a.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.Image=c.Image,exports.Edges=p.Edges,exports.Trail=x.Trail,exports.useTrail=x.useTrail,exports.Sampler=l.Sampler,exports.ComputedAttribute=q.ComputedAttribute,exports.Clone=d.Clone,exports.MarchingCube=C.MarchingCube,exports.MarchingCubes=C.MarchingCubes,exports.MarchingPlane=C.MarchingPlane,exports.OrthographicCamera=m.OrthographicCamera,exports.PerspectiveCamera=h.PerspectiveCamera,exports.CubeCamera=b.CubeCamera,exports.DeviceOrientationControls=M.DeviceOrientationControls,exports.FlyControls=B.FlyControls,exports.MapControls=S.MapControls,exports.OrbitControls=P.OrbitControls,exports.TrackballControls=T.TrackballControls,exports.ArcballControls=g.ArcballControls,exports.TransformControls=f.TransformControls,exports.PointerLockControls=v.PointerLockControls,exports.FirstPersonControls=L.FirstPersonControls,exports.GizmoHelper=k.GizmoHelper,exports.useGizmoContext=k.useGizmoContext,exports.GizmoViewcube=A.GizmoViewcube,exports.GizmoViewport=E.GizmoViewport,exports.useCubeTexture=D.useCubeTexture,exports.useFBX=G.useFBX,exports.useGLTF=F.useGLTF,exports.useProgress=O.useProgress,exports.IsObject=w.IsObject,exports.useTexture=w.useTexture,exports.useKTX2=z.useKTX2,exports.Stats=R.Stats,exports.useDepthBuffer=I.useDepthBuffer,exports.useAspect=y.useAspect,exports.useCamera=H.useCamera,exports.useDetectGPU=V.useDetectGPU,exports.useHelper=Q.useHelper,exports.useBVH=X.useBVH,exports.useContextBridge=K.useContextBridge,exports.useAnimations=W.useAnimations,exports.useFBO=N.useFBO,exports.useIntersect=U.useIntersect,exports.useBoxProjectedEnv=_.useBoxProjectedEnv,exports.BBAnchor=J.BBAnchor,exports.CurveModifier=Y.CurveModifier,exports.MeshDistortMaterial=Z.MeshDistortMaterial,exports.MeshWobbleMaterial=$.MeshWobbleMaterial,exports.MeshReflectorMaterial=ee.MeshReflectorMaterial,exports.PointMaterial=re.PointMaterial,exports.PointMaterialImpl=re.PointMaterialImpl,exports.shaderMaterial=se.shaderMaterial,exports.softShadows=te.softShadows,exports.Box=oe.Box,exports.Capsule=oe.Capsule,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.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=ue.ScreenQuad,exports.Center=ae.Center,exports.Bounds=ne.Bounds,exports.useBounds=ne.useBounds,exports.CameraShake=je.CameraShake,exports.Float=ce.Float,exports.Stage=pe.Stage,exports.Backdrop=xe.Backdrop,exports.Shadow=le.Shadow,exports.ContactShadows=qe.ContactShadows,exports.Reflector=de.Reflector,exports.SpotLight=Ce.SpotLight,exports.Environment=me.Environment,exports.EnvironmentCube=me.EnvironmentCube,exports.EnvironmentMap=me.EnvironmentMap,exports.EnvironmentPortal=me.EnvironmentPortal,exports.useEnvironment=me.useEnvironment,exports.Lightformer=he.Lightformer,exports.Sky=be.Sky,exports.calcPosFromAngles=be.calcPosFromAngles,exports.Stars=Me.Stars,exports.Cloud=Be.Cloud,exports.Sparkles=Se.Sparkles,exports.useMatcapTexture=Pe.useMatcapTexture,exports.useNormalTexture=Te.useNormalTexture,exports.Point=ge.Point,exports.Points=ge.Points,exports.PointsBuffer=ge.PointsBuffer,exports.Instance=fe.Instance,exports.Instances=fe.Instances,exports.Merged=fe.Merged,exports.Segment=ve.Segment,exports.SegmentObject=ve.SegmentObject,exports.Segments=ve.Segments,exports.Detailed=Le.Detailed,exports.Preload=ke.Preload,exports.BakeShadows=Ae.BakeShadows,exports.meshBounds=Ee.meshBounds,exports.AdaptiveDpr=De.AdaptiveDpr,exports.AdaptiveEvents=Ge.AdaptiveEvents,exports.RenderTexture=Fe.RenderTexture,exports.Mask=Oe.Mask,exports.useMask=Oe.useMask;
|
package/core/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './Billboard';
|
|
2
2
|
export * from './QuadraticBezierLine';
|
|
3
3
|
export * from './CubicBezierLine';
|
|
4
|
+
export * from './CatmullRomLine';
|
|
4
5
|
export * from './Line';
|
|
5
6
|
export * from './PositionalAudio';
|
|
6
7
|
export * from './Text';
|
|
@@ -13,6 +14,7 @@ export * from './Trail';
|
|
|
13
14
|
export * from './Sampler';
|
|
14
15
|
export * from './ComputedAttribute';
|
|
15
16
|
export * from './Clone';
|
|
17
|
+
export * from './MarchingCubes';
|
|
16
18
|
export * from './OrthographicCamera';
|
|
17
19
|
export * from './PerspectiveCamera';
|
|
18
20
|
export * from './CubeCamera';
|
package/core/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { Billboard } from './Billboard.js';
|
|
2
2
|
export { QuadraticBezierLine } from './QuadraticBezierLine.js';
|
|
3
3
|
export { CubicBezierLine } from './CubicBezierLine.js';
|
|
4
|
+
export { CatmullRomLine } from './CatmullRomLine.js';
|
|
4
5
|
export { Line } from './Line.js';
|
|
5
6
|
export { PositionalAudio } from './PositionalAudio.js';
|
|
6
7
|
export { Text } from './Text.js';
|
|
@@ -13,6 +14,7 @@ export { Trail, useTrail } from './Trail.js';
|
|
|
13
14
|
export { Sampler } from './Sampler.js';
|
|
14
15
|
export { ComputedAttribute } from './ComputedAttribute.js';
|
|
15
16
|
export { Clone } from './Clone.js';
|
|
17
|
+
export { MarchingCube, MarchingCubes, MarchingPlane } from './MarchingCubes.js';
|
|
16
18
|
export { OrthographicCamera } from './OrthographicCamera.js';
|
|
17
19
|
export { PerspectiveCamera } from './PerspectiveCamera.js';
|
|
18
20
|
export { CubeCamera } from './CubeCamera.js';
|