Load cameras and shuffle about model stuff
[opengl.git] / model.hpp
index 2803a7ee3cc7147550af2928ce5978419727f6f8..92aab0dd21cb80cb95791f475819522ee0b58056 100644 (file)
--- a/model.hpp
+++ b/model.hpp
@@ -7,11 +7,18 @@
 #endif
 #include <glm/glm.hpp>
 #include <assimp/scene.h>
-#include <assimp/Importer.hpp>
 #include "material.hpp"
 #include "program.hpp"
 #include "skybox.hpp"
 
+inline glm::mat4 aiMatrixToMat4(aiMatrix4x4 from) {
+       glm::mat4 to;
+       for (int i = 0; i < 4; i++)
+               for (int j = 0; j < 4; j++)
+                       to[i][j] = from[j][i];
+       return to;
+}
+
 class Model {
 
        struct Animation {
@@ -36,7 +43,7 @@ class Model {
        };
        
        public:
-               Model(const std::string &path, Program p);
+               Model(const aiScene *scene, Program p);
                void draw(Skybox skybox, const float tick) const;
 
                class Node {
@@ -68,6 +75,4 @@ class Model {
                std::vector<Material> materials;
 
                void loadModel(const std::string &path);
-
-               Assimp::Importer importer;
 };