MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / ShaderGraphValue

Method ShaderGraphValue

Source/Engine/Visject/ShaderGraphValue.cpp:25–111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23const ShaderGraphValue ShaderGraphValue::False(VariantType::Types::Bool, TEXT("false"));
24
25ShaderGraphValue::ShaderGraphValue(const Variant& v)
26{
27 switch (v.Type.Type)
28 {
29 case VariantType::Bool:
30 Type = VariantType::Types::Bool;
31 Value = v.AsBool ? TEXT('1') : TEXT('0');
32 break;
33 case VariantType::Int:
34 Type = VariantType::Types::Int;
35 Value = StringUtils::ToString(v.AsInt);
36 break;
37 case VariantType::Uint:
38 Type = VariantType::Types::Uint;
39 Value = StringUtils::ToString(v.AsUint);
40 break;
41 case VariantType::Float:
42 Type = VariantType::Types::Float;
43 Value = String::Format(TEXT("{}"), v.AsFloat);
44 if (Value.Find('.') == -1)
45 Value = String::Format(TEXT("{:.1f}"), v.AsFloat);
46 break;
47 case VariantType::Double:
48 Type = VariantType::Types::Float;
49 Value = String::Format(TEXT("{}"), (float)v.AsDouble);
50 if (Value.Find('.') == -1)
51 Value = String::Format(TEXT("{:.1f}"), (float)v.AsDouble);
52 break;
53 case VariantType::Float2:
54 {
55 const auto vv = v.AsFloat2();
56 Type = VariantType::Types::Float2;
57 Value = String::Format(TEXT("float2({0}, {1})"), vv.X, vv.Y);
58 break;
59 }
60 case VariantType::Float3:
61 {
62 const auto vv = v.AsFloat3();
63 Type = VariantType::Types::Float3;
64 Value = String::Format(TEXT("float3({0}, {1}, {2})"), vv.X, vv.Y, vv.Z);
65 break;
66 }
67 case VariantType::Float4:
68 case VariantType::Color:
69 {
70 const auto vv = v.AsFloat4();
71 Type = VariantType::Types::Float4;
72 Value = String::Format(TEXT("float4({0}, {1}, {2}, {3})"), vv.X, vv.Y, vv.Z, vv.W);
73 break;
74 }
75 case VariantType::Double2:
76 {
77 const auto vv = (::Float2)v.AsDouble2();
78 Type = VariantType::Types::Float2;
79 Value = String::Format(TEXT("float2({0}, {1})"), vv.X, vv.Y);
80 break;
81 }
82 case VariantType::Double3:

Callers

nothing calls this directly

Calls 6

AsFloat2Method · 0.80
AsFloat3Method · 0.80
AsFloat4Method · 0.80
ToStringFunction · 0.50
FormatFunction · 0.50
FindMethod · 0.45

Tested by

no test coverage detected