@@ -271,6 +271,48 @@ ShaderGraphValue ShaderGraphValue::InitForOne(VariantType::Types type)
|
||||
return ShaderGraphValue(type, String(v));
|
||||
}
|
||||
|
||||
ShaderGraphValue ShaderGraphValue::GetY() const
|
||||
{
|
||||
switch (Type)
|
||||
{
|
||||
case VariantType::Float2:
|
||||
case VariantType::Float3:
|
||||
case VariantType::Float4:
|
||||
case VariantType::Double2:
|
||||
case VariantType::Double3:
|
||||
case VariantType::Double4:
|
||||
return ShaderGraphValue(VariantType::Types::Float, Value + _subs[1]);
|
||||
default:
|
||||
return Zero;
|
||||
}
|
||||
}
|
||||
|
||||
ShaderGraphValue ShaderGraphValue::GetZ() const
|
||||
{
|
||||
switch (Type)
|
||||
{
|
||||
case VariantType::Float3:
|
||||
case VariantType::Float4:
|
||||
case VariantType::Double3:
|
||||
case VariantType::Double4:
|
||||
return ShaderGraphValue(VariantType::Types::Float, Value + _subs[2]);
|
||||
default:
|
||||
return Zero;
|
||||
}
|
||||
}
|
||||
|
||||
ShaderGraphValue ShaderGraphValue::GetW() const
|
||||
{
|
||||
switch (Type)
|
||||
{
|
||||
case VariantType::Float4:
|
||||
case VariantType::Double4:
|
||||
return ShaderGraphValue(VariantType::Types::Float, Value + _subs[3]);
|
||||
default:
|
||||
return One;
|
||||
}
|
||||
}
|
||||
|
||||
ShaderGraphValue ShaderGraphValue::Cast(const ShaderGraphValue& v, VariantType::Types to)
|
||||
{
|
||||
// If they are the same types or input value is empty, then just return value
|
||||
|
||||
@@ -318,28 +318,19 @@ public:
|
||||
/// Gets the Y component of the value. Valid only for vector types.
|
||||
/// </summary>
|
||||
/// <returns>The Y component.</returns>
|
||||
ShaderGraphValue GetY() const
|
||||
{
|
||||
return ShaderGraphValue(VariantType::Types::Float, Value + _subs[1]);
|
||||
}
|
||||
ShaderGraphValue GetY() const;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the Z component of the value. Valid only for vector types.
|
||||
/// </summary>
|
||||
/// <returns>The Z component.</returns>
|
||||
ShaderGraphValue GetZ() const
|
||||
{
|
||||
return ShaderGraphValue(VariantType::Types::Float, Value + _subs[2]);
|
||||
}
|
||||
ShaderGraphValue GetZ() const;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the W component of the value. Valid only for vector types.
|
||||
/// </summary>
|
||||
/// <returns>The W component.</returns>
|
||||
ShaderGraphValue GetW() const
|
||||
{
|
||||
return ShaderGraphValue(VariantType::Types::Float, Value + _subs[3]);
|
||||
}
|
||||
ShaderGraphValue GetW() const;
|
||||
|
||||
public:
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user