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)));
Рендерер Compatibility використовує простішу формулу, яка може призвести до невизначеної поведінки при від’ємних значеннях вхідних даних:
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)));
Рендерер Compatibility використовує простішу формулу, яка погано працює з від’ємними значеннями вхідних даних:
vec3 c = input;
return c * (c * (c * 0.305306011 + 0.682171111) + 0.012522878);
Function FUNC_MAX = 6
Представляємо розмір занурення Функціональність.
Описи властивостей
Функція, яка застосовується до вхідного кольору.