Новый шейдер окклюзии неба в CS2 (15 окт. 2026 г.)
Незаметное обновление CS2 добавляет новый Vulkan‑шейдер для окклюзии неба, улучшая обработку глубины для геометрии неба и закладывая основу для более чистых и гибких визуальных решений неба.
Кратко
- Добавлен новый Vulkan‑шейдер `sky occluder` для управления глубиной и видимостью геометрии неба, улучшая способ, которым небо перекрывает дальние элементы мира.
Незаметное, но заметное обновление CS2 добавляет новый Vulkan‑шейдер для «sky occluder» — эффекта, который скрывает части мира за пользовательской геометрией неба, при этом корректно обрабатывая глубину и освещение.
Визуальная часть и рендеринг
- Новый шейдер sky occluder: Добавлен новый файл
vfx/sky_occluder.slang. Он описан как «Sky occluder – writes depth to hide the world», то есть отвечает за запись глубины, чтобы геометрия, связанная с небом или skybox, корректно перекрывала (occlude) части карты или фона за ней. - Поддержка режима только глубины: Шейдер подключается к режиму
Depth("csgo_depth_only.vfx"), что указывает на участие в проходах рендеринга, ориентированных только на запись глубины. На практике это может помочь большим прокси‑мешам неба или эффектам правильно взаимодействовать с такими функциями, как туман, объемные эффекты или пост‑обработка, которые зависят от информации о глубине. - Обработка инстансированной геометрии: Вершинный этап читает данные из
g_instanceBufferиg_transformBuffer, применяя трансформации на экземпляр. Это значит, что система окклюдеров для неба рассчитана на эффективную работу с множественными повторяющимися кусками геометрии, что позволяет добавлять более сложные или многочисленные меши без существенного падения производительности. - Пер‑видовые трансформы: Шейдер использует
PerViewConstantBuffer_tс матрицей трансформации для каждого вида. Это означает, что рендеринг окклюдеров выполняется с учётом текущей камеры игрока, что помогает сохранять стабильность эффекта при разных ракурсах и движениях камеры. - Текстурированная окклюзия неба: Пиксельный этап сэмплирует цветовую текстуру
g_tColorи выводит её с полной непрозрачностью. Хотя основная задача шейдера — запись глубины, это также позволяет применять текстуры к геометрии неба. Игроки могут увидеть зачатки более детализированных или текстурированных элементов неба, которые при этом корректно скрывают дальние объекты.
Инструменты и этапы пайплайна
- Режим видимости в инструментах: В секции
MODESприсутствуетToolsVis(S_MODE_TOOLS_VIS);, а пиксельный шейдер определяетStaticCombo(S_MODE_TOOLS_VIS, 0..1). Это указывает на возможность специальной визуализации или переключения шейдера внутри инструментов разработчика. Создатели карт или внутренние пользователи инструментов могут получить улучшенные средства предпросмотра и отладки расположения окклюдеров неба. - Динамический выбор прохода: Пиксельный шейдер объявляет
DynamicCombo(D_SKY_OCCLUDER_PASS, 0..3)с правилом, связывающим его с режимом видимости инструментов. Это говорит о наличии нескольких проходов или режимов для sky occluder (например, разные рендер‑пасс‑режимы или отладочные представления), хотя из этого изменения нельзя увидеть, какие из них реально используются в боевом режиме. - Конфигурация трафарета (stencil): Шейдер задаёт
RenderState(StencilRef, 128);, присваивая конкретное значение трафарета. Вероятно, это интегрирует окклюдеры неба в приёмы рендеринга, опирающиеся на трафарет (маскирование, селективная пост‑обработка), что важно для продвинутых визуальных эффектов вокруг неба.
Общее влияние
Это обновление сосредоточено исключительно на рендер‑бэкенде: добавлен выделенный Vulkan‑шейдер для окклюзии неба. Оно не вносит прямых изменений в геймплей, баланс оружия или интерфейс, но закладывает основу для более гибкого отображения неба:
- В краткосрочной перспективе игроки вряд ли заметят явные изменения, если только отдельные карты или эффекты не начнут активно использовать этот шейдер.
- Со временем система может позволить более чистые линии горизонта, лучшее сокрытие фрагментов мира за пределами карты и более согласованное отображение неба с разных ракурсов и при разных настройках графики.
Пока это обновление — внутреннее улучшение визуального пайплайна CS2, а не функция, которую можно напрямую включить или настроить в игре.
