Я пытаюсь отразить на плоскости XZ вращающийся куб (так что в конечном итоге это проекция 3D в 2D).Однако точки, с которыми мой куб проецируется на плоскость XZ, перекрываются, как и следовало ожидать, из-за того, что куб является трехмерным, и есть точки с одинаковыми значениями X, но разными значениями y (2 точки проецируются на одну и ту же точку).
Мой вопрос: как я могу проецировать только те точки на моем кубе, которые видимы для плоскости, на которую я хочу проецировать?
glLoadIdentity();
glEnable(GL_DEPTH_TEST);
glCullFace(GL_BACK);
glTranslatef(0.0f, 0.0f, -5.0f);
GLfloat matrix[16] = {1.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0};
glPushMatrix();
glRotatef(angle, 1.0f, 1.0f, 1.0f);
glBegin(GL_TRIANGLES);
DrawCube();
glEnd();
glPopMatrix();
glPushMatrix();
glTranslatef(0.0f, -1.0f, 0.0f);
glMultMatrixf(matrix);
glRotatef(angle, 1.0f, 1.0f, 1.0f);
glBegin(GL_TRIANGLES);
DrawCube();
glEnd();
glPopMatrix();