Shader: AccessMember can now access nested fields

This commit is contained in:
Jérôme Leclercq
2020-08-21 22:50:30 +02:00
parent 9df219e402
commit cd23c01ace
10 changed files with 80 additions and 33 deletions

View File

@@ -168,10 +168,15 @@ namespace Nz::ShaderNodes
}
inline std::shared_ptr<AccessMember> AccessMember::Build(ExpressionPtr structExpr, std::size_t memberIndex, ShaderExpressionType exprType)
{
return Build(std::move(structExpr), std::vector<std::size_t>{ memberIndex }, exprType);
}
inline std::shared_ptr<AccessMember> AccessMember::Build(ExpressionPtr structExpr, std::vector<std::size_t> memberIndices, ShaderExpressionType exprType)
{
auto node = std::make_shared<AccessMember>();
node->exprType = std::move(exprType);
node->memberIndex = memberIndex;
node->memberIndices = std::move(memberIndices);
node->structExpr = std::move(structExpr);
return node;