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

@@ -26,13 +26,20 @@ namespace Nz
Simple //< =
};
enum class BinaryIntrinsic
{
CrossProduct,
DotProduct
};
enum class BinaryType
{
Add, //< +
Substract, //< -
Multiply, //< *
Divide, //< /
Equality //< ==
Equality //< ==
};
enum class BuiltinEntry
@@ -325,6 +332,22 @@ namespace Nz
ExpressionPtr sampler;
ExpressionPtr coordinates;
};
//////////////////////////////////////////////////////////////////////////
class NAZARA_RENDERER_API BinaryFunc : public Expression
{
public:
inline BinaryFunc(BinaryIntrinsic Op, ExpressionPtr Left, ExpressionPtr Right);
ExpressionType GetExpressionType() const override;
void Register(ShaderWriter& visitor) override;
void Visit(ShaderWriter& visitor) override;
BinaryIntrinsic intrinsic;
ExpressionPtr left;
ExpressionPtr right;
};
}
}