Я пытаюсь заставить приложение OpenGL работать на С ++. OpenGL, кажется, отсеивает удаленные и близкие объекты.
Снимок экрана должен представлять собой набор квадратных плиток, но квадраты, находящиеся на определенном расстоянии, слишком близко или слишком далеко от камеры, не отображаются. Это означает, что фактически визуализируется только узкая полоса квадратов (между тем, что я считаю ближней и дальней плоскостями).
Я не использую отсечение усеченной вершины, единственное, что я включил, - это отсечение задней грани. Есть ли в OpenGL по умолчанию какая-то усеченная пирамида? Есть ли что-то, что мне нужно включить с помощью glEnable, чтобы все мои треугольники действительно отображались? Включение GL_DEPTH_TEST останавливает рендеринг абсолютно всего, независимо от того, вызову ли я впоследствии glFrustum (...).
Спасибо.
gluPerspective
или что бы вы ни использовали вместо этого ... будьте осторожны,zfar/znear
сильно влияют на точность буфера глубины ... так что не рекомендуется иметь очень большое соотношение ... Если включениеGL_DEPTH_TEST
скрывает все вы либо находитесь за пределами диапазона, либо размещаете вещи за / внутри камеры, либо просто имеете неправильную комбинацию glDepthFunction против значения очистки dept ... вы переместили камеру немного назад, по крайней мере, на znear (фокусное расстояние) или вместо этого переместили объект вперед? - person Spektre   schedule 14.07.2019