PBR checkpoint
[opengl.git] / model.cpp
index 2e01fc098fb408e172e8a46f25176d678855edc2..3fbe17a997ad1abe492c554ef2faefe4317fe1e4 100644 (file)
--- a/model.cpp
+++ b/model.cpp
@@ -17,7 +17,8 @@ Model::Mesh::Mesh(const aiMesh *aiMesh, GLuint progId) {
                        aiVector3D v = aiMesh->mNormals[i];
                        normals.push_back(glm::vec3(v.x, v.y, v.z));
                } else {
-                       normals.push_back(glm::vec3(0));
+                       std::cerr << "Missing normals" << std::endl;
+                       exit(1);
                }
                if (aiMesh->HasTangentsAndBitangents()) {
                        aiVector3D t = aiMesh->mTangents[i];
@@ -77,17 +78,17 @@ Model::Mesh::Mesh(const aiMesh *aiMesh, GLuint progId) {
        glEnableVertexAttribArray(texCoordLoc);
        glVertexAttribPointer(texCoordLoc, 2, GL_FLOAT, GL_FALSE, 0, 0);
 
-       GLuint tangentLoc = glGetAttribLocation(progId, "tangent");
-       glBindBuffer(GL_ARRAY_BUFFER, tangentVbo);
-       glBufferData(GL_ARRAY_BUFFER, tangents.size() * sizeof(glm::vec3), &tangents[0], GL_STATIC_DRAW);
-       glEnableVertexAttribArray(tangentLoc);
-       glVertexAttribPointer(tangentLoc, 3, GL_FLOAT, GL_FALSE, 0, 0);
+       /* GLuint tangentLoc = glGetAttribLocation(progId, "tangent"); */
+       /* glBindBuffer(GL_ARRAY_BUFFER, tangentVbo); */
+       /* glBufferData(GL_ARRAY_BUFFER, tangents.size() * sizeof(glm::vec3), &tangents[0], GL_STATIC_DRAW); */
+       /* glEnableVertexAttribArray(tangentLoc); */
+       /* glVertexAttribPointer(tangentLoc, 3, GL_FLOAT, GL_FALSE, 0, 0); */
 
-       GLuint bitangentLoc = glGetAttribLocation(progId, "bitangent");
-       glBindBuffer(GL_ARRAY_BUFFER, bitangentVbo);
-       glBufferData(GL_ARRAY_BUFFER, bitangents.size() * sizeof(glm::vec3), &bitangents[0], GL_STATIC_DRAW);
-       glEnableVertexAttribArray(bitangentLoc);
-       glVertexAttribPointer(bitangentLoc, 3, GL_FLOAT, GL_FALSE, 0, 0);
+       /* GLuint bitangentLoc = glGetAttribLocation(progId, "bitangent"); */
+       /* glBindBuffer(GL_ARRAY_BUFFER, bitangentVbo); */
+       /* glBufferData(GL_ARRAY_BUFFER, bitangents.size() * sizeof(glm::vec3), &bitangents[0], GL_STATIC_DRAW); */
+       /* glEnableVertexAttribArray(bitangentLoc); */
+       /* glVertexAttribPointer(bitangentLoc, 3, GL_FLOAT, GL_FALSE, 0, 0); */
 
        glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, indicesVbo);
        glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices.size() * sizeof(GLuint), &indices[0], GL_STATIC_DRAW);
@@ -126,10 +127,6 @@ void Model::Node::draw(    const std::vector<Mesh> &meshes,
                Material material = materials[mesh.materialIndex];
                material.bind();
                
-               glUniform1i(glGetUniformLocation(progId, "skybox"), 5);
-               glActiveTexture(GL_TEXTURE5);
-               glBindTexture(GL_TEXTURE_CUBE_MAP, skybox.getTexture());
-               
                glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glm::value_ptr(m));
 
                glDrawElements(GL_TRIANGLES, mesh.numIndices, GL_UNSIGNED_INT, 0);