X-Git-Url: https://git.lukelau.me/?p=opengl.git;a=blobdiff_plain;f=material.cpp;fp=material.cpp;h=c10820cb576be23a21105086d2a26c70501f4b02;hp=49af1d4495b1b4128e441b442b3defe082dc3647;hb=3f58e3a13899a1b28ee7be6c0bf835670957aa6a;hpb=8abaf8f77191e1c660def0832d8036a8b4639ba8 diff --git a/material.cpp b/material.cpp index 49af1d4..c10820c 100644 --- a/material.cpp +++ b/material.cpp @@ -21,6 +21,9 @@ Material::Material(const aiMaterial &ai, GLuint progId): progId(progId) { } ai.Get(AI_MATKEY_SHININESS, shininess); ai.Get(AI_MATKEY_REFLECTIVITY, reflectivity); + ai.Get(AI_MATKEY_REFRACTI, refractiveIndex); + ai.Get(AI_MATKEY_OPACITY, opacity); + ai.Get(AI_MATKEY_COLOR_AMBIENT, ambient); ai.Get(AI_MATKEY_COLOR_DIFFUSE, diffuse); ai.Get(AI_MATKEY_COLOR_SPECULAR, specular); @@ -40,6 +43,9 @@ void Material::bind() const { glUniform4f(glGetUniformLocation(progId, "material.specular"), specular.r, specular.g, specular.b, specular.a); glUniform1f(glGetUniformLocation(progId, "material.shininess"), shininess); glUniform1f(glGetUniformLocation(progId, "material.reflectivity"), reflectivity); + glUniform1f(glGetUniformLocation(progId, "material.refractiveIndex"), refractiveIndex); + glUniform1f(glGetUniformLocation(progId, "material.opacity"), opacity); + glUniform1i(glGetUniformLocation(progId, "material.hasTexture"), diffuseMap != nullptr); glUniform1i(glGetUniformLocation(progId, "material.hasSpecularMap"), specularMap != nullptr); glUniform1i(glGetUniformLocation(progId, "material.hasNormalMap"), normalMap != nullptr);