X-Git-Url: https://git.lukelau.me/?p=opengl.git;a=blobdiff_plain;f=material.hpp;h=cb3d49eabffbe1f38af2c2dad798f104fd5fcef7;hp=968ea3651355780391fe6e897c973411b8181a44;hb=17dcc398b9a5d1a6a287c01dff7fc7cf2b792372;hpb=37cba564a96018a5500e942498d4e48c0ebe73ed diff --git a/material.hpp b/material.hpp index 968ea36..cb3d49e 100644 --- a/material.hpp +++ b/material.hpp @@ -8,17 +8,19 @@ 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; 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; };