Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
VisualShaderNodeColorFunc
Наследует: VisualShaderNode < Resource < RefCounted < Object
Функция Color, которая будет использоваться в графе визуального шейдера.
Описание
Принять Color на входной порт и преобразовать его в соответствии с function.
Свойства
|
Перечисления
enum Function: 🔗
Function FUNC_GRAYSCALE = 0
Преобразует цвет в оттенки серого, используя следующую формулу:
vec3 c = input;
float max1 = max(c.r, c.g);
float max2 = max(max1, c.b);
float max3 = max(max1, max2);
return vec3(max3, max3, max3);
Function FUNC_HSV2RGB = 1
Конвертирует вектор HSV в RGB эквивалент.
Function FUNC_RGB2HSV = 2
Конвертирует вектор RGB в HSV эквивалент.
Function FUNC_SEPIA = 3
Применяет эффект сепии, используя следующую формулу:
vec3 c = input;
float r = (c.r * 0.393) + (c.g * 0.769) + (c.b * 0.189);
float g = (c.r * 0.349) + (c.g * 0.686) + (c.b * 0.168);
float b = (c.r * 0.272) + (c.g * 0.534) + (c.b * 0.131);
return vec3(r, g, b);
Function FUNC_LINEAR_TO_SRGB = 4
Преобразует цвет из линейного кодирования в нелинейное кодирование sRGB, используя следующую формулу:
const vec3 a = vec3(0.055f);
return mix((vec3(1.0f) + a) * pow(c.rgb, vec3(1.0f / 2.4f)) - a, 12.92f * c.rgb, lessThan(c.rgb, vec3(0.0031308f)));
Средство отображения совместимости использует более простую формулу, которая может приводить к неопределенному поведению при отрицательных входных значениях:
vec3 c = input;
return max(vec3(1.055) * pow(c, vec3(0.416666667)) - vec3(0.055), vec3(0.0));
Function FUNC_SRGB_TO_LINEAR = 5
Преобразует цвет из нелинейного кодирования sRGB в линейное кодирование, используя следующую формулу:
vec3 c = input;
return mix(pow((c.rgb + vec3(0.055)) * (1.0 / (1.0 + 0.055)), vec3(2.4)), c.rgb * (1.0 / 12.92), lessThan(c.rgb, vec3(0.04045)));
Средство отображения совместимости использует более простую формулу, которая плохо работает с отрицательными входными значениями:
vec3 c = input;
return c * (c * (c * 0.305306011 + 0.682171111) + 0.012522878);
Function FUNC_MAX = 6
Представляет размер перечисления Function.
Описания свойств
Функция, применяемая к входному цвету.