Novo shader Vulkan para oclusão do céu (15 de out. de 2026)
Uma atualização discreta do CS2 adiciona um novo shader Vulkan para oclusão do céu, melhorando como a geometria do céu bloqueia o mundo e preparando terreno para horizontes mais limpos e céus mais flexíveis.
Resumo rápido
- Adicionado um novo shader Vulkan de sky occluder para gerir profundidade e visibilidade da geometria do céu, melhorando como o céu oculta elementos distantes do mundo.
Uma pequena, mas notável atualização do CS2 introduz discretamente um novo shader Vulkan para “sky occluders” — um efeito visual usado para ocultar partes do mundo atrás de geometria de céu personalizada, mantendo a profundidade e a iluminação corretas.
Visuais e renderização
- Novo shader de occlusão do céu: Um novo ficheiro de shader Vulkan,
vfx/sky_occluder.slang, foi adicionado. É descrito como “Sky occluder – writes depth to hide the world”, o que indica que sua função é escrever informações de profundidade para que a geometria relacionada ao céu ou skybox possa bloquear (ou “ocluir”) corretamente partes do mapa ou do fundo. - Suporte a modo apenas profundidade: O shader integra-se com um modo
Depth("csgo_depth_only.vfx"), sugerindo que participa de passes de renderização apenas de profundidade. Na prática, isso pode ajudar a garantir que grandes malhas proxy do céu ou efeitos interajam corretamente com recursos baseados em profundidade, como neblina, volumétricos ou pós-processamento que dependem da ordem de profundidade. - Tratamento de geometria instanciada: O estágio de vértice lê de
g_instanceBuffereg_transformBuffer, aplicando transformações por instância. Isso indica que o sistema de sky occluder está preparado para suportar muitas peças repetidas de geometria de forma eficiente, possibilitando malhas bloqueadoras do céu mais complexas ou numerosas sem grande custo de desempenho. - Transformações por visão: O shader usa um
PerViewConstantBuffer_tcom uma matriz de transformação por visão. Isso sugere que os sky occluders são renderizados com plena consciência da vista atual do jogador (câmera), o que deve ajudar a manter os efeitos de oclusão estáveis em diferentes perspectivas e movimentos de câmera. - Oclusão de céu com texturas: O estágio de pixel faz amostragem de uma textura de cor
g_tColore a emite com opacidade total. Embora o trabalho principal do shader seja escrever profundidade, isso também permite geometria de céu texturizada. Jogadores podem ver isso como base para elementos de céu novos ou mais detalhados que ainda ocultam corretamente a geometria distante do mundo.
Ferramentas e ganchos do pipeline
- Modo de visibilidade para ferramentas: A seção
MODESdo shader incluiToolsVis(S_MODE_TOOLS_VIS);, e o pixel shader define umStaticCombo(S_MODE_TOOLS_VIS, 0..1). Isso indica que o novo sky occluder pode ser alternado ou visualizado de forma especial dentro de ferramentas de desenvolvimento. Criadores de mapas ou utilizadores de ferramentas internas podem ter maneiras melhores de pré-visualizar e depurar onde os sky occluders estão posicionados e como afetam a cena. - Seleção dinâmica de passe: O pixel shader define
DynamicCombo(D_SKY_OCCLUDER_PASS, 0..3)com uma regra ligada à configuração de visibilidade das ferramentas. Isso sugere que existem múltiplos passes ou modos de sky occluder (por exemplo, diferentes passes de renderização ou vistas de debug), embora quantos desses são realmente usados em jogo não seja visível a partir desta alteração isolada. - Configuração de stencil: O shader define
RenderState(StencilRef, 128);, atribuindo um valor de referência de stencil específico. Isso provavelmente integra os sky occluders com as técnicas de renderização baseadas em stencil do motor (como máscaras ou efeitos seletivos), importante para pós-processamento avançado ou efeitos em camadas ao redor do céu.
Impacto geral
Esta atualização foca inteiramente no backend de renderização, adicionando um shader Vulkan dedicado para oclusão de céu. Embora não altere diretamente jogabilidade, balanceamento de armas ou interface, ela cria bases para renderização do céu mais robusta e flexível:
- A curto prazo, jogadores podem não notar diferenças evidentes, a não ser que mapas específicos ou efeitos comecem a usar este shader de forma agressiva.
- Com o tempo, este sistema pode permitir linhas de horizonte mais limpas, melhor ocultação de partes do mundo fora dos limites e céus visualmente mais consistentes entre diferentes pontos de vista e configurações gráficas.
Por enquanto, considere isto uma melhoria nos bastidores do pipeline visual do CS2, em vez de uma funcionalidade que possa ser diretamente ativada ou configurada no jogo.
