|
@@ -43,7 +43,7 @@ typedef enum displayMode_t
|
|
|
bool displayVertex = false;
|
|
|
bool doNotCull = false;
|
|
|
bool doZBuffer = true;
|
|
|
-enum displayMode_t currentDisplayMode = DISPLAY_MODE_SOLID;
|
|
|
+enum displayMode_t currentDisplayMode = DISPLAY_MODE_WIREFRAME;
|
|
|
matrix4_t projectionMatrix;
|
|
|
matrix4_t viewMatrix;
|
|
|
light_t globalLight;
|
|
@@ -92,11 +92,11 @@ void setup()
|
|
|
|
|
|
/* Load texture */
|
|
|
//meshTexture = (colour_t *)REDBRICK_TEXTURE;
|
|
|
- loadTextureDateFromPng("assets/f22.png");
|
|
|
+ loadTextureDateFromPng("assets/cube.png");
|
|
|
|
|
|
|
|
|
/* Load object */
|
|
|
- loadOBJFile("assets/f22.obj");
|
|
|
+ loadOBJFile("assets/cube.obj");
|
|
|
//loadCubeMeshData();
|
|
|
|
|
|
trianglesTotal = arrayGetSize(mesh.faces);
|
|
@@ -259,6 +259,10 @@ void update()
|
|
|
faceCount = arrayGetSize(mesh.faces);
|
|
|
for(i = 0; i < faceCount; i++)
|
|
|
{
|
|
|
+ polygon_t polygon;
|
|
|
+ /* TODO: REMOVE ASAP */
|
|
|
+ if (i != 4) continue;
|
|
|
+
|
|
|
triangle_t currentTriangle =
|
|
|
{
|
|
|
.textureCoordinates =
|
|
@@ -301,13 +305,20 @@ void update()
|
|
|
|
|
|
double cameraDotTriangle = vec3Dot(triangleNormal, cameraRay);
|
|
|
|
|
|
-
|
|
|
if (cameraDotTriangle < 0)
|
|
|
{
|
|
|
continue;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ polygon = createPolygonFromTriangle(vec3FromVec4(transformedVertices[0]),
|
|
|
+ vec3FromVec4(transformedVertices[1]),
|
|
|
+ vec3FromVec4(transformedVertices[2]));
|
|
|
+
|
|
|
+ clipPolygon(&polygon);
|
|
|
+
|
|
|
+ // triangles = polyFan(&polygon)
|
|
|
+
|
|
|
for (j = 0 ; j < 3 ; j++)
|
|
|
{
|
|
|
vec4_t projected = mat4ProdVec4Project(projectionMatrix, transformedVertices[j]);
|