@takram/three-clouds 0.2.2 → 0.4.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/CHANGELOG.md +37 -0
- package/README.md +25 -17
- package/build/index.cjs +9 -9
- package/build/index.cjs.map +1 -1
- package/build/index.js +70 -77
- package/build/index.js.map +1 -1
- package/build/r3f.cjs +1 -1
- package/build/r3f.cjs.map +1 -1
- package/build/r3f.js +180 -186
- package/build/r3f.js.map +1 -1
- package/build/shared.cjs +102 -74
- package/build/shared.cjs.map +1 -1
- package/build/shared.js +443 -380
- package/build/shared.js.map +1 -1
- package/package.json +3 -3
- package/src/CloudLayers.ts +2 -2
- package/src/CloudsEffect.ts +52 -29
- package/src/CloudsMaterial.ts +53 -30
- package/src/CloudsPass.ts +5 -6
- package/src/PassBase.ts +1 -1
- package/src/Procedural3DTexture.ts +2 -4
- package/src/ProceduralTexture.ts +1 -3
- package/src/ShaderArrayPass.ts +5 -5
- package/src/ShadowMaterial.ts +4 -4
- package/src/ShadowPass.ts +5 -6
- package/src/constants.ts +1 -0
- package/src/helpers/setArrayRenderTargetLayers.ts +3 -6
- package/src/qualityPresets.ts +5 -5
- package/src/r3f/CloudLayer.tsx +65 -63
- package/src/r3f/Clouds.tsx +170 -188
- package/src/shaders/clouds.frag +64 -50
- package/src/shaders/clouds.glsl +1 -1
- package/src/shaders/clouds.vert +18 -5
- package/src/shaders/parameters.glsl +3 -2
- package/src/shaders/shadowResolve.frag +2 -2
- package/src/shaders/types.glsl +1 -1
- package/src/shaders/varianceClipping.glsl +2 -2
- package/src/uniforms.ts +3 -3
- package/types/CloudsEffect.d.ts +19 -9
- package/types/CloudsMaterial.d.ts +10 -5
- package/types/qualityPresets.d.ts +1 -1
- package/types/r3f/CloudLayer.d.ts +3 -1
- package/types/r3f/Clouds.d.ts +2 -1
package/build/r3f.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"r3f.cjs","sources":["../src/r3f/CloudLayers.tsx","../src/r3f/Clouds.tsx","../src/r3f/CloudLayer.tsx"],"sourcesContent":null,"names":["CloudLayersContext","CloudLayers","layers","disableDefault","children","context","setContext","useState","useLayoutEffect","CloudLayer","CloudLayersImpl","jsx","
|
1
|
+
{"version":3,"file":"r3f.cjs","sources":["../src/r3f/CloudLayers.tsx","../src/r3f/Clouds.tsx","../src/r3f/CloudLayer.tsx"],"sourcesContent":null,"names":["CloudLayersContext","CloudLayers","layers","disableDefault","children","context","setContext","useState","useLayoutEffect","CloudLayer","CloudLayersImpl","jsx","useLoadTexture","input","gl","loadedTexture","useMemo","TextureLoader","texture","LinearMipMapLinearFilter","LinearFilter","RepeatWrapping","NoColorSpace","useEffect","useLoad3DTexture","size","DataTextureLoader","Data3DTexture","parseUint8Array","RedFormat","useLoadSTBNTexture","STBNLoader","Clouds","forwardedRef","disableDefaultLayers","localWeatherTextureProp","DEFAULT_LOCAL_WEATHER_URL","shapeTextureProp","DEFAULT_SHAPE_URL","shapeDetailTextureProp","DEFAULT_SHAPE_DETAIL_URL","turbulenceTextureProp","DEFAULT_TURBULENCE_URL","stbnTextureProp","DEFAULT_STBN_URL","props","textures","transientStates","contextProps","useContext","AtmosphereContext","atmosphereParameters","others","separateProps","cloudsPassOptionsDefaults","effect","CloudsEffect","useFrame","handleChange","useCallback","event","useThree","localWeatherTexture","shapeTexture","CLOUD_SHAPE_TEXTURE_SIZE","shapeDetailTexture","CLOUD_SHAPE_DETAIL_TEXTURE_SIZE","turbulenceTexture","stbnTexture","camera","EffectComposerContext","jsxs","Fragment","indexProp","indexPool","index","setIndex","poolIndex","a","b","layer","CloudLayerImpl"],"mappings":"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"}
|
package/build/r3f.js
CHANGED
@@ -1,205 +1,199 @@
|
|
1
|
-
import { jsx as
|
2
|
-
import { useFrame as
|
3
|
-
import { EffectComposerContext as
|
4
|
-
import { createContext as
|
5
|
-
import { TextureLoader as
|
6
|
-
import { AtmosphereContext as
|
7
|
-
import { DEFAULT_STBN_URL as
|
8
|
-
import { c as
|
9
|
-
const
|
1
|
+
import { jsx as E, jsxs as M, Fragment as N } from "react/jsx-runtime";
|
2
|
+
import { useFrame as k, useThree as B } from "@react-three/fiber";
|
3
|
+
import { EffectComposerContext as W } from "@react-three/postprocessing";
|
4
|
+
import { createContext as j, useState as A, useLayoutEffect as x, useContext as y, useMemo as L, useEffect as c, useCallback as X } from "react";
|
5
|
+
import { TextureLoader as Z, LinearMipMapLinearFilter as $, LinearFilter as C, RepeatWrapping as h, NoColorSpace as S, Data3DTexture as q, RedFormat as G } from "three";
|
6
|
+
import { AtmosphereContext as J, separateProps as K } from "@takram/three-atmosphere/r3f";
|
7
|
+
import { DEFAULT_STBN_URL as Q, DataTextureLoader as V, parseUint8Array as Y, STBNLoader as z } from "@takram/three-geospatial";
|
8
|
+
import { c as D, b as U, d as ee, e as te, D as re, f as oe, g as se, h as ne, a as ae, C as le } from "./shared.js";
|
9
|
+
const F = /* @__PURE__ */ j(null), ue = ({
|
10
10
|
layers: e,
|
11
|
-
disableDefault:
|
12
|
-
children:
|
11
|
+
disableDefault: t = !1,
|
12
|
+
children: s
|
13
13
|
}) => {
|
14
|
-
const [
|
15
|
-
return
|
14
|
+
const [n, u] = A();
|
15
|
+
return x(() => {
|
16
16
|
e.set(
|
17
|
-
|
17
|
+
t ? Array(4).fill(U.DEFAULT) : D.DEFAULT
|
18
18
|
), u({
|
19
19
|
layers: e,
|
20
20
|
indexPool: [0, 1, 2, 3],
|
21
|
-
disableDefault:
|
21
|
+
disableDefault: t
|
22
22
|
});
|
23
|
-
}, [e,
|
23
|
+
}, [e, t]), n != null && /* @__PURE__ */ E(F.Provider, { value: n, children: s });
|
24
24
|
};
|
25
|
-
function
|
26
|
-
const
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
}, [e, r]), c;
|
25
|
+
function g(e, t) {
|
26
|
+
const s = L(
|
27
|
+
() => typeof e == "string" ? new Z().load(e, (n) => {
|
28
|
+
n.minFilter = $, n.magFilter = C, n.wrapS = h, n.wrapT = h, n.colorSpace = S, n.needsUpdate = !0;
|
29
|
+
}) : void 0,
|
30
|
+
[e]
|
31
|
+
);
|
32
|
+
return c(() => {
|
33
|
+
if (s != null)
|
34
|
+
return () => {
|
35
|
+
s.dispose();
|
36
|
+
};
|
37
|
+
}, [s]), (typeof e == "string" ? s : e) ?? null;
|
39
38
|
}
|
40
|
-
function
|
41
|
-
const
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
}
|
61
|
-
|
62
|
-
a(e);
|
63
|
-
}, [e, r]), c;
|
39
|
+
function w(e, t) {
|
40
|
+
const s = L(
|
41
|
+
() => typeof e == "string" ? new V(q, Y, {
|
42
|
+
width: t,
|
43
|
+
height: t,
|
44
|
+
depth: t,
|
45
|
+
format: G,
|
46
|
+
minFilter: C,
|
47
|
+
magFilter: C,
|
48
|
+
wrapS: h,
|
49
|
+
wrapT: h,
|
50
|
+
wrapR: h,
|
51
|
+
colorSpace: S
|
52
|
+
}).load(e) : void 0,
|
53
|
+
[e, t]
|
54
|
+
);
|
55
|
+
return c(() => {
|
56
|
+
if (s != null)
|
57
|
+
return () => {
|
58
|
+
s.dispose();
|
59
|
+
};
|
60
|
+
}, [s]), (typeof e == "string" ? s : e) ?? null;
|
64
61
|
}
|
65
|
-
function
|
66
|
-
const
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
}
|
75
|
-
|
76
|
-
c(e);
|
77
|
-
}, [e]), r;
|
62
|
+
function ie(e) {
|
63
|
+
const t = L(
|
64
|
+
() => typeof e == "string" ? new z().load(e) : void 0,
|
65
|
+
[e]
|
66
|
+
);
|
67
|
+
return c(() => {
|
68
|
+
if (t != null)
|
69
|
+
return () => {
|
70
|
+
t.dispose();
|
71
|
+
};
|
72
|
+
}, [t]), (typeof e == "string" ? t : e) ?? null;
|
78
73
|
}
|
79
|
-
const Ee =
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
}
|
120
|
-
},
|
121
|
-
[s, o]
|
122
|
-
);
|
123
|
-
h(() => (s.events.addEventListener("change", T), () => {
|
124
|
-
s.events.removeEventListener("change", T);
|
125
|
-
}), [s, T]);
|
126
|
-
const S = j(({ gl: y }) => y), O = U(c, S), P = g(
|
127
|
-
a,
|
128
|
-
ue
|
129
|
-
), I = g(
|
130
|
-
u,
|
131
|
-
ce
|
132
|
-
), H = U(t, S), M = he(i), { camera: N } = C(X);
|
133
|
-
return /* @__PURE__ */ k(B, { children: [
|
134
|
-
/* @__PURE__ */ x(
|
135
|
-
"primitive",
|
136
|
-
{
|
137
|
-
ref: d,
|
138
|
-
object: s,
|
139
|
-
mainCamera: N,
|
140
|
-
...b,
|
141
|
-
localWeatherTexture: O,
|
142
|
-
shapeTexture: P,
|
143
|
-
shapeDetailTexture: I,
|
144
|
-
turbulenceTexture: H,
|
145
|
-
stbnTexture: M,
|
146
|
-
...R
|
147
|
-
}
|
148
|
-
),
|
149
|
-
/* @__PURE__ */ x(
|
150
|
-
ie,
|
151
|
-
{
|
152
|
-
layers: s.cloudLayers,
|
153
|
-
disableDefault: r,
|
154
|
-
children: p
|
74
|
+
const Ee = ({
|
75
|
+
ref: e,
|
76
|
+
disableDefaultLayers: t = !1,
|
77
|
+
localWeatherTexture: s = re,
|
78
|
+
shapeTexture: n = oe,
|
79
|
+
shapeDetailTexture: u = se,
|
80
|
+
turbulenceTexture: i = ne,
|
81
|
+
stbnTexture: p = Q,
|
82
|
+
children: a,
|
83
|
+
...d
|
84
|
+
}) => {
|
85
|
+
const { textures: l, transientStates: r, ...f } = y(J), [v, _] = K({
|
86
|
+
...ee,
|
87
|
+
...f,
|
88
|
+
...l,
|
89
|
+
...d
|
90
|
+
}), o = L(() => new te(), []);
|
91
|
+
c(() => () => {
|
92
|
+
o.dispose();
|
93
|
+
}, [o]), k(() => {
|
94
|
+
r != null && (o.sunDirection.copy(r.sunDirection), o.ellipsoidCenter.copy(r.ellipsoidCenter), o.ellipsoidMatrix.copy(r.ellipsoidMatrix));
|
95
|
+
}), c(() => {
|
96
|
+
if (r != null)
|
97
|
+
return r.overlay = o.atmosphereOverlay, r.shadow = o.atmosphereShadow, r.shadowLength = o.atmosphereShadowLength, () => {
|
98
|
+
r.overlay = null, r.shadow = null, r.shadowLength = null;
|
99
|
+
};
|
100
|
+
}, [o, r]);
|
101
|
+
const m = X(
|
102
|
+
(T) => {
|
103
|
+
if (r != null)
|
104
|
+
switch (T.property) {
|
105
|
+
case "atmosphereOverlay":
|
106
|
+
r.overlay = o.atmosphereOverlay;
|
107
|
+
break;
|
108
|
+
case "atmosphereShadow":
|
109
|
+
r.shadow = o.atmosphereShadow;
|
110
|
+
break;
|
111
|
+
case "atmosphereShadowLength":
|
112
|
+
r.shadowLength = o.atmosphereShadowLength;
|
113
|
+
break;
|
155
114
|
}
|
156
|
-
|
157
|
-
]
|
158
|
-
|
159
|
-
),
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
115
|
+
},
|
116
|
+
[o, r]
|
117
|
+
);
|
118
|
+
c(() => (o.events.addEventListener("change", m), () => {
|
119
|
+
o.events.removeEventListener("change", m);
|
120
|
+
}), [o, m]), B(({ gl: T }) => T);
|
121
|
+
const b = g(s), O = w(
|
122
|
+
n,
|
123
|
+
le
|
124
|
+
), R = w(
|
125
|
+
u,
|
126
|
+
ae
|
127
|
+
), P = g(i), I = ie(p), { camera: H } = y(W);
|
128
|
+
return /* @__PURE__ */ M(N, { children: [
|
129
|
+
/* @__PURE__ */ E(
|
130
|
+
"primitive",
|
131
|
+
{
|
132
|
+
ref: e,
|
133
|
+
object: o,
|
134
|
+
mainCamera: H,
|
135
|
+
...v,
|
136
|
+
localWeatherTexture: b,
|
137
|
+
shapeTexture: O,
|
138
|
+
shapeDetailTexture: R,
|
139
|
+
turbulenceTexture: P,
|
140
|
+
stbnTexture: I,
|
141
|
+
..._
|
180
142
|
}
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
143
|
+
),
|
144
|
+
/* @__PURE__ */ E(
|
145
|
+
ue,
|
146
|
+
{
|
147
|
+
layers: o.cloudLayers,
|
148
|
+
disableDefault: t,
|
149
|
+
children: a
|
150
|
+
}
|
151
|
+
)
|
152
|
+
] });
|
153
|
+
}, xe = ({
|
154
|
+
ref: e,
|
155
|
+
index: t,
|
156
|
+
...s
|
157
|
+
}) => {
|
158
|
+
const n = y(F);
|
159
|
+
if (n == null)
|
160
|
+
throw new Error("CloudLayer can only be used within the Clouds component!");
|
161
|
+
const { layers: u, indexPool: i, disableDefault: p } = n, [a, d] = A();
|
162
|
+
if (x(() => {
|
163
|
+
if (t != null) {
|
164
|
+
const l = i.indexOf(t);
|
165
|
+
if (l !== -1)
|
166
|
+
return i.splice(l, 1), d(t), () => {
|
167
|
+
i.push(t), d(void 0);
|
168
|
+
};
|
169
|
+
} else {
|
170
|
+
const l = i.sort((r, f) => r - f).shift();
|
171
|
+
if (l != null)
|
172
|
+
return d(l), () => {
|
173
|
+
i.push(l), d(void 0);
|
174
|
+
};
|
197
175
|
}
|
198
|
-
|
176
|
+
}, [t, u, i]), x(() => {
|
177
|
+
if (a == null)
|
178
|
+
return;
|
179
|
+
const l = u[a];
|
180
|
+
return () => {
|
181
|
+
l.copy(
|
182
|
+
p ? U.DEFAULT : D.DEFAULT[a]
|
183
|
+
);
|
184
|
+
};
|
185
|
+
}, [u, a, p]), c(() => {
|
186
|
+
a != null && (typeof e == "function" ? e(u[a]) : e != null && (e.current = u[a]));
|
187
|
+
}, [e, u, a]), a != null) {
|
188
|
+
const l = u[a];
|
189
|
+
l.copy(
|
190
|
+
p ? U.DEFAULT : D.DEFAULT[a]
|
191
|
+
), l.set(s);
|
199
192
|
}
|
200
|
-
|
193
|
+
return null;
|
194
|
+
};
|
201
195
|
export {
|
202
|
-
|
196
|
+
xe as CloudLayer,
|
203
197
|
Ee as Clouds
|
204
198
|
};
|
205
199
|
//# sourceMappingURL=r3f.js.map
|
package/build/r3f.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"r3f.js","sources":["../src/r3f/CloudLayers.tsx","../src/r3f/Clouds.tsx","../src/r3f/CloudLayer.tsx"],"sourcesContent":null,"names":["CloudLayersContext","CloudLayers","layers","disableDefault","children","context","setContext","useState","useLayoutEffect","CloudLayer","CloudLayersImpl","jsx","
|
1
|
+
{"version":3,"file":"r3f.js","sources":["../src/r3f/CloudLayers.tsx","../src/r3f/Clouds.tsx","../src/r3f/CloudLayer.tsx"],"sourcesContent":null,"names":["CloudLayersContext","CloudLayers","layers","disableDefault","children","context","setContext","useState","useLayoutEffect","CloudLayer","CloudLayersImpl","jsx","useLoadTexture","input","gl","loadedTexture","useMemo","TextureLoader","texture","LinearMipMapLinearFilter","LinearFilter","RepeatWrapping","NoColorSpace","useEffect","useLoad3DTexture","size","DataTextureLoader","Data3DTexture","parseUint8Array","RedFormat","useLoadSTBNTexture","STBNLoader","Clouds","forwardedRef","disableDefaultLayers","localWeatherTextureProp","DEFAULT_LOCAL_WEATHER_URL","shapeTextureProp","DEFAULT_SHAPE_URL","shapeDetailTextureProp","DEFAULT_SHAPE_DETAIL_URL","turbulenceTextureProp","DEFAULT_TURBULENCE_URL","stbnTextureProp","DEFAULT_STBN_URL","props","textures","transientStates","contextProps","useContext","AtmosphereContext","atmosphereParameters","others","separateProps","cloudsPassOptionsDefaults","effect","CloudsEffect","useFrame","handleChange","useCallback","event","useThree","localWeatherTexture","shapeTexture","CLOUD_SHAPE_TEXTURE_SIZE","shapeDetailTexture","CLOUD_SHAPE_DETAIL_TEXTURE_SIZE","turbulenceTexture","stbnTexture","camera","EffectComposerContext","jsxs","Fragment","indexProp","indexPool","index","setIndex","poolIndex","a","b","layer","CloudLayerImpl"],"mappings":"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"}
|