This commit is contained in:
Confideo-IOM
2026-09-04 22:07:16 +01:00
parent 18ec2d5394
commit d76df7f61b
18 changed files with 44 additions and 58 deletions
+8 -23
View File
@@ -57,7 +57,6 @@ void HydraMeshManager::DeleteMesh(HydraID mesh_id)
void HydraMeshManager::CalculateNormals(HydraID mesh_id)
{
HydraMesh mesh = m_meshes[mesh_id];
for (int i = 0; i < mesh.indexes.size(); i += 3)
{
@@ -65,9 +64,14 @@ void HydraMeshManager::CalculateNormals(HydraID mesh_id)
uint32_t idx1 = mesh.indexes[i+1];
uint32_t idx2 = mesh.indexes[i+2];
glm::vec3 vec0 = glm::normalize(glm::vec3(mesh.vertexes[idx0].position[0], mesh.vertexes[idx0].position[1], mesh.vertexes[idx0].position[2]));
glm::vec3 vec1 = glm::normalize(glm::vec3(mesh.vertexes[idx1].position[0], mesh.vertexes[idx1].position[1], mesh.vertexes[idx1].position[2]));
glm::vec3 vec2 = glm::normalize(glm::vec3(mesh.vertexes[idx2].position[0], mesh.vertexes[idx2].position[1], mesh.vertexes[idx2].position[2]));
glm::vec3 vec0 = glm::vec3(mesh.vertexes[idx0].position[0], mesh.vertexes[idx0].position[1], mesh.vertexes[idx0].position[2]);
glm::vec3 vec1 = glm::vec3(mesh.vertexes[idx1].position[0], mesh.vertexes[idx1].position[1], mesh.vertexes[idx1].position[2]);
glm::vec3 vec2 = glm::vec3(mesh.vertexes[idx2].position[0], mesh.vertexes[idx2].position[1], mesh.vertexes[idx2].position[2]);
vec1= vec1 - vec0;
vec2 = vec2 - vec0;
vec0 = glm::vec3(0,0,0);
glm::vec3 normal = glm::triangleNormal(vec0, vec1, vec2);
@@ -82,25 +86,6 @@ void HydraMeshManager::CalculateNormals(HydraID mesh_id)
m_meshes[mesh_id].vertexes[idx2].normal[0] = normal[0];
m_meshes[mesh_id].vertexes[idx2].normal[1] = normal[1];
m_meshes[mesh_id].vertexes[idx2].normal[2] = normal[2];
// glm::vec3 vec0 = glm::vec3(mesh.vertexes[mesh.indexes[i]], mesh.vertexes[mesh.indexes[i] + 1], mesh.vertexes[mesh.indexes[i] + 2]);
// glm::vec3 vec1 = glm::vec3(Vertexes[Indexes[i+1]], Vertexes[Indexes[i+1] + 1], Vertexes[Indexes[i+1] + 2]);
// glm::vec3 vec2 = glm::vec3(Vertexes[Indexes[i+2]], Vertexes[Indexes[i+2] + 1], Vertexes[Indexes[i+2] + 2]);
// glm::vec3 normal = glm::triangleNormal(vec0, vec1, vec2);
// Normals[Indexes[i]] = normal.x;
// Normals[Indexes[i]+1] = normal.y;
// Normals[Indexes[i]+2] = normal.z;
// Normals[Indexes[i+1]] = normal.x;
// Normals[Indexes[i+1] + 1] = normal.y;
// Normals[Indexes[i+1] + 2] = normal.z;
// Normals[Indexes[i + 2]] = normal.x;
// Normals[Indexes[i + 2] + 1] = normal.y;
// Normals[Indexes[i + 2] + 2] = normal.z;
}
}