fix: equilibra densidade estelar ao redor da Via Láctea

This commit is contained in:
vini 2026-07-19 13:37:50 -03:00
parent ec9814300a
commit 8ff0b9ab7a

View file

@ -1276,7 +1276,7 @@ const E2G = [
para plate carrée por tools/build_skymap.py. A geometria é real; apenas
exposição, contraste e saturação são estilizados para o wallpaper. */
const MW_BLACK = 46;
const MW_EXPOSURE = 1.16;
const MW_EXPOSURE = 1.08;
const MW_SAMPLE_SCALE = 1;
const mwTex = { data: null, w: 0, h: 0 };
const mwCanvas = document.createElement('canvas');
@ -1354,7 +1354,7 @@ function renderMilkyWay(lstDeg, glareOn) {
const l = Math.atan2(gy, gx);
const b = Math.asin(Math.max(-1, Math.min(1, gz)));
const absB = Math.abs(b / DEG);
if (absB >= 42) { px[j + 3] = 0; continue; }
if (absB >= 78) { px[j + 3] = 0; continue; }
let tx = ((Math.PI - l) * inv2pi * tw) | 0;
let ty = ((Math.PI / 2 - b) * invpi * th) | 0;
@ -1368,9 +1368,14 @@ function renderMilkyWay(lstDeg, glareOn) {
signal = Math.pow(Math.min(1, signal), 0.72);
let mask = 1;
if (absB > 18) {
mask = (42 - absB) / 24;
mask = mask * mask * (3 - 2 * mask);
if (absB > 18 && absB < 60) {
let fade = (60 - absB) / 42;
fade = fade * fade * (3 - 2 * fade);
mask = 0.14 + 0.86 * fade;
} else if (absB >= 60) {
let fade = (78 - absB) / 18;
fade = fade * fade * (3 - 2 * fade);
mask = 0.14 * fade;
}
const alpha = Math.min(1, signal * MW_EXPOSURE) * ext[i] *
(glareOn ? glare[i] : 1) * mask;
@ -1417,10 +1422,10 @@ function projectSky() {
bctx.imageSmoothingQuality = 'high';
bctx.save();
bctx.globalCompositeOperation = 'lighter';
bctx.globalAlpha = 0.22;
bctx.globalAlpha = 0.20;
bctx.filter = `blur(${Math.max(7, H * 0.009)}px) saturate(150%)`;
bctx.drawImage(mwCanvas, 0, 0, W, horizonPx);
bctx.globalAlpha = 0.94;
bctx.globalAlpha = 0.92;
bctx.filter = 'contrast(116%) saturate(158%)';
bctx.drawImage(mwCanvas, 0, 0, W, horizonPx);
bctx.restore();