Open Source Tomb Raider Engine
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

Mesh.h 806B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*!
  2. * \file include/Mesh.h
  3. * \brief OpenGL Mesh
  4. *
  5. * \author xythobuz
  6. */
  7. #ifndef _MESH_H_
  8. #define _MESH_H_
  9. #include <map>
  10. #include <glm/vec2.hpp>
  11. #include <glm/vec3.hpp>
  12. class Mesh {
  13. };
  14. // --------------------------------------
  15. struct PackedVertex {
  16. glm::vec3 pos;
  17. glm::vec2 uv;
  18. unsigned int tex;
  19. PackedVertex(glm::vec3 p, glm::vec2 u, unsigned int t) : pos(p), uv(u), tex(t) { }
  20. bool operator<(const PackedVertex& v) const { return memcmp(this, &v, sizeof(PackedVertex)) > 0; }
  21. };
  22. template <typename T>
  23. bool findSimilarVertex(T& v,
  24. std::map<T, unsigned short> m,
  25. unsigned short& s) {
  26. auto it = m.find(v);
  27. if (it == m.end())
  28. return false;
  29. else {
  30. s = it->second;
  31. return true;
  32. }
  33. }
  34. #endif