diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-01-17 19:36:30 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-01-17 22:16:48 +0000 |
commit | 0bf4ad9e4a9e1c97e92aa23a365405dfef89bd7c (patch) | |
tree | 68a80976a247836bbb1eecc835af437e3489fbb7 /obj_loader.h | |
parent | First cut modernizing and sanitizing (diff) | |
download | ilt-0bf4ad9e4a9e1c97e92aa23a365405dfef89bd7c.tar.bz2 ilt-0bf4ad9e4a9e1c97e92aa23a365405dfef89bd7c.tar.xz ilt-0bf4ad9e4a9e1c97e92aa23a365405dfef89bd7c.zip |
Big reshuffle
Fixes code quality warnings now picked up.
Diffstat (limited to 'obj_loader.h')
-rw-r--r-- | obj_loader.h | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/obj_loader.h b/obj_loader.h deleted file mode 100644 index 11c6b38..0000000 --- a/obj_loader.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef OBJ_LOADER_H_INCLUDED -#define OBJ_LOADER_H_INCLUDED - -#include <glm/glm.hpp> -#include <string> -#include <vector> - -struct OBJIndex { - unsigned int vertexIndex; - unsigned int uvIndex; - unsigned int normalIndex; - - bool - operator<(const OBJIndex & r) const - { - return vertexIndex < r.vertexIndex; - } -}; - -class IndexedModel { -public: - std::vector<glm::vec3> positions; - std::vector<glm::vec2> texCoords; - std::vector<glm::vec3> normals; - std::vector<unsigned int> indices; - - void CalcNormals(); -}; - -class OBJModel { -public: - std::vector<OBJIndex> OBJIndices; - std::vector<glm::vec3> vertices; - std::vector<glm::vec2> uvs; - std::vector<glm::vec3> normals; - bool hasUVs; - bool hasNormals; - - explicit OBJModel(const std::string & fileName); - - IndexedModel ToIndexedModel(); - -private: - unsigned int FindLastVertexIndex( - const std::vector<OBJIndex *> & indexLookup, const OBJIndex * currentIndex, const IndexedModel & result); - void CreateOBJFace(const std::string & line); - - glm::vec2 ParseOBJVec2(const std::string & line); - glm::vec3 ParseOBJVec3(const std::string & line); - OBJIndex ParseOBJIndex(const std::string & token, bool * hasUVs, bool * hasNormals); -}; - -#endif // OBJ_LOADER_H_INCLUDED |