X-Git-Url: https://git.lukelau.me/?p=opengl.git;a=blobdiff_plain;f=material.hpp;h=c814c9eab8451bc23b0a418b8244b69045b71e10;hp=968ea3651355780391fe6e897c973411b8181a44;hb=d0c631f46c6db417e013b1bc0edec24cb9c2824a;hpb=37cba564a96018a5500e942498d4e48c0ebe73ed diff --git a/material.hpp b/material.hpp index 968ea36..c814c9e 100644 --- a/material.hpp +++ b/material.hpp @@ -8,17 +8,20 @@ class Material { public: - Material(const aiMaterial &aiMaterial, GLuint progId); + Material(const aiMaterial &aiMaterial, const aiScene &aiScene, 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 { - Texture(const std::string &path); + Texture(const aiString file, const aiScene &aiScene); GLuint texId; }; - Texture *texture = nullptr; + Texture *albedo = nullptr; + Texture *normal = nullptr; + Texture *metallicRoughness = nullptr; + Texture *ambientOcclusion = nullptr; };