Fix node archetype

This commit is contained in:
Wojtek Figat
2024-07-19 00:54:05 +02:00
parent 64bd762f44
commit 6e60a988a0
3 changed files with 3 additions and 3 deletions

View File

@@ -390,7 +390,7 @@ namespace FlaxEditor.Surface.Archetypes
NodeElementArchetype.Factory.Output(0, "Gradient", typeof(Float3), 0),
NodeElementArchetype.Factory.Output(1, "Distance", typeof(float), 2),
NodeElementArchetype.Factory.Input(0, "World Position", true, typeof(Float3), 1),
NodeElementArchetype.Factory.Input(1, "Start Cascade", true, typeof(int), 2, 0),
NodeElementArchetype.Factory.Input(1, "Start Cascade", true, typeof(int), 3, 0),
}
},
new NodeArchetype

View File

@@ -323,7 +323,7 @@ void ParticleEmitterGPUGenerator::ProcessGroupTextures(Box* box, Node* node, Val
auto distanceBox = node->GetBox(2);
auto param = findOrAddGlobalSDF();
Value worldPosition = tryGetValue(node->GetBox(1), Value(VariantType::Float3, TEXT("input.WorldPosition.xyz"))).Cast(VariantType::Float3);
Value startCascade = tryGetValue(node->GetBox(2), 0, Value::Zero).Cast(VariantType::Uint);
Value startCascade = tryGetValue(node->GetBox(3), 0, Value::Zero).Cast(VariantType::Uint);
auto distance = writeLocal(VariantType::Float, node);
auto gradient = writeLocal(VariantType::Float3, String::Format(TEXT("SampleGlobalSDFGradient({0}, {0}_Tex, {0}_Mip, {1}, {2}, {3})"), param.ShaderName, worldPosition.Value, distance.Value, startCascade.Value), node);
_includes.Add(TEXT("./Flax/GlobalSignDistanceField.hlsl"));

View File

@@ -677,7 +677,7 @@ void MaterialGenerator::ProcessGroupTextures(Box* box, Node* node, Value& value)
auto distanceBox = node->GetBox(2);
auto param = findOrAddGlobalSDF();
Value worldPosition = tryGetValue(node->GetBox(1), Value(VariantType::Float3, TEXT("input.WorldPosition.xyz"))).Cast(VariantType::Float3);
Value startCascade = tryGetValue(node->GetBox(2), 0, Value::Zero).Cast(VariantType::Uint);
Value startCascade = tryGetValue(node->GetBox(3), 0, Value::Zero).Cast(VariantType::Uint);
auto distance = writeLocal(VariantType::Float, node);
auto gradient = writeLocal(VariantType::Float3, String::Format(TEXT("SampleGlobalSDFGradient({0}, {0}_Tex, {0}_Mip, {1}, {2}, {3})"), param.ShaderName, worldPosition.Value, distance.Value, startCascade.Value), node);
_includes.Add(TEXT("./Flax/GlobalSignDistanceField.hlsl"));