Renderer/ShaderNodes: Fix BinOp expression type

This commit is contained in:
Jérôme Leclercq 2020-07-22 14:45:40 +02:00
parent db945d11fb
commit b441bab218
1 changed files with 19 additions and 2 deletions

View File

@ -104,8 +104,25 @@ namespace Nz::ShaderNodes
const ShaderExpressionType& rightExprType = right->GetExpressionType(); const ShaderExpressionType& rightExprType = right->GetExpressionType();
assert(std::holds_alternative<BasicType>(rightExprType)); assert(std::holds_alternative<BasicType>(rightExprType));
//FIXME switch (std::get<BasicType>(leftExprType))
exprType = static_cast<BasicType>(std::max(UnderlyingCast(std::get<BasicType>(leftExprType)), UnderlyingCast(std::get<BasicType>(rightExprType)))); {
case BasicType::Boolean:
case BasicType::Float2:
case BasicType::Float3:
case BasicType::Float4:
exprType = leftExprType;
break;
case BasicType::Float1:
case BasicType::Mat4x4:
exprType = rightExprType;
break;
case BasicType::Sampler2D:
case BasicType::Void:
break;
}
break; break;
} }