Как увеличить глубину окна в OpenGL? - PullRequest
0 голосов
/ 19 ноября 2018

В задании, над которым я работаю, я должен создать огромный ящик в окне OpenGL и иметь возможность его вращать.

Окно создается с помощью этого кода:

  window = glfwCreateWindow(1000, 1000, "Window for Box", NULL, NULL);

Эта первая 1000 в приведенной выше строке соответствует ширине окна, а второе 1000 окно соответствует высоте окна.Теперь, когда я открываю крышку коробки, которую я создал и поворачиваю, она выглядит так:

box with lid open in OpenGL

Квадрат желтого цвета - этокрышка и она открыта.Вы можете видеть, что это не похоже на коробку, поскольку глубина окна меньше, и коробка обрезана белой поверхностью.Как я могу увеличить размер окна, чтобы окно отображалось идеально?

1 Ответ

0 голосов
/ 19 ноября 2018

Окно 2D, оно не имеет глубины. То, что вы ищете, это матрица проекции. Если вы использовали glOrtho(), последний параметр определяет, как далеко от камеры может быть фрагмент, чтобы он оставался видимым. Если вы определили свою собственную матрицу проекции, установите значение zFar больше, чем координаты z всех ваших вершин.

В качестве альтернативы вы можете использовать глубинный зажим: https://www.khronos.org/opengl/wiki/Vertex_Post-Processing#Depth_clamping

...