diff --git a/includes/learnopengl/model.h b/includes/learnopengl/model.h index 24732d0..81f864f 100644 --- a/includes/learnopengl/model.h +++ b/includes/learnopengl/model.h @@ -51,7 +51,7 @@ private: { // read file via ASSIMP Assimp::Importer importer; - const aiScene* scene = importer.ReadFile(path, aiProcess_Triangulate | aiProcess_FlipUVs | aiProcess_CalcTangentSpace); + const aiScene* scene = importer.ReadFile(path, aiProcess_Triangulate | aiProcess_GenSmoothNormals | aiProcess_FlipUVs | aiProcess_CalcTangentSpace); // check for errors if(!scene || scene->mFlags & AI_SCENE_FLAGS_INCOMPLETE || !scene->mRootNode) // if is Not Zero { @@ -102,10 +102,13 @@ private: vector.z = mesh->mVertices[i].z; vertex.Position = vector; // normals - vector.x = mesh->mNormals[i].x; - vector.y = mesh->mNormals[i].y; - vector.z = mesh->mNormals[i].z; - vertex.Normal = vector; + if (mesh->HasNormals()) + { + vector.x = mesh->mNormals[i].x; + vector.y = mesh->mNormals[i].y; + vector.z = mesh->mNormals[i].z; + vertex.Normal = vector; + } // texture coordinates if(mesh->mTextureCoords[0]) // does the mesh contain texture coordinates? { @@ -137,7 +140,7 @@ private: aiFace face = mesh->mFaces[i]; // retrieve all indices of the face and store them in the indices vector for(unsigned int j = 0; j < face.mNumIndices; j++) - indices.push_back(face.mIndices[j]); + indices.push_back(face.mIndices[j]); } // process materials aiMaterial* material = scene->mMaterials[mesh->mMaterialIndex];