|
@@ -166,7 +166,7 @@ void update()
|
|
|
for(i = 0; i < faceCount; i++)
|
|
|
{
|
|
|
triangle_t currentTriangle;
|
|
|
- vec3_t transformed[3];
|
|
|
+ vec3_t transformedVertices[3];
|
|
|
|
|
|
vec3_t vertices[3] =
|
|
|
{
|
|
@@ -177,25 +177,25 @@ void update()
|
|
|
|
|
|
for(j = 0; j < 3; j++)
|
|
|
{
|
|
|
- transformed[j] = vertices[j];
|
|
|
+ transformedVertices[j] = vertices[j];
|
|
|
|
|
|
- transformed[j] = vec3RotateX(transformed[j], mesh.rotation.x);
|
|
|
- transformed[j] = vec3RotateY(transformed[j], mesh.rotation.y);
|
|
|
- transformed[j] = vec3RotateZ(transformed[j], mesh.rotation.z);
|
|
|
+ transformedVertices[j] = vec3RotateX(transformedVertices[j], mesh.rotation.x);
|
|
|
+ transformedVertices[j] = vec3RotateY(transformedVertices[j], mesh.rotation.y);
|
|
|
+ transformedVertices[j] = vec3RotateZ(transformedVertices[j], mesh.rotation.z);
|
|
|
|
|
|
transformed[j].z += 5;
|
|
|
}
|
|
|
|
|
|
if (!doNotCull)
|
|
|
{
|
|
|
- vec3_t vectorBA = vec3SubVectors(transformed[1], transformed[0]);
|
|
|
- vec3_t vectorCA = vec3SubVectors(transformed[2], transformed[0]);
|
|
|
+ vec3_t vectorBA = vec3SubVectors(transformedVertices[1], transformedVertices[0]);
|
|
|
+ vec3_t vectorCA = vec3SubVectors(transformedVertices[2], transformedVertices[0]);
|
|
|
vec3Normalize(&vectorBA);
|
|
|
vec3Normalize(&vectorCA);
|
|
|
vec3_t triangleNormal = vec3Cross(vectorBA, vectorCA);
|
|
|
vec3Normalize(&triangleNormal);
|
|
|
|
|
|
- vec3_t cameraRay = vec3SubVectors(cameraPosition, transformed[0]);
|
|
|
+ vec3_t cameraRay = vec3SubVectors(cameraPosition, transformedVertices[0]);
|
|
|
vec3Normalize(&cameraRay);
|
|
|
|
|
|
double cameraDotTriangle = vec3Dot(triangleNormal, cameraRay);
|
|
@@ -209,7 +209,7 @@ void update()
|
|
|
|
|
|
for (j = 0 ; j < 3 ; j++)
|
|
|
{
|
|
|
- vec2_t projected = perspectivePointProjection(transformed[j]);
|
|
|
+ vec2_t projected = perspectivePointProjection(transformedVertices[j]);
|
|
|
|
|
|
projected.x += (windowWidth / 2);
|
|
|
projected.y += (windowHeight / 2);
|
|
@@ -218,9 +218,10 @@ void update()
|
|
|
}
|
|
|
|
|
|
currentTriangle.colour = mesh.faces[i].colour;
|
|
|
-
|
|
|
+ currentTriangle.averageDepth = (transformedVertices[0].z +
|
|
|
+ transformedVertices[1].z +
|
|
|
+ transformedVertices[2].z) / 3.0;
|
|
|
arrayAdd(projectedTriangles, currentTriangle);
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
|