Avoid some hardcoded strings

This commit is contained in:
Alex Szpakowski
2020-02-23 16:49:38 -04:00
parent 1ddfcd4cc8
commit 2c90ccabb3
3 changed files with 29 additions and 20 deletions
+20 -20
View File
@@ -131,53 +131,53 @@ std::vector<Buffer::DataDeclaration> Buffer::getCommonFormatDeclaration(CommonFo
return {};
case CommonFormat::XYf:
return {
{"VertexPosition", DATAFORMAT_FLOAT_VEC2}
{ getConstant(ATTRIB_POS), DATAFORMAT_FLOAT_VEC2 }
};
case CommonFormat::XYZf:
return {
{"VertexPosition", DATAFORMAT_FLOAT_VEC3}
{ getConstant(ATTRIB_POS), DATAFORMAT_FLOAT_VEC3 }
};
case CommonFormat::RGBAub:
return {
{"VertexColor", DATAFORMAT_UNORM8_VEC4}
{ getConstant(ATTRIB_COLOR), DATAFORMAT_UNORM8_VEC4 }
};
case CommonFormat::STf_RGBAub:
return {
{"VertexTexCoord", DATAFORMAT_FLOAT_VEC2},
{"VertexColor", DATAFORMAT_UNORM8_VEC4},
{ getConstant(ATTRIB_TEXCOORD), DATAFORMAT_FLOAT_VEC2 },
{ getConstant(ATTRIB_COLOR), DATAFORMAT_UNORM8_VEC4 },
};
case CommonFormat::STPf_RGBAub:
return {
{"VertexTexCoord", DATAFORMAT_FLOAT_VEC3},
{"VertexColor", DATAFORMAT_UNORM8_VEC4},
{ getConstant(ATTRIB_TEXCOORD), DATAFORMAT_FLOAT_VEC3 },
{ getConstant(ATTRIB_COLOR), DATAFORMAT_UNORM8_VEC4 },
};
case CommonFormat::XYf_STf:
return {
{"VertexPosition", DATAFORMAT_FLOAT_VEC2},
{"VertexTexCoord", DATAFORMAT_FLOAT_VEC2},
{ getConstant(ATTRIB_POS), DATAFORMAT_FLOAT_VEC2 },
{ getConstant(ATTRIB_TEXCOORD), DATAFORMAT_FLOAT_VEC2 },
};
case CommonFormat::XYf_STPf:
return {
{"VertexPosition", DATAFORMAT_FLOAT_VEC2},
{"VertexTexCoord", DATAFORMAT_FLOAT_VEC3},
{ getConstant(ATTRIB_POS), DATAFORMAT_FLOAT_VEC2 },
{ getConstant(ATTRIB_TEXCOORD), DATAFORMAT_FLOAT_VEC3 },
};
case CommonFormat::XYf_STf_RGBAub:
return {
{"VertexPosition", DATAFORMAT_FLOAT_VEC2},
{"VertexTexCoord", DATAFORMAT_FLOAT_VEC2},
{"VertexColor", DATAFORMAT_UNORM8_VEC4},
{ getConstant(ATTRIB_POS), DATAFORMAT_FLOAT_VEC2 },
{ getConstant(ATTRIB_TEXCOORD), DATAFORMAT_FLOAT_VEC2 },
{ getConstant(ATTRIB_COLOR), DATAFORMAT_UNORM8_VEC4 },
};
case CommonFormat::XYf_STus_RGBAub:
return {
{"VertexPosition", DATAFORMAT_FLOAT_VEC2},
{"VertexTexCoord", DATAFORMAT_UNORM16_VEC2},
{"VertexColor", DATAFORMAT_UNORM8_VEC4},
{ getConstant(ATTRIB_POS), DATAFORMAT_FLOAT_VEC2 },
{ getConstant(ATTRIB_TEXCOORD), DATAFORMAT_UNORM16_VEC2 },
{ getConstant(ATTRIB_COLOR), DATAFORMAT_UNORM8_VEC4 },
};
case CommonFormat::XYf_STPf_RGBAub:
return {
{"VertexPosition", DATAFORMAT_FLOAT_VEC2},
{"VertexTexCoord", DATAFORMAT_FLOAT_VEC2},
{"VertexColor", DATAFORMAT_UNORM8_VEC4},
{ getConstant(ATTRIB_POS), DATAFORMAT_FLOAT_VEC2 },
{ getConstant(ATTRIB_TEXCOORD), DATAFORMAT_FLOAT_VEC2 },
{ getConstant(ATTRIB_COLOR), DATAFORMAT_UNORM8_VEC4 },
};
}
+7
View File
@@ -320,6 +320,13 @@ DEFINE_STRINGMAP_BEGIN(BuiltinVertexAttribute, ATTRIB_MAX_ENUM, attribName)
}
DEFINE_STRINGMAP_END(BuiltinVertexAttribute, ATTRIB_MAX_ENUM, attribName)
const char *getConstant(BuiltinVertexAttribute attrib)
{
const char *name = nullptr;
getConstant(attrib, name);
return name;
}
DEFINE_STRINGMAP_BEGIN(IndexDataType, INDEX_MAX_ENUM, indexType)
{
{ "uint16", INDEX_UINT16 },
+2
View File
@@ -393,5 +393,7 @@ DECLARE_STRINGMAP(DataBaseType);
DECLARE_STRINGMAP(CullMode);
DECLARE_STRINGMAP(Winding);
const char *getConstant(BuiltinVertexAttribute attrib);
} // graphics
} // love