// closestpoint is the center of the square // n is the plane normal if(n.x < 0 || n.y < 0 || n.z < 0) { glVertex3f(closestpoint.x - n.z - n.y, closestpoint.y + n.z - n.x, closestpoint.z - n.y - n.x); glVertex3f(closestpoint.x + n.z + n.y, closestpoint.y + n.z - n.x, closestpoint.z - n.y + n.x); glVertex3f(closestpoint.x + n.z + n.y, closestpoint.y - n.z + n.x, closestpoint.z + n.y + n.x); glVertex3f(closestpoint.x - n.z - n.y, closestpoint.y - n.z + n.x, closestpoint.z + n.y - n.x); } else { glVertex3f(closestpoint.x + n.z + n.y, closestpoint.y + n.z - n.x, closestpoint.z - n.y + n.x); glVertex3f(closestpoint.x - n.z - n.y, closestpoint.y + n.z - n.x, closestpoint.z - n.y - n.x); glVertex3f(closestpoint.x - n.z - n.y, closestpoint.y - n.z + n.x, closestpoint.z + n.y - n.x); glVertex3f(closestpoint.x + n.z + n.y, closestpoint.y - n.z + n.x, closestpoint.z + n.y + n.x); }