lullaby/tools/model_pipeline/model.cc
// Hashes only the position, orientation, and uv0 of the Vertex. This hash
// should only be used as a first-level filter for deduplication. For actual
// deduplication, the vertices should be compared directly.
Hashes only the position, orientation, and uv0 of the Vertex. This hash
should only be used as a first-level filter for deduplication. For actual
deduplication, the vertices should be compared directly.
Hashes only the position orientation and uv0 of the Vertex . This hash should only be used as a first - level filter for deduplication . For actual deduplication the vertices should be compared directly .
static size_t VertexHash(const Vertex& vertex) {
  uint64_t hash = 0;
  hash ^= std::hash<float>()(vertex.position.x);
  hash ^= std::hash<float>()(vertex.position.y);
  hash ^= std::hash<float>()(vertex.position.z);
  hash ^= std::hash<float>()(vertex.orientation.x);
  hash ^= std::hash<float>()(vertex.orientation.y);
  hash ^= std::hash<float>()(vertex.orientation.z);
  hash ^= std::hash<float>()(vertex.orientation.w);
  hash ^= std::hash<float>()(vertex.uv0.x);
  hash ^= std::hash<float>()(vertex.uv0.y);
  return static_cast<size_t>(hash);
}
static size_t VertexHash ( const Vertex & vertex ) { uint64_t hash = 0 ; hash ^= std :: hash < float > ( ) ( vertex . position . x ) ; hash ^= std :: hash < float > ( ) ( vertex . position . y ) ; hash ^= std :: hash < float > ( ) ( vertex . position . z ) ; hash ^= std :: hash < float > ( ) ( vertex . orientation . x ) ; hash ^= std :: hash < float > ( ) ( vertex . orientation . y ) ; hash ^= std :: hash < float > ( ) ( vertex . orientation . z ) ; hash ^= std :: hash < float > ( ) ( vertex . orientation . w ) ; hash ^= std :: hash < float > ( ) ( vertex . uv0 . x ) ; hash ^= std :: hash < float > ( ) ( vertex . uv0 . y ) ; return static_cast < size_t > ( hash ) ; }
Hashes only the position, orientation, and uv0 of the Vertex.
Hashes only the position orientation and uv0 of the Vertex .