Fix metal roughness texture on streaked metal material
[opengl.git] / material.hpp
index 968ea3651355780391fe6e897c973411b8181a44..c814c9eab8451bc23b0a418b8244b69045b71e10 100644 (file)
@@ -8,17 +8,20 @@
 
 class Material {
        public:
 
 class Material {
        public:
-               Material(const aiMaterial &aiMaterial, GLuint progId);
+               Material(const aiMaterial &aiMaterial, const aiScene &aiScene, GLuint progId);
                void bind() const;
        private:
                GLuint progId;
                void bind() const;
        private:
                GLuint progId;
-               aiColor3D ambient, diffuse, specular;
-               ai_real shininess;
+               aiColor4D ambient, diffuse, specular;
+               ai_real shininess, reflectivity, refractiveIndex, opacity;
 
                struct Texture {
 
                struct Texture {
-                       Texture(const std::string &path);
+                       Texture(const aiString file, const aiScene &aiScene);
                        GLuint texId;
                };
                        GLuint texId;
                };
-               Texture *texture = nullptr;
+               Texture *albedo = nullptr;
+               Texture *normal = nullptr;
+               Texture *metallicRoughness = nullptr;
+               Texture *ambientOcclusion = nullptr;
 };
 
 };