Add glTF PBR model loading
[opengl.git] / model.cpp
index 3fbe17a997ad1abe492c554ef2faefe4317fe1e4..5ffe05a4e59f71e305fddcad42ea1dedd264328f 100644 (file)
--- a/model.cpp
+++ b/model.cpp
@@ -127,6 +127,18 @@ void Model::Node::draw(    const std::vector<Mesh> &meshes,
                Material material = materials[mesh.materialIndex];
                material.bind();
 
+               glUniform1i(glGetUniformLocation(progId, "irradianceMap"), 4);
+               glActiveTexture(GL_TEXTURE4);
+               glBindTexture(GL_TEXTURE_CUBE_MAP, skybox.getIrradianceMap());
+
+               glUniform1i(glGetUniformLocation(progId, "prefilterMap"), 5);
+               glActiveTexture(GL_TEXTURE5);
+               glBindTexture(GL_TEXTURE_CUBE_MAP, skybox.getPrefilterMap());
+
+               glUniform1i(glGetUniformLocation(progId, "brdfMap"), 6);
+               glActiveTexture(GL_TEXTURE6);
+               glBindTexture(GL_TEXTURE_2D, skybox.getBRDFMap());
+               
                glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glm::value_ptr(m));
 
                glDrawElements(GL_TRIANGLES, mesh.numIndices, GL_UNSIGNED_INT, 0);