Code:
cube::cube(point a, point b)
: rotate(0)
{
// Backface
faces[5][0] = point(b.x, a.y, b.z);
faces[5][1] = point(a.x, a.y, b.z);
faces[5][2] = point(a.x, b.y, b.z);
faces[5][3] = point(b.x, b.y, b.z);
// Rightsideface
faces[4][0] = point(b.x, a.y, b.z);
faces[4][1] = point(b.x, a.y, a.z);
faces[4][2] = point(b.x, b.y, a.z);
faces[4][3] = point(b.x, b.y, b.z);
//Leftsideface
faces[3][0] = point(a.x, a.y, a.z);
faces[3][1] = point(a.x, a.y, b.z);
faces[3][2] = point(a.x, b.y, b.z);
faces[3][3] = point(a.x, b.y, a.z);
// Frontface
faces[2][0] = point(b.x, a.y, a.z);
faces[2][1] = point(a.x, a.y, a.z);
faces[2][2] = point(a.x, b.y, a.z);
faces[2][3] = point(b.x, b.y, a.z);
// Topface
faces[1][0] = point(b.x, a.y, b.z);
faces[1][1] = point(a.x, a.y, b.z);
faces[1][2] = point(a.x, a.y, a.z);
faces[1][3] = point(b.x, a.y, a.z);
// Bottomface
faces[0][0] = point(b.x, b.y, b.z);
faces[0][1] = point(a.x, b.y, b.z);
faces[0][2] = point(a.x, b.y, a.z);
faces[0][3] = point(b.x, b.y, a.z);
// Colors dude
colors[0] = point(1.0f, 0.0f, 0.0f);
colors[1] = point(0.0f, 1.0f, 0.0f);
colors[2] = point(0.0f, 0.0f, 1.0f);
colors[3] = point(0.5f, 0.0f, 0.0f);
colors[4] = point(0.0f, 0.6f, 0.0f);
colors[5] = point(0.0f, 0.0f, 0.5f);
// cnormals();
}
I changed it so all the vertices are clockwise, and I do not use normals in my code. I have a routine which tries calculating and hardcoding them but it doesn't seem to have any effect if it's there or not. I am not using backface culling, and I did resolve the clipping plane dealio, but I can still get pictures that look like the attachment.