X-Git-Url: https://git.lukelau.me/?p=opengl.git;a=blobdiff_plain;f=material.hpp;h=c814c9eab8451bc23b0a418b8244b69045b71e10;hp=c28bcb452fe6a16f70c072e79ac21bd1f4a5b92e;hb=d0c631f46c6db417e013b1bc0edec24cb9c2824a;hpb=ba9c738e8660304aa0341eb44118e63502a4a009 diff --git a/material.hpp b/material.hpp index c28bcb4..c814c9e 100644 --- a/material.hpp +++ b/material.hpp @@ -8,19 +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 *diffuseMap = nullptr; - Texture *specularMap = nullptr; - Texture *normalMap = nullptr; + Texture *albedo = nullptr; + Texture *normal = nullptr; + Texture *metallicRoughness = nullptr; + Texture *ambientOcclusion = nullptr; };