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