|
@@ -87,17 +87,25 @@ void setup()
|
|
|
createLight(&globalLight, vec3(0, 0, 1));
|
|
|
|
|
|
/* Load object */
|
|
|
+ loadNewMesh("assets/runway.obj", "assets/runway.png");
|
|
|
+ worldMesh[0].scale = vec3(1, 1, 1);
|
|
|
+ worldMesh[0].translation = vec3(0, -1.5, 23);
|
|
|
+ worldMesh[0].rotation = vec3(0, 0, 0);
|
|
|
+
|
|
|
loadNewMesh("assets/f22.obj", "assets/f22.png");
|
|
|
- worldMesh[0].translation.z = 5;
|
|
|
- worldMesh[0].translation.x = -5;
|
|
|
- worldMesh[0].rotation.y = 0.607;
|
|
|
- worldMesh[0].rotation.x = -0.3;
|
|
|
+ worldMesh[1].scale = vec3(1, 1, 1);
|
|
|
+ worldMesh[1].translation = vec3(0, -1.3, 5);
|
|
|
+ worldMesh[1].rotation = vec3(0, -M_PI/2., 0);
|
|
|
+
|
|
|
+ loadNewMesh("assets/efa.obj", "assets/efa.png");
|
|
|
+ worldMesh[2].scale = vec3(1, 1, 1);
|
|
|
+ worldMesh[2].translation = vec3(-2, -1.3, 9);
|
|
|
+ worldMesh[2].rotation = vec3(0, -M_PI/2., 0);
|
|
|
|
|
|
loadNewMesh("assets/f117.obj", "assets/f117.png");
|
|
|
- worldMesh[1].translation.z = 5;
|
|
|
- worldMesh[0].translation.x = 5;
|
|
|
- worldMesh[1].rotation.y = 0.607;
|
|
|
- worldMesh[1].rotation.x = -0.3;
|
|
|
+ worldMesh[3].scale = vec3(1, 1, 1);
|
|
|
+ worldMesh[3].translation = vec3(2, -1.3, 9);
|
|
|
+ worldMesh[3].rotation = vec3(0, -M_PI/2., 0);
|
|
|
|
|
|
trianglesTotal = 0;
|
|
|
for(i = 0; i < meshCount; i++)
|
|
@@ -220,6 +228,7 @@ static void projectTriangle(triangle_t *workTriangle, vec3_t *triangleNormal, te
|
|
|
double lightLevel = -vec3Dot(*triangleNormal, globalLight.direction);
|
|
|
currentTriangle.colour = applyLight(colour, lightLevel);
|
|
|
}
|
|
|
+
|
|
|
currentTriangle.averageDepth = (workTriangle->points[0].z +
|
|
|
workTriangle->points[1].z +
|
|
|
workTriangle->points[2].z) / 3.0;
|
|
@@ -264,12 +273,7 @@ static void processMesh(mesh_t *mesh, matrix4_t *worldMatrix)
|
|
|
transformedVertices[j] = mat4ProdVec4(transformMatrix, transformedVertices[j]);
|
|
|
}
|
|
|
|
|
|
- vec3_t vectorBA = vec3SubVectors(vec3FromVec4(transformedVertices[1]), vec3FromVec4(transformedVertices[0]));
|
|
|
- vec3_t vectorCA = vec3SubVectors(vec3FromVec4(transformedVertices[2]), vec3FromVec4(transformedVertices[0]));
|
|
|
- vec3Normalize(&vectorBA);
|
|
|
- vec3Normalize(&vectorCA);
|
|
|
- triangleNormal = vec3Cross(vectorBA, vectorCA);
|
|
|
- vec3Normalize(&triangleNormal);
|
|
|
+ triangleNormal = getTriangleNormal(transformedVertices);
|
|
|
|
|
|
if (!doNotCull)
|
|
|
{
|