Устанавливает маску записи цветового канала, которая предотвращает запись графическим процессором в каналы в цели рендеринга.
По умолчанию GPU записывает во все каналы (RGBA). Для некоторых эффектов вы можете оставить определенные каналы без изменений; например, вы можете отключить отрисовку цветапроцесс отрисовки графики на экран (или текстуру отрисовки). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
См. в Словарь для рендеринга неокрашенных теней. Другим распространенным вариантом использования является полное отключение цветной записи, чтобы вы могли заполнять один буфер данными без записи в другие; например, вы можете заполнить буфер трафаретахранилище памяти, которое содержит 8-битное значение на пиксель. В Unity вы можете использовать буфер трафарета, чтобы отметить пиксели, а затем выполнить рендеринг только для тех пикселей, которые прошли операцию трафарета. Подробнее
Просмотреть в Словарь без записи в целевой объект визуализации.
Совместимость конвейера рендеринга
Название функции | Встроенный конвейер рендеринга | Универсальный конвейер рендеринга (URP) | Конвейер рендеринга высокого разрешения (HDRP) | Пользовательская SRP |
---|---|---|---|---|
ColorMask | Да | Да | Да | Да |
Использование
Эта команда изменяет состояние рендеринга. Используйте его в блоке Pass
, чтобы задать состояние рендеринга для этого Pass, или используйте его в блоке SubShader
, чтобы задать рендеринг. состояние для всех проходов в этом субшейдере.
Подпись | Пример синтаксиса | Функции |
---|---|---|
ColorMask |
ColorMask RGB |
Запись в заданные каналы цели рендеринга по умолчанию. |
ColorMask |
ColorMask RGB 2 |
То же, что и выше, но для заданной цели рендеринга. |
Действительные значения параметров
Параметры | Значение | Функции |
---|---|---|
render target | Integer, 0 through 7. | Целевой индекс рендеринга. |
channels | 0 |
Включает цветную запись в каналы R, G, B и A. |
R |
Включает цветную запись в красный канал. | |
G |
Включает цветную запись в зеленый канал. | |
B |
Включает цветную запись в синий канал. | |
A |
Включает запись цвета в альфа-канал. | |
Any combination of R , G , B , and A without spaces. For example: RB
|
Включает цветную запись в заданные каналы. |
Примеры
Shader "Examples/CommandExample"
{
SubShader
{
// The rest of the code that defines the SubShader goes here.
Pass
{
// Enable writing only to the RGB channels for this Pass, which disables writing to the alpha channel
ColorMask RGB
// The rest of the code that defines the Pass goes here.
}
}
}
В этом примере кода демонстрируется синтаксис использования этой команды в блоке SubShader.
Shader "Examples/CommandExample"
{
SubShader
{
// Enable writing only to the RGB channels for this SubShader, which disables writing to the alpha channel
ColorMask RGB
// The rest of the code that defines the SubShader goes here.
Pass
{
// The rest of the code that defines the Pass goes here.
}
}
}