GlEnable (GL_DEPTH_TEST) - ничего не отображается

В OpenGL я показываю простую модель. когда я включаю буфер глубины,

glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
glDepthMask(GL_TRUE);

все исчезает. Я читал этот FAQ OpenGL, но мне это не помогло.

Мои настройки перспективы - угол = 45deg, near = 1 far = 40, я поставил модель на (0,0,0), и я положил свой глаз на (0,0,4). Без z-буфера я вижу модель

Что может быть неправильным?

Ответы

Ответ 1

Убедитесь, что вы очистили буфер глубины?

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
                              ^^^^^^^^^^^^^^^^^^^

Ответ 2

Если другой ответ не работает, попробуйте выполнить user886079 в comment

Если вышеуказанное не работает, проверьте свою ближайшую плоскость в gluPerspective, glFrustum или glOrtho. Глубина буферизации не работает, если она установлена ​​на 0.

Я пробовал почти все, но не мог решить проблему перекрытия. Я поставил почти значение 0.0f. Я изменил его на 0.01f, и теперь результаты будут такими, как это должно быть.