Update ShaderNode
This commit is contained in:
@@ -1,18 +0,0 @@
|
||||
#include <ShaderNode/DataTypes/VecData.hpp>
|
||||
#include <cassert>
|
||||
#include <stdexcept>
|
||||
|
||||
Nz::ShaderNodes::BasicType VecData::GetExpressionType() const
|
||||
{
|
||||
switch (componentCount)
|
||||
{
|
||||
case 2: return Nz::ShaderNodes::BasicType::Float2;
|
||||
case 3: return Nz::ShaderNodes::BasicType::Float3;
|
||||
case 4: return Nz::ShaderNodes::BasicType::Float4;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
assert(false);
|
||||
throw std::runtime_error("invalid component count");
|
||||
}
|
||||
@@ -13,43 +13,12 @@ struct VecData : public QtNodes::NodeData
|
||||
|
||||
inline QtNodes::NodeDataType type() const override;
|
||||
|
||||
Nz::ShaderNodes::BasicType GetExpressionType() const;
|
||||
|
||||
static inline QtNodes::NodeDataType Type();
|
||||
|
||||
std::size_t componentCount;
|
||||
PreviewValues preview;
|
||||
};
|
||||
|
||||
template<std::size_t N>
|
||||
struct VecExpressionTypeHelper;
|
||||
|
||||
template<>
|
||||
struct VecExpressionTypeHelper<1>
|
||||
{
|
||||
static constexpr Nz::ShaderNodes::BasicType ExpressionType = Nz::ShaderNodes::BasicType::Float1;
|
||||
};
|
||||
|
||||
template<>
|
||||
struct VecExpressionTypeHelper<2>
|
||||
{
|
||||
static constexpr Nz::ShaderNodes::BasicType ExpressionType = Nz::ShaderNodes::BasicType::Float2;
|
||||
};
|
||||
|
||||
template<>
|
||||
struct VecExpressionTypeHelper<3>
|
||||
{
|
||||
static constexpr Nz::ShaderNodes::BasicType ExpressionType = Nz::ShaderNodes::BasicType::Float3;
|
||||
};
|
||||
|
||||
template<>
|
||||
struct VecExpressionTypeHelper<4>
|
||||
{
|
||||
static constexpr Nz::ShaderNodes::BasicType ExpressionType = Nz::ShaderNodes::BasicType::Float4;
|
||||
};
|
||||
|
||||
template<std::size_t N> constexpr Nz::ShaderNodes::BasicType VecExpressionType = VecExpressionTypeHelper<N>::ExpressionType;
|
||||
|
||||
|
||||
struct VecTypeDummy {};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user