Unity 6.3
0 онлайн 118 гостей 3 в системе
Вход
Материалы и шейдеры Шаг 242 из 442

Включить консервативное растрирование в шейдере

Растеризация — это техника рендеринга, которая преобразует векторные данные (проекции треугольников) в пиксельные данные (целевые пиксели рендеринга) путем определения того, какие пиксели покрыты треугольниками. Обычно GPU определяет, растрировать или нет пиксель, выбирая точки внутри пикселя, чтобы определить, покрыты ли они треугольником; если покрытие достаточно, то GPU определяет, что пиксель покрыт. Консервативная растрировка означает, что GPU растрирует пиксель, который частично покрыт треугольником, независимо от покрытия. Это полезно, когда требуется определенность, например, при выполнении вычленения окклюзии, обнаружении столкновений на GPU или обнаружении видимости.

Консервативная растровая обработка означает, что GPU генерирует больше фрагментов на краях треугольника; это приводит к большему количеству вызовов фрагментных шейдеров, что может привести к увеличению времени кадров GPU.

Проверить поддержку оборудования с помощью SystemInfo.supportsConservativeRaster API. На оборудовании, которое не поддерживает эту команду, она игнорируется.

Пример

Shader "Examples/CommandExample"
{
    SubShader
    {
         // The rest of the code that defines the SubShader goes here.

        Pass
        {    
              // Enable conservative rasterization for this Pass.
              Conservative True
            
              // The rest of the code that defines the Pass goes here.
        }
    }
}

Дополнительные ресурсы