💡 Кластерное освещение
На скриншоте видно, как работает RCS:
Свет от струи «подхватывается» PBR-материалом, давая свечение на поверхности;
Это те самые эффекты, которые современные игровые движки делают «из коробки» (на самом деле, конечно, не бесплатно — просто за вас).
Дэн (разработчик) реализовал технику Clustered Shading (кластерное освещение). Если коротко — это очень сложный, но крайне эффективный метод, позволяющий обрабатывать множество источников света одновременно, разбивая задачу на небольшие независимые части.
⚡️ Что это значит для игры?
— Мы можем рендерить действительно много источников света.
— Это развитие идей вроде deferred rendering из модов KSP, но на новом уровне.
— Для космоса это особенно важно: половина планеты всегда в темноте, а освещение напрямую влияет на «ощущение чуда» — один из ключевых принципов KSA.
— Игроки получат больше свободы при строительстве ракет и баз с освещением.
Скоро мы покажем первые «световые» детали и демонстрации того, как это работает на практике. 🚀
Система кластерного освещения делит экран на тайлы и глубину (так называемые «фроксели» — frustum voxels). Это объёмные ячейки, по которым можно тестировать освещение и обрабатывать только те области экрана, где реально есть источники света.
⚡️ Результат: на экране одновременно может быть огромное количество активных источников света — и при этом не каждый пиксель проверяет, влияет ли на него свет.
✨ Следующее улучшение — тени от этих новых источников света!
— Shadow mapping требует рендерить объекты повторно для глубины.
— Прожектор (spot light) делает 1 depth pass, а точечный свет обычно использует кубическую карту — это 6 проходов.
— Чтобы оптимизировать точечные источники, мы применили технику Tetrahedral Shadow Mapping — рендер по 4 направлениям тетраэдра, что уменьшает количество проходов с 6 до 4. Этот метод уже можно встретить в играх вроде Baldur's Gate 3, Company of Heroes, Dawn of War и др.
📦 Ещё одно новшество — atlas packing.
Вместо отдельной текстуры глубины для каждого источника, мы стараемся «упаковать» несколько в одну текстуру. Это снижает нагрузку на VRAM и уменьшает количество рендер-проходов, ведь всё пишется в один атлас.
🌌 Тени небесных тел
Небольшая демонстрация «закулисной» работы в подготовке к межзвёздному контенту. На видео показаны планеты и спутники (на примере Юпитера, который по середени), где спрайт уходит в тень, если не обращён к Солнцу.
Эффект довольно тонкий, но станет очень важным и зрелищным, когда появятся, например, крупные газовые гиганты с множеством спутников. Будет круто отобразить такие звёздные системы — с большим количеством тел, движущихся на фоне друг друга. Это сильно усилит ощущение масштаба и присутствия ✨
(На видео фоновые звезды отключены, чтобы лучше было видно.)
Комментарии (0)
Оставить комментарий