X-Git-Url: https://git.lukelau.me/?p=opengl.git;a=blobdiff_plain;f=material.cpp;h=7cd8d8045f509ab51d9afd1e3cb042c06a0bab58;hp=06bf6fdeef06c3494229c03f7bd03a7003992351;hb=85f8f7278f24fe73fef1a19174376b155319072f;hpb=1043b5b05e00f830da26624eee8b25fb4dc4e4fc diff --git a/material.cpp b/material.cpp index 06bf6fd..7cd8d80 100644 --- a/material.cpp +++ b/material.cpp @@ -25,8 +25,8 @@ Material::Material(const aiMaterial &ai, GLuint progId): progId(progId) { ai.Get(AI_MATKEY_COLOR_SPECULAR, specular); } -Material::Texture::Texture(const std::string &path) { - +Material::Texture::Texture(const std::string &fileName) { + auto path = "models/" + fileName; auto provider = CGDataProviderCreateWithFilename(path.c_str()); std::ifstream file(path); long magic; @@ -54,9 +54,9 @@ Material::Texture::Texture(const std::string &path) { } void Material::bind() const { - glUniform3f(glGetUniformLocation(progId, "material.ambient"), ambient.r, ambient.g, ambient.b); - glUniform3f(glGetUniformLocation(progId, "material.diffuse"), diffuse.r, diffuse.g, diffuse.b); - glUniform3f(glGetUniformLocation(progId, "material.specular"), specular.r, specular.g, specular.b); + glUniform4f(glGetUniformLocation(progId, "material.ambient"), ambient.r, ambient.g, ambient.b, ambient.a); + glUniform4f(glGetUniformLocation(progId, "material.diffuse"), diffuse.r, diffuse.g, diffuse.b, diffuse.a); + glUniform4f(glGetUniformLocation(progId, "material.specular"), specular.r, specular.g, specular.b, specular.a); glUniform1f(glGetUniformLocation(progId, "material.shininess"), shininess); glUniform1i(glGetUniformLocation(progId, "material.hasTexture"), diffuseMap != nullptr); glUniform1i(glGetUniformLocation(progId, "material.hasSpecularMap"), specularMap != nullptr);