Renderer/ShaderAst: Add BinaryFunc

This commit is contained in:
Lynix
2020-06-04 18:29:50 +02:00
parent 41b50eeac3
commit 25562a5856
4 changed files with 75 additions and 1 deletions

View File

@@ -254,4 +254,31 @@ namespace Nz::ShaderAst
{
visitor.Write(*this);
}
ExpressionType BinaryFunc::GetExpressionType() const
{
switch (intrinsic)
{
case BinaryIntrinsic::CrossProduct:
return left->GetExpressionType();
case BinaryIntrinsic::DotProduct:
return ExpressionType::Float1;
}
NazaraAssert(false, "Unhandled builtin");
return ExpressionType::Void;
}
void BinaryFunc::Register(ShaderWriter& visitor)
{
left->Register(visitor);
right->Register(visitor);
}
void BinaryFunc::Visit(ShaderWriter& visitor)
{
visitor.Write(*this);
}
}