@takram/three-atmosphere
Version:
A Three.js and R3F implementation of Precomputed Atmospheric Scattering
70 lines (69 loc) • 2.7 kB
JavaScript
import { A as G, c as P, d as L, D as X, s as g, j as h, I as y, M as x, P as H, p as v, o as B, k as F, l as Z, m as d, S as k, n as w, r as O, w as b, y as z, z as V, C as W, F as Y, q as j, T as q, a as K, b as J, t as Q, g as $, i as ee, f as te, h as ae, e as se, u as re, v as Te, x as oe, B as Ee, E as ne } from "./shared.js";
import { Color as R, Vector3 as I, Matrix3 as u } from "three";
import { saturate as i, clamp as A } from "@takram/three-geospatial";
const D = /* @__PURE__ */ new I(), l = /* @__PURE__ */ new u(
3.2404542,
-1.5371385,
-0.4985314,
-0.969266,
1.8760108,
0.041556,
0.0556434,
-0.2040259,
1.0572252
);
function m(t, r = new R()) {
const a = t, T = a ** 2, o = (0.860117757 + 154118254e-12 * a + 128641212e-15 * T) / (1 + 842420235e-12 * a + 708145163e-15 * T), E = (0.317398726 + 422806245e-13 * a + 420481691e-16 * T) / (1 - 289741816e-13 * a + 161456053e-15 * T), c = 3 * o / (2 * o - 8 * E + 4), s = 2 * E / (2 * o - 8 * E + 4), n = 1, _ = s > 0 ? c * n / s : 0, S = s > 0 ? (1 - c - s) * n / s : 0, e = D.set(_, n, S).applyMatrix3(l);
return e.x = i(e.x), e.y = i(e.y), e.z = i(e.z), r.setFromVector3(e.normalize());
}
function C(t) {
return 4600 * (1 / (0.92 * A(t, -0.4, 2) + 1.7) + 1 / (0.92 * t + 0.62));
}
function M(t, r = new R()) {
return m(
C(t),
r
);
}
export {
G as AerialPerspectiveEffect,
P as AtmosphereMaterialBase,
L as AtmosphereParameters,
X as DEFAULT_PRECOMPUTED_TEXTURES_URL,
g as DEFAULT_STARS_DATA_URL,
h as IRRADIANCE_TEXTURE_HEIGHT,
y as IRRADIANCE_TEXTURE_WIDTH,
x as METER_TO_LENGTH_UNIT,
H as PrecomputedTexturesLoader,
v as SCATTERING_TEXTURE_DEPTH,
B as SCATTERING_TEXTURE_HEIGHT,
F as SCATTERING_TEXTURE_MU_SIZE,
Z as SCATTERING_TEXTURE_MU_S_SIZE,
d as SCATTERING_TEXTURE_NU_SIZE,
k as SCATTERING_TEXTURE_R_SIZE,
w as SCATTERING_TEXTURE_WIDTH,
O as SKY_RENDER_ORDER,
b as SkyLightProbe,
z as SkyMaterial,
V as StarsGeometry,
W as StarsMaterial,
Y as SunDirectionalLight,
j as TRANSMITTANCE_TEXTURE_HEIGHT,
q as TRANSMITTANCE_TEXTURE_WIDTH,
K as aerialPerspectiveEffectOptionsDefaults,
J as atmosphereMaterialParametersBaseDefaults,
M as convertBVIndexToLinearSRGBChromaticity,
m as convertTemperatureToLinearSRGBChromaticity,
Q as getAltitudeCorrectionOffset,
$ as getECIToECEFRotationMatrix,
ee as getMoonDirectionECEF,
te as getMoonDirectionECI,
ae as getSunDirectionECEF,
se as getSunDirectionECI,
re as getSunLightColor,
Te as skyLightProbeParametersDefaults,
oe as skyMaterialParametersDefaults,
Ee as starsMaterialParametersDefaults,
ne as sunDirectionalLightParametersDefaults
};
//# sourceMappingURL=index.js.map