C ++映射到要创建的类型

时间:2018-03-21 18:26:35

标签: c++ glm-math

我不确定如何在C ++中执行此操作...所以我想了解堆栈的知识:)

基本上我有一个枚举来定义我关心的一些值:

enum class VertexField : uint16_t
{
    Position = 0,
    Color,
    Normal,
    Count,
    Invalid
};

如果我们为该枚举值分配内存,那么我有一个数组指示每个枚举的大小:

const uint16_t sFieldSizes[] =
{
    12,     //Position, 4bytes each, float vec3
    4,      //Color, 1bytes each, unorm vec4
    12      //Normal, 4bytes each, float vec3
};

现在我要做的是添加另一个告诉我类型的数组......所以从概念上看它会是这样的:

const TYPE sFieldTypes[] = 
{
    glm::vec3,
    uint32_t,
    glm::vec3
};

我知道上面的代码不起作用,但有什么方法可以做我想要的编译?

0 个答案:

没有答案