Attention: Here be dragons (unstable version)
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Redot.
Checking the stable version of the documentation...
VisualShaderNodeColorOp
Inherits: VisualShaderNode < Resource < RefCounted < Object
A Color operator to be used within the visual shader graph.
Description
Applies operator to two color inputs.
Properties
|
Enumerations
enum Operator: 🔗
Operator OP_SCREEN = 0
Produce a screen effect with the following formula:
result = vec3(1.0) - (vec3(1.0) - a) * (vec3(1.0) - b);
Operator OP_DIFFERENCE = 1
Produce a difference effect with the following formula:
result = abs(a - b);
Operator OP_DARKEN = 2
Produce a darken effect with the following formula:
result = min(a, b);
Operator OP_LIGHTEN = 3
Produce a lighten effect with the following formula:
result = max(a, b);
Operator OP_OVERLAY = 4
Produce an overlay effect with the following formula:
for (int i = 0; i < 3; i++) {
float base = a[i];
float blend = b[i];
if (base < 0.5) {
result[i] = 2.0 * base * blend;
} else {
result[i] = 1.0 - 2.0 * (1.0 - blend) * (1.0 - base);
}
}
Operator OP_DODGE = 5
Produce a dodge effect with the following formula:
result = a / (vec3(1.0) - b);
Operator OP_BURN = 6
Produce a burn effect with the following formula:
result = vec3(1.0) - (vec3(1.0) - a) / b;
Operator OP_SOFT_LIGHT = 7
Produce a soft light effect with the following formula:
for (int i = 0; i < 3; i++) {
float base = a[i];
float blend = b[i];
if (base < 0.5) {
result[i] = base * (blend + 0.5);
} else {
result[i] = 1.0 - (1.0 - base) * (1.0 - (blend - 0.5));
}
}
Operator OP_HARD_LIGHT = 8
Produce a hard light effect with the following formula:
for (int i = 0; i < 3; i++) {
float base = a[i];
float blend = b[i];
if (base < 0.5) {
result[i] = base * (2.0 * blend);
} else {
result[i] = 1.0 - (1.0 - base) * (1.0 - 2.0 * (blend - 0.5));
}
}
Operator OP_MAX = 9
Represents the size of the Operator enum.
Property Descriptions
An operator to be applied to the inputs. See Operator for options.