- /* glUniform1i(glGetUniformLocation(progId, "material.specularMap"), 3); */
- /* glActiveTexture(GL_TEXTURE3); */
- /* if (specularMap) glBindTexture(GL_TEXTURE_2D, specularMap->texId); */
+ if (normal != nullptr) {
+ glUniform1i(glGetUniformLocation(progId, "mat.normalMap"), 1);
+ glActiveTexture(GL_TEXTURE1);
+ glBindTexture(GL_TEXTURE_2D, normal->texId);
+ glUniform1i(glGetUniformLocation(progId, "mat.hasNormal"), 1);
+ } else {
+ glUniform1i(glGetUniformLocation(progId, "mat.hasNormal"), 0);
+ }
+
+ if (metallicRoughness != nullptr) {
+ glUniform1i(glGetUniformLocation(progId, "mat.metallicRoughnessMap"), 2);
+ glActiveTexture(GL_TEXTURE2);
+ glBindTexture(GL_TEXTURE_2D, metallicRoughness->texId);
+ glUniform1i(glGetUniformLocation(progId, "mat.hasMetallicRoughness"), 1);
+ } else {
+ glUniform1i(glGetUniformLocation(progId, "mat.hasMetallicRoughness"), 0);
+ }