Load cameras and shuffle about model stuff
[opengl.git] / material.hpp
1 #include <string>
2 #ifdef __APPLE__
3 #include <GL/glew.h>
4 #else
5 #include <OpenGL/glew.h>
6 #endif
7 #include <assimp/scene.h>
8
9 class Material {
10         public:
11                 Material(const aiMaterial &aiMaterial, const aiScene &aiScene, GLuint progId);
12                 void bind() const;
13         private:
14                 GLuint progId;
15                 aiColor4D ambient, diffuse, specular;
16
17                 struct Texture {
18                         Texture(const aiString file, const aiScene &aiScene);
19                         GLuint texId;
20                 };
21                 Texture *albedo = nullptr;
22                 Texture *normal = nullptr;
23                 Texture *metallicRoughness = nullptr;
24                 Texture *ambientOcclusion = nullptr;
25 };
26