参考
https://blog.csdn.net/HappyKocola/article/details/74188452
直接贴代码
struct Vertex {
vec3 pos;
vec3 color;
vec2 texCoord;
};
std::unordered_map<Vertex, int> uniqueVertices = {};
直接这样在 vs2013 会报 ”error C2338: The C++ Standard doesn’t provide a hash for this type.”
class Hasher {
public:
size_t operator()(const Vertex& vertex) const {
//calculate hash here.
return hash_val(
vertex.pos.x,
vertex.pos.y,
vertex.pos.z,
vertex.texCoord.x,
vertex.texCoord.y);
}
};
class Equal
{
public:
bool operator()(const Vertex& vertex, const Vertex&vertex2) const{
if (vertex.pos.x == vertex2.pos.x &&
vertex.pos.y == vertex2.pos.y