Codestyle fixes and some nodes docs
This commit is contained in:
@@ -939,8 +939,8 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
new NodeArchetype
|
||||
{
|
||||
TypeID = 43,
|
||||
Title = "Rotate UV [Simple Rotator]",
|
||||
Description = "Rotates 2d vector",
|
||||
Title = "Rotate UV",
|
||||
Description = "Rotates 2D vector by given angle around (0,0) origin",
|
||||
Flags = NodeFlags.MaterialGraph,
|
||||
Size = new Float2(250, 40),
|
||||
ConnectionsHints = ConnectionsHint.Vector,
|
||||
@@ -950,8 +950,8 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
],
|
||||
Elements =
|
||||
[
|
||||
NodeElementArchetype.Factory.Input(0, "Uvs", true, typeof(Float2), 0),
|
||||
NodeElementArchetype.Factory.Input(1, "Angle", true, typeof(float), 1,0),
|
||||
NodeElementArchetype.Factory.Input(0, "UV", true, typeof(Float2), 0),
|
||||
NodeElementArchetype.Factory.Input(1, "Angle", true, typeof(float), 1, 0),
|
||||
NodeElementArchetype.Factory.Output(0, string.Empty, typeof(Float2), 2),
|
||||
]
|
||||
},
|
||||
@@ -959,7 +959,7 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
{
|
||||
TypeID = 44,
|
||||
Title = "Cone Gradient",
|
||||
Description = "",
|
||||
Description = "Creates cone gradient around normalized UVs (range [-1; 1]), angle is in radians (range [0; TwoPi])",
|
||||
Flags = NodeFlags.MaterialGraph,
|
||||
Size = new Float2(175, 40),
|
||||
ConnectionsHints = ConnectionsHint.Vector,
|
||||
@@ -969,8 +969,8 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
],
|
||||
Elements =
|
||||
[
|
||||
NodeElementArchetype.Factory.Input(0, "Uvs", true, typeof(Float2), 0),
|
||||
NodeElementArchetype.Factory.Input(1, "Angle", true, typeof(float), 1,0),
|
||||
NodeElementArchetype.Factory.Input(0, "UV", true, typeof(Float2), 0),
|
||||
NodeElementArchetype.Factory.Input(1, "Angle", true, typeof(float), 1, 0),
|
||||
NodeElementArchetype.Factory.Output(0, string.Empty, typeof(float), 2),
|
||||
]
|
||||
},
|
||||
@@ -978,13 +978,13 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
{
|
||||
TypeID = 45,
|
||||
Title = "Cycle Gradient",
|
||||
Description = "2d verison of sphere mask",
|
||||
Description = "Creates 2D sphere mask gradient around normalized UVs (range [-1; 1])",
|
||||
Flags = NodeFlags.MaterialGraph,
|
||||
Size = new Float2(175, 20),
|
||||
ConnectionsHints = ConnectionsHint.Vector,
|
||||
Elements =
|
||||
[
|
||||
NodeElementArchetype.Factory.Input(0, "Uvs", true, typeof(Float2), 0),
|
||||
NodeElementArchetype.Factory.Input(0, "UV", true, typeof(Float2), 0),
|
||||
NodeElementArchetype.Factory.Output(0, string.Empty, typeof(float), 1),
|
||||
]
|
||||
},
|
||||
@@ -1004,8 +1004,8 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
Elements =
|
||||
[
|
||||
NodeElementArchetype.Factory.Input(0, "Value", true, typeof(float), 0),
|
||||
NodeElementArchetype.Factory.Input(1, "Offset", true, typeof(float), 1,0),
|
||||
NodeElementArchetype.Factory.Input(2, "Falloff", true, typeof(float), 2,1),
|
||||
NodeElementArchetype.Factory.Input(1, "Offset", true, typeof(float), 1, 0),
|
||||
NodeElementArchetype.Factory.Input(2, "Falloff", true, typeof(float), 2, 1),
|
||||
NodeElementArchetype.Factory.Output(0, string.Empty, typeof(float), 3),
|
||||
]
|
||||
},
|
||||
@@ -1024,9 +1024,9 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
],
|
||||
Elements =
|
||||
[
|
||||
NodeElementArchetype.Factory.Input(0, "Uvs", true, typeof(Float2), 0),
|
||||
NodeElementArchetype.Factory.Input(1, "Angle", true, typeof(float), 1,0),
|
||||
NodeElementArchetype.Factory.Input(2, "Mirror", true, typeof(bool), 2,1),
|
||||
NodeElementArchetype.Factory.Input(0, "UV", true, typeof(Float2), 0),
|
||||
NodeElementArchetype.Factory.Input(1, "Angle", true, typeof(float), 1, 0),
|
||||
NodeElementArchetype.Factory.Input(2, "Mirror", true, typeof(bool), 2, 1),
|
||||
NodeElementArchetype.Factory.Output(0, string.Empty, typeof(Float2), 3),
|
||||
]
|
||||
},
|
||||
@@ -1042,10 +1042,10 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
[
|
||||
0.0f,
|
||||
],
|
||||
Elements =
|
||||
Elements =
|
||||
[
|
||||
NodeElementArchetype.Factory.Input(0, "Uvs", true, typeof(Float2), 0),
|
||||
NodeElementArchetype.Factory.Input(1, "Angle", true, typeof(float), 1,0),
|
||||
NodeElementArchetype.Factory.Input(0, "UV", true, typeof(Float2), 0),
|
||||
NodeElementArchetype.Factory.Input(1, "Angle", true, typeof(float), 1, 0),
|
||||
NodeElementArchetype.Factory.Output(0, string.Empty, typeof(float), 2),
|
||||
]
|
||||
},
|
||||
@@ -1063,12 +1063,12 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
0.8f,
|
||||
0.05f,
|
||||
],
|
||||
Elements =
|
||||
Elements =
|
||||
[
|
||||
NodeElementArchetype.Factory.Input(0, "Uvs", true, typeof(Float2), 0),
|
||||
NodeElementArchetype.Factory.Input(1, "OuterBounds", true, typeof(float), 1,0),
|
||||
NodeElementArchetype.Factory.Input(2, "InnerBounds", true, typeof(float), 2,1),
|
||||
NodeElementArchetype.Factory.Input(3, "Falloff", true, typeof(float), 3,2),
|
||||
NodeElementArchetype.Factory.Input(0, "UV", true, typeof(Float2), 0),
|
||||
NodeElementArchetype.Factory.Input(1, "OuterBounds", true, typeof(float), 1, 0),
|
||||
NodeElementArchetype.Factory.Input(2, "InnerBounds", true, typeof(float), 2, 1),
|
||||
NodeElementArchetype.Factory.Input(3, "Falloff", true, typeof(float), 3, 2),
|
||||
NodeElementArchetype.Factory.Output(0, string.Empty, typeof(Float3), 4),
|
||||
]
|
||||
},
|
||||
|
||||
@@ -594,23 +594,22 @@ void MaterialGenerator::ProcessGroupMaterial(Box* box, Node* node, Value& value)
|
||||
// Cycle Gradient
|
||||
case 45:
|
||||
{
|
||||
//float gradient = 1 - lenght(uv * 2);
|
||||
//float gradient = 1 - length(uv * 2);
|
||||
const auto uv = tryGetValue(node->GetBox(0), getUVs).AsFloat2();
|
||||
value = writeLocal(ValueType::Float, String::Format(TEXT("1 - length({0} * 2)"), uv.Value), node);
|
||||
break;
|
||||
}
|
||||
//Falloff and Offset
|
||||
// Falloff and Offset
|
||||
case 46:
|
||||
{
|
||||
//float out = clamp((((Value - (1 - Offset)) + Falloff) / Falloff),0,1)
|
||||
const auto Value = tryGetValue(node->GetBox(0), ShaderGraphValue(0.0f));
|
||||
const auto Offset = tryGetValue(node->GetBox(1), node->Values[0].AsFloat);
|
||||
const auto Falloff = tryGetValue(node->GetBox(2), node->Values[1].AsFloat);
|
||||
|
||||
value = writeLocal(ValueType::Float, String::Format(TEXT("clamp(((({0} - (1 - {1})) + {2}) / {2}),0,1)"), Value.Value, Offset.Value, Falloff.Value), node);
|
||||
const auto in = tryGetValue(node->GetBox(0), ShaderGraphValue::Zero);
|
||||
const auto graphValue = tryGetValue(node->GetBox(1), node->Values[0].AsFloat);
|
||||
const auto falloff = tryGetValue(node->GetBox(2), node->Values[1].AsFloat);
|
||||
value = writeLocal(ValueType::Float, String::Format(TEXT("saturate(((({0} - (1.0 - {1})) + {2}) / {2}))"), in.Value, graphValue.Value, falloff.Value), node);
|
||||
break;
|
||||
}
|
||||
//Linear Gradient
|
||||
// Linear Gradient
|
||||
case 47:
|
||||
{
|
||||
// float2 uv = Input0.xy;
|
||||
@@ -620,19 +619,16 @@ void MaterialGenerator::ProcessGroupMaterial(Box* box, Node* node, Value& value)
|
||||
|
||||
const auto uv = tryGetValue(node->GetBox(0), getUVs).AsFloat2();
|
||||
const auto rotationAngle = tryGetValue(node->GetBox(1), node->Values[0].AsFloat).AsFloat();
|
||||
const auto Mirror = tryGetValue(node->GetBox(2), node->Values[1].AsBool).AsBool();
|
||||
const auto mirror = tryGetValue(node->GetBox(2), node->Values[1].AsBool).AsBool();
|
||||
|
||||
auto c = writeLocal(ValueType::Float, String::Format(TEXT("cos({0})"), rotationAngle.Value), node);
|
||||
auto s = writeLocal(ValueType::Float, String::Format(TEXT("sin({0})"), rotationAngle.Value), node);
|
||||
auto A = writeLocal(ValueType::Float2, String::Format(TEXT("1.0 - float2({1} * {0}.x + {2} * {0}.y,{1} * {0}.y - {2} * {0}.x)"), uv.Value, c.Value, s.Value), node);
|
||||
auto a = writeLocal(ValueType::Float2, String::Format(TEXT("1.0 - float2({1} * {0}.x + {2} * {0}.y,{1} * {0}.y - {2} * {0}.x)"), uv.Value, c.Value, s.Value), node);
|
||||
value = writeLocal(
|
||||
ValueType::Float2,
|
||||
String::Format(TEXT
|
||||
(
|
||||
"float2({0} ? abs({1}.x < 1.0 ? ({1}.x - 0.5) * 2 : (2 - (({1}.x - 0.5) * 2)) * -1) : {1}.x < 1.0 ? ({1}.x - 0.5) * 2 : 1,{0} ? abs({1}.y < 1.0 ? ({1}.y - 0.5) * 2 : (2 - (({1}.y - 0.5) * 2)) * -1) : {1}.y < 1.0 ? ({1}.y - 0.5) * 2 : 1)"
|
||||
),
|
||||
Mirror.Value,
|
||||
A.Value),
|
||||
ValueType::Float2, String::Format(TEXT
|
||||
(
|
||||
"float2({0} ? abs({1}.x < 1.0 ? ({1}.x - 0.5) * 2 : (2 - (({1}.x - 0.5) * 2)) * -1) : {1}.x < 1.0 ? ({1}.x - 0.5) * 2 : 1,{0} ? abs({1}.y < 1.0 ? ({1}.y - 0.5) * 2 : (2 - (({1}.y - 0.5) * 2)) * -1) : {1}.y < 1.0 ? ({1}.y - 0.5) * 2 : 1)"
|
||||
), mirror.Value, a.Value),
|
||||
node);
|
||||
break;
|
||||
}
|
||||
@@ -654,23 +650,23 @@ void MaterialGenerator::ProcessGroupMaterial(Box* box, Node* node, Value& value)
|
||||
// float OuterMask = FalloffAndOffset(1-c,1-InnerBounds,Falloff)
|
||||
// float Mask = OuterMask * InnerMask;
|
||||
|
||||
//ToDo: cheak if there is some useless operetors
|
||||
// TODO: check if there is some useless operators
|
||||
|
||||
//expanded
|
||||
//float cycleGradient = 1 - lenght(uv * 2);
|
||||
//float cycleGradient = 1 - length(uv * 2);
|
||||
//float InnerMask = clamp((((c - (1 - (OuterBounds - Falloff))) + Falloff) / Falloff),0,1)
|
||||
//float OuterMask = clamp(((((1-c) - (1 - (1-InnerBounds))) + Falloff) / Falloff),0,1)
|
||||
//float Mask = OuterMask * InnerMask;
|
||||
|
||||
const auto uv = tryGetValue(node->GetBox(0), getUVs).AsFloat2();
|
||||
const auto OuterBounds = tryGetValue(node->GetBox(1), node->Values[0].AsFloat).AsFloat();
|
||||
const auto InnerBounds = tryGetValue(node->GetBox(2), node->Values[1].AsFloat).AsFloat();
|
||||
const auto Falloff = tryGetValue(node->GetBox(3), node->Values[2].AsFloat).AsFloat();
|
||||
const auto uv = tryGetValue(node->GetBox(0), getUVs).AsFloat2();
|
||||
const auto outerBounds = tryGetValue(node->GetBox(1), node->Values[0].AsFloat).AsFloat();
|
||||
const auto innerBounds = tryGetValue(node->GetBox(2), node->Values[1].AsFloat).AsFloat();
|
||||
const auto falloff = tryGetValue(node->GetBox(3), node->Values[2].AsFloat).AsFloat();
|
||||
auto c = writeLocal(ValueType::Float, String::Format(TEXT("1 - length({0} * 2)"), uv.Value), node);
|
||||
auto InnerMask = writeLocal(ValueType::Float, String::Format(TEXT("clamp(((({0} - (1 - ({1} - {2}))) + {2}) / {2}),0,1)"), c.Value, OuterBounds.Value, Falloff.Value), node);
|
||||
auto OuterMask = writeLocal(ValueType::Float, String::Format(TEXT("clamp(((((1-{0}) - (1 - (1-{1}))) + {2}) / {2}),0,1)"), c.Value, InnerBounds.Value, Falloff.Value), node);
|
||||
auto Mask = writeLocal(ValueType::Float, String::Format(TEXT("{0} * {1}"), InnerMask.Value, OuterMask.Value), node);
|
||||
value = writeLocal(ValueType::Float3, String::Format(TEXT("float3({0},{1},{2})"), InnerMask.Value, OuterMask.Value, Mask.Value), node);
|
||||
auto innerMask = writeLocal(ValueType::Float, String::Format(TEXT("clamp(((({0} - (1 - ({1} - {2}))) + {2}) / {2}),0,1)"), c.Value, outerBounds.Value, falloff.Value), node);
|
||||
auto outerMask = writeLocal(ValueType::Float, String::Format(TEXT("clamp(((((1-{0}) - (1 - (1-{1}))) + {2}) / {2}),0,1)"), c.Value, innerBounds.Value, falloff.Value), node);
|
||||
auto mask = writeLocal(ValueType::Float, String::Format(TEXT("{0} * {1}"), innerMask.Value, outerMask.Value), node);
|
||||
value = writeLocal(ValueType::Float3, String::Format(TEXT("float3({0},{1},{2})"), innerMask.Value, outerMask.Value, mask.Value), node);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user