Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Object::calcNormals()
- {
- for (unsigned int i = 0; i < Indices.size(); i += 3) {
- unsigned int Index0 = Indices[i];
- unsigned int Index1 = Indices[i + 1];
- unsigned int Index2 = Indices[i + 2];
- glm::vec3 v1 = Vertices[Index1].Pos - Vertices[Index0].Pos;
- glm::vec3 v2 = Vertices[Index2].Pos - Vertices[Index0].Pos;
- glm::vec3 Normal = glm::normalize(glm::cross(v2, v1));
- Vertices[Index0].Normal += Normal;
- Vertices[Index1].Normal += Normal;
- Vertices[Index2].Normal += Normal;
- }
- for (unsigned int i = 0; i < Vertices.size(); i++) {
- Vertices[i].Normal = glm::normalize(Vertices[i].Normal);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement