|
Освещаемые частицы в темноте ещё темнее: квадрат видимости + гашение цвета
Фидбек: «освещаемые партиклы в темноте сделаем ещё темнее». Две правки ветки #if LIT шейдера частиц: 1) vis гасит и цвет, и альфу: vColor*(uTint*vis + received) — раньше гасилась только альфа, цвет оставался полным, и полупрозрачные СЕРЫЕ точки читались на тёмном фоне; 2) кривая видимости нелинейная: vis = clamp((max-канал(received)*1.6)^2) — степень давит слабый свет (ночь received ~0.05-0.1: линейная кривая оставляла vis ~0.1), а день/лампа по-прежнему насыщают vis в 1. Чистая функция litVisibility(maxChannel) зеркалит шейдерную кривую — тесты без WebGL (371). Замер пробы (пара кадров ночью «дождь вкл/выкл», пиксели ярче фона): 815 -> 641 (гашение цвета) -> 10 (квадрат); день не изменился (дождь 101 -> 100), мотыльки (излучающие) светятся как раньше (961 тёплых px). Гейт weather «облачность темнит кадр» ослаблен до x0.93: зенитный свет пасмурного дня (fd7a331) намеренно добавляет освещённости — падал и до этой правки (воспроизведено на старом шейдере, цифры те же). Co-Authored-By: Claude Code <noreply@anthropic.com> |
|---|
|
|
| v2/CLAUDE.md |
|---|
| v2/apps/game/tools/checks/weather.mjs |
|---|
| v2/packages/engine/src/index.ts |
|---|
| v2/packages/engine/src/render/__tests__/particleEnv.test.ts |
|---|
| v2/packages/engine/src/render/particles.ts |
|---|