Add **Sample Global SDF** node to particles

This commit is contained in:
Wojciech Figat
2022-03-25 11:41:17 +01:00
parent f8670a497e
commit 4a18185e81
5 changed files with 18 additions and 3 deletions

View File

@@ -303,6 +303,15 @@ void ParticleEmitterGPUGenerator::ProcessGroupTextures(Box* box, Node* node, Val
loadTexture(node, box, copy, value);
break;
}
// Sample Global SDF
case 14:
{
auto param = findOrAddGlobalSDF();
Value worldPosition = tryGetValue(node->GetBox(1), Value(VariantType::Vector3, TEXT("input.WorldPosition.xyz"))).Cast(VariantType::Vector3);
value = writeLocal(VariantType::Float, String::Format(TEXT("SampleGlobalSDF({0}, {0}_Tex, {1})"), param.ShaderName, worldPosition.Value), node);
_includes.Add(TEXT("./Flax/GlobalSignDistanceField.hlsl"));
break;
}
default:
break;
}