Add glTF PBR model loading
[opengl.git] / main.cpp
index 9464e9ec5044181c2ab0340ab1a1169d7dc7be28..16466005327c8ceef3d1afd2d6ecd9ddb367fa6b 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -146,25 +146,25 @@ void display() {
        glUniform3fv(glGetUniformLocation(pbrProg->progId, "lightPositions"), 4, glm::value_ptr(lightPositions[0]));
        glUniform3fv(glGetUniformLocation(pbrProg->progId, "lightColors"), 4, glm::value_ptr(lightColors[0]));
 
-       glUniform1i(glGetUniformLocation(pbrProg->progId, "albedoMap"), 0);
-       glActiveTexture(GL_TEXTURE0);
-       glBindTexture(GL_TEXTURE_2D, albedoMap);
+       /* glUniform1i(glGetUniformLocation(pbrProg->progId, "albedoMap"), 0); */
+       /* glActiveTexture(GL_TEXTURE0); */
+       /* glBindTexture(GL_TEXTURE_2D, albedoMap); */
 
-       glUniform1i(glGetUniformLocation(pbrProg->progId, "normalMap"), 1);
-       glActiveTexture(GL_TEXTURE1);
-       glBindTexture(GL_TEXTURE_2D, normalMap);
+       /* glUniform1i(glGetUniformLocation(pbrProg->progId, "normalMap"), 1); */
+       /* glActiveTexture(GL_TEXTURE1); */
+       /* glBindTexture(GL_TEXTURE_2D, normalMap); */
 
-       glUniform1i(glGetUniformLocation(pbrProg->progId, "metallicMap"), 2);
-       glActiveTexture(GL_TEXTURE2);
-       glBindTexture(GL_TEXTURE_2D, metallicMap);
+       /* glUniform1i(glGetUniformLocation(pbrProg->progId, "metallicMap"), 2); */
+       /* glActiveTexture(GL_TEXTURE2); */
+       /* glBindTexture(GL_TEXTURE_2D, metallicMap); */
 
-       glUniform1i(glGetUniformLocation(pbrProg->progId, "roughnessMap"), 3);
-       glActiveTexture(GL_TEXTURE3);
-       glBindTexture(GL_TEXTURE_2D, roughnessMap);
+       /* glUniform1i(glGetUniformLocation(pbrProg->progId, "roughnessMap"), 3); */
+       /* glActiveTexture(GL_TEXTURE3); */
+       /* glBindTexture(GL_TEXTURE_2D, roughnessMap); */
        
-       glUniform1i(glGetUniformLocation(pbrProg->progId, "aoMap"), 4);
-       glActiveTexture(GL_TEXTURE4);
-       glBindTexture(GL_TEXTURE_2D, aoMap);
+       /* glUniform1i(glGetUniformLocation(pbrProg->progId, "aoMap"), 4); */
+       /* glActiveTexture(GL_TEXTURE4); */
+       /* glBindTexture(GL_TEXTURE_2D, aoMap); */
 
        glUniform1i(glGetUniformLocation(pbrProg->progId, "irradianceMap"), 5);
        glActiveTexture(GL_TEXTURE5);
@@ -227,13 +227,13 @@ void init() {
 
        pbrProg = new Program("pbrvert.glsl", "pbrfrag.glsl");
        glUseProgram(pbrProg->progId);
-       pbr = new Model("models/sphere.dae", *pbrProg, *skybox);
+       pbr = new Model("models/sphereMetal.gltf", *pbrProg, *skybox);
 
-       albedoMap = loadTexture("models/streakedmetal/streakedmetal_albedo.png");
-       metallicMap = loadTexture("models/streakedmetal/streakedmetal_metalness.png");
-       normalMap = loadTexture("models/streakedmetal/streakedmetal_normal.png");
-       roughnessMap = loadTexture("models/streakedmetal/streakedmetal_roughness.png");
-       aoMap = loadTexture("models/streakedmetal/streakedmetal_ao.png");
+       /* albedoMap = loadTexture("models/materials/streakedmetal/streakedmetal-albedo.png"); */
+       /* metallicMap = loadTexture("models/materials/streakedmetal/streakedmetal-metalness.png"); */
+       /* normalMap = loadTexture("models/materials/streakedmetal/streakedmetal-normal.png"); */
+       /* roughnessMap = loadTexture("models/materials/streakedmetal/streakedmetal-roughness.png"); */
+       /* aoMap = loadTexture("models/materials/streakedmetal/streakedmetal-ao.png"); */
 
        glEnable(GL_DEPTH_TEST); 
        glEnable(GL_CULL_FACE); 
@@ -326,7 +326,7 @@ int main(int argc, char** argv) {
        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_DEPTH|GLUT_DOUBLE|GLUT_RGB|GLUT_3_2_CORE_PROFILE);
        glutInitWindowSize(WIDTH, HEIGHT);
-       int win = glutCreateWindow("Hello Triangle");
+       int win = glutCreateWindow("Physically Based Rendering");
        glutDisplayFunc(display);
 
        glewInit();