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 {}; return {};
case CommonFormat::XYf: case CommonFormat::XYf:
return { return {
{"VertexPosition", DATAFORMAT_FLOAT_VEC2} { getConstant(ATTRIB_POS), DATAFORMAT_FLOAT_VEC2 }
}; };
case CommonFormat::XYZf: case CommonFormat::XYZf:
return { return {
{"VertexPosition", DATAFORMAT_FLOAT_VEC3} { getConstant(ATTRIB_POS), DATAFORMAT_FLOAT_VEC3 }
}; };
case CommonFormat::RGBAub: case CommonFormat::RGBAub:
return { return {
{"VertexColor", DATAFORMAT_UNORM8_VEC4} { getConstant(ATTRIB_COLOR), DATAFORMAT_UNORM8_VEC4 }
}; };
case CommonFormat::STf_RGBAub: case CommonFormat::STf_RGBAub:
return { return {
{"VertexTexCoord", DATAFORMAT_FLOAT_VEC2}, { getConstant(ATTRIB_TEXCOORD), DATAFORMAT_FLOAT_VEC2 },
{"VertexColor", DATAFORMAT_UNORM8_VEC4}, { getConstant(ATTRIB_COLOR), DATAFORMAT_UNORM8_VEC4 },
}; };
case CommonFormat::STPf_RGBAub: case CommonFormat::STPf_RGBAub:
return { return {
{"VertexTexCoord", DATAFORMAT_FLOAT_VEC3}, { getConstant(ATTRIB_TEXCOORD), DATAFORMAT_FLOAT_VEC3 },
{"VertexColor", DATAFORMAT_UNORM8_VEC4}, { getConstant(ATTRIB_COLOR), DATAFORMAT_UNORM8_VEC4 },
}; };
case CommonFormat::XYf_STf: case CommonFormat::XYf_STf:
return { return {
{"VertexPosition", DATAFORMAT_FLOAT_VEC2}, { getConstant(ATTRIB_POS), DATAFORMAT_FLOAT_VEC2 },
{"VertexTexCoord", DATAFORMAT_FLOAT_VEC2}, { getConstant(ATTRIB_TEXCOORD), DATAFORMAT_FLOAT_VEC2 },
}; };
case CommonFormat::XYf_STPf: case CommonFormat::XYf_STPf:
return { return {
{"VertexPosition", DATAFORMAT_FLOAT_VEC2}, { getConstant(ATTRIB_POS), DATAFORMAT_FLOAT_VEC2 },
{"VertexTexCoord", DATAFORMAT_FLOAT_VEC3}, { getConstant(ATTRIB_TEXCOORD), DATAFORMAT_FLOAT_VEC3 },
}; };
case CommonFormat::XYf_STf_RGBAub: case CommonFormat::XYf_STf_RGBAub:
return { return {
{"VertexPosition", DATAFORMAT_FLOAT_VEC2}, { getConstant(ATTRIB_POS), DATAFORMAT_FLOAT_VEC2 },
{"VertexTexCoord", DATAFORMAT_FLOAT_VEC2}, { getConstant(ATTRIB_TEXCOORD), DATAFORMAT_FLOAT_VEC2 },
{"VertexColor", DATAFORMAT_UNORM8_VEC4}, { getConstant(ATTRIB_COLOR), DATAFORMAT_UNORM8_VEC4 },
}; };
case CommonFormat::XYf_STus_RGBAub: case CommonFormat::XYf_STus_RGBAub:
return { return {
{"VertexPosition", DATAFORMAT_FLOAT_VEC2}, { getConstant(ATTRIB_POS), DATAFORMAT_FLOAT_VEC2 },
{"VertexTexCoord", DATAFORMAT_UNORM16_VEC2}, { getConstant(ATTRIB_TEXCOORD), DATAFORMAT_UNORM16_VEC2 },
{"VertexColor", DATAFORMAT_UNORM8_VEC4}, { getConstant(ATTRIB_COLOR), DATAFORMAT_UNORM8_VEC4 },
}; };
case CommonFormat::XYf_STPf_RGBAub: case CommonFormat::XYf_STPf_RGBAub:
return { return {
{"VertexPosition", DATAFORMAT_FLOAT_VEC2}, { getConstant(ATTRIB_POS), DATAFORMAT_FLOAT_VEC2 },
{"VertexTexCoord", DATAFORMAT_FLOAT_VEC2}, { getConstant(ATTRIB_TEXCOORD), DATAFORMAT_FLOAT_VEC2 },
{"VertexColor", DATAFORMAT_UNORM8_VEC4}, { 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) 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) DEFINE_STRINGMAP_BEGIN(IndexDataType, INDEX_MAX_ENUM, indexType)
{ {
{ "uint16", INDEX_UINT16 }, { "uint16", INDEX_UINT16 },
+2
View File
@@ -393,5 +393,7 @@ DECLARE_STRINGMAP(DataBaseType);
DECLARE_STRINGMAP(CullMode); DECLARE_STRINGMAP(CullMode);
DECLARE_STRINGMAP(Winding); DECLARE_STRINGMAP(Winding);
const char *getConstant(BuiltinVertexAttribute attrib);
} // graphics } // graphics
} // love } // love