Add Mask ZW node to all Visject surfaces

This commit is contained in:
Wojtek Figat
2021-02-23 13:57:34 +01:00
parent d01365d416
commit 24d31d024d
3 changed files with 26 additions and 0 deletions

View File

@@ -579,6 +579,20 @@ namespace FlaxEditor.Surface.Archetypes
NodeElementArchetype.Factory.Output(0, "YZ", typeof(Vector2), 1)
}
},
new NodeArchetype
{
TypeID = 47,
Title = "Mask ZW",
Description = "Unpack ZW components from Vector",
Flags = NodeFlags.AllGraphs,
ConnectionsHints = ConnectionsHint.Vector,
Size = new Vector2(110, 30),
Elements = new[]
{
NodeElementArchetype.Factory.Input(0, "Value", true, null, 0),
NodeElementArchetype.Factory.Output(0, "ZW", typeof(Vector2), 1)
}
},
// Mask XYZ
new NodeArchetype

View File

@@ -534,6 +534,12 @@ void ShaderGenerator::ProcessGroupPacking(Box* box, Node* node, Value& value)
Value v = tryGetValue(node->GetBox(0), Vector4::Zero).AsVector4();
value = Value(ValueType::Vector2, v.Value + TEXT(".yz"));
break;
}
case 47:
{
Value v = tryGetValue(node->GetBox(0), Vector4::Zero).AsVector4();
value = Value(ValueType::Vector2, v.Value + TEXT(".zw"));
break;
}
// Mask XYZ
case 70:

View File

@@ -533,6 +533,12 @@ void VisjectExecutor::ProcessGroupPacking(Box* box, Node* node, Value& value)
const Vector4 v = (Vector4)tryGetValue(node->GetBox(0), Vector4::Zero);
value = Vector2(v.Y, v.Z);
break;
}
case 47:
{
const Vector4 v = (Vector4)tryGetValue(node->GetBox(0), Vector4::Zero);
value = Vector2(v.Z, v.W);
break;
}
// Mask XYZ
case 70: