@@ -1824,6 +1824,7 @@ Variant::operator Float4() const
|
||||
return Float4(*(Float3*)AsData, 0.0f);
|
||||
case VariantType::Float4:
|
||||
case VariantType::Color:
|
||||
case VariantType::Quaternion:
|
||||
return *(Float4*)AsData;
|
||||
case VariantType::Double2:
|
||||
return Float4(AsDouble2(), 0.0f, 0.0f);
|
||||
|
||||
@@ -456,6 +456,7 @@ void ParticleEmitterGPUGenerator::PrepareGraph(ParticleEmitterGraphGPU* graph)
|
||||
mp.AsFloat3 = param->Value.AsFloat3();
|
||||
break;
|
||||
case VariantType::Float4:
|
||||
case VariantType::Quaternion:
|
||||
mp.Type = MaterialParameterType::Vector4;
|
||||
*(Float4*)&mp.AsData = param->Value.AsFloat4();
|
||||
break;
|
||||
|
||||
@@ -92,9 +92,13 @@ void ShaderGenerator::ProcessGroupConstants(Box* box, Node* node, Value& value)
|
||||
value = Value(cv.W);
|
||||
break;
|
||||
}
|
||||
// Rotation
|
||||
case 8:
|
||||
{
|
||||
value = Value::Zero;
|
||||
const float pitch = (float)node->Values[0];
|
||||
const float yaw = (float)node->Values[1];
|
||||
const float roll = (float)node->Values[2];
|
||||
value = Value(Quaternion::Euler(pitch, yaw, roll));
|
||||
break;
|
||||
}
|
||||
// PI
|
||||
|
||||
@@ -460,6 +460,7 @@ ShaderGraphValue ShaderGraphValue::Cast(const ShaderGraphValue& v, VariantType::
|
||||
case VariantType::Types::Float4:
|
||||
case VariantType::Types::Double4:
|
||||
case VariantType::Types::Color:
|
||||
case VariantType::Types::Quaternion:
|
||||
switch (v.Type)
|
||||
{
|
||||
case VariantType::Types::Bool:
|
||||
@@ -485,16 +486,6 @@ ShaderGraphValue ShaderGraphValue::Cast(const ShaderGraphValue& v, VariantType::
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VariantType::Types::Quaternion:
|
||||
switch (v.Type)
|
||||
{
|
||||
case VariantType::Types::Color:
|
||||
case VariantType::Types::Float4:
|
||||
case VariantType::Types::Double4:
|
||||
format = TEXT("{}");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (format == nullptr)
|
||||
{
|
||||
|
||||
@@ -79,6 +79,7 @@ void VisjectExecutor::ProcessGroupConstants(Box* box, Node* node, Value& value)
|
||||
value = cv.W;
|
||||
break;
|
||||
}
|
||||
// Rotation
|
||||
case 8:
|
||||
{
|
||||
const float pitch = (float)node->Values[0];
|
||||
|
||||
Reference in New Issue
Block a user