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