ShaderNode: Handle vector component count at runtime

This commit is contained in:
Lynix
2020-05-31 18:39:28 +02:00
parent 2ecc624fe4
commit effd1b4552
28 changed files with 529 additions and 339 deletions

View File

@@ -258,6 +258,7 @@ namespace Nz
{
public:
inline Cast(ExpressionType castTo, ExpressionPtr first, ExpressionPtr second = nullptr, ExpressionPtr third = nullptr, ExpressionPtr fourth = nullptr);
inline Cast(ExpressionType castTo, ExpressionPtr* expressions, std::size_t expressionCount);
ExpressionType GetExpressionType() const override;
void Register(ShaderWriter& visitor) override;
@@ -265,6 +266,9 @@ namespace Nz
ExpressionType exprType;
std::array<ExpressionPtr, 4> expressions;
private:
void Validate() const;
};
class NAZARA_RENDERER_API Constant : public Expression