}
ai.Get(AI_MATKEY_SHININESS, shininess);
ai.Get(AI_MATKEY_REFLECTIVITY, reflectivity);
+ ai.Get(AI_MATKEY_REFRACTI, refractiveIndex);
+ if (ai.Get(AI_MATKEY_OPACITY, opacity) == aiReturn_FAILURE)
+ opacity = 1.f;
+
ai.Get(AI_MATKEY_COLOR_AMBIENT, ambient);
ai.Get(AI_MATKEY_COLOR_DIFFUSE, diffuse);
ai.Get(AI_MATKEY_COLOR_SPECULAR, specular);
}
void Material::bind() const {
- 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);
- glUniform1f(glGetUniformLocation(progId, "material.reflectivity"), reflectivity);
- glUniform1i(glGetUniformLocation(progId, "material.hasTexture"), diffuseMap != nullptr);
- glUniform1i(glGetUniformLocation(progId, "material.hasSpecularMap"), specularMap != nullptr);
- glUniform1i(glGetUniformLocation(progId, "material.hasNormalMap"), normalMap != nullptr);
-
- glUniform1i(glGetUniformLocation(progId, "material.diffuseMap"), 2);
- glActiveTexture(GL_TEXTURE2);
- if (diffuseMap) glBindTexture(GL_TEXTURE_2D, diffuseMap->texId);
-
- glUniform1i(glGetUniformLocation(progId, "material.specularMap"), 3);
- glActiveTexture(GL_TEXTURE3);
- if (specularMap) glBindTexture(GL_TEXTURE_2D, specularMap->texId);
-
- glUniform1i(glGetUniformLocation(progId, "material.normalMap"), 4);
- glActiveTexture(GL_TEXTURE4);
- if (normalMap) glBindTexture(GL_TEXTURE_2D, normalMap->texId);
+ /* glUniform3f(glGetUniformLocation(progId, "albedo"), 0.5f, 0.f, 0.f); */
+ /* glUniform1f(glGetUniformLocation(progId, "metallic"), 0.2f); */
+ /* glUniform1f(glGetUniformLocation(progId, "roughness"), 0.3f); */
+ /* glUniform1f(glGetUniformLocation(progId, "ao"), 1.f); */
+
+ /* 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); */
+ /* 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); */
+ /* glUniform1i(glGetUniformLocation(progId, "material.hasTexture"), diffuseMap != nullptr); */
+ /* glUniform1i(glGetUniformLocation(progId, "material.hasSpecularMap"), specularMap != nullptr); */
+ /* glUniform1i(glGetUniformLocation(progId, "material.hasNormalMap"), normalMap != nullptr); */
+
+ /* glUniform1i(glGetUniformLocation(progId, "material.diffuseMap"), 2); */
+ /* glActiveTexture(GL_TEXTURE2); */
+ /* if (diffuseMap) glBindTexture(GL_TEXTURE_2D, diffuseMap->texId); */
+
+ /* glUniform1i(glGetUniformLocation(progId, "material.specularMap"), 3); */
+ /* glActiveTexture(GL_TEXTURE3); */
+ /* if (specularMap) glBindTexture(GL_TEXTURE_2D, specularMap->texId); */
+
+ /* glUniform1i(glGetUniformLocation(progId, "material.normalMap"), 4); */
+ /* glActiveTexture(GL_TEXTURE4); */
+ /* if (normalMap) glBindTexture(GL_TEXTURE_2D, normalMap->texId); */
}