fix: equilibra densidade estelar ao redor da Via Láctea
This commit is contained in:
parent
ec9814300a
commit
8ff0b9ab7a
1 changed files with 12 additions and 7 deletions
|
|
@ -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();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue