Я изо всех сил стараюсь, чтобы моя проверка глубины работала правильно в приложении.Проблемы с глубинным тестированием в OpenTK/OpenGL
Глубины, кажется, полностью основана на порядке жеребьевки, как показано здесь: https://www.youtube.com/watch?v=YErS_loJW7w&feature=youtu.be
Вы можете увидеть в видео, помутнение Сюзанны находится в передней части модели сетки, но при повороте она заканчивается за этим.
Я думаю, что ниже код все соответствующие
// clear the render buffer....
GL.Enable(EnableCap.DepthTest);
GL.DepthMask(true);
GL.ClearColor(Color.Black);
GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
// Render main 3d scene
GL.Enable(EnableCap.CullFace);
GL.CullFace(CullFaceMode.Back);
GL.Enable(EnableCap.DepthTest);
GL.Enable(EnableCap.DepthClamp);
GL.DepthFunc(DepthFunction.Always);
GL.DepthMask(true);
Я был под впечатлением, что позволяет испытывать Depth бы сделать эту работу правильно.
Что случилось?
Вы запросили некоторые буферы буфера глубины, когда вы создали свой контекст GL? Вы можете не получить, если не спросите. – genpfault
OpenGl относительно новичок. Как мне сказать? Глядя на документы вокруг OpenTK GLControl, которые я использую, похоже, указывается, что предоставлен буфер глубины. «... Обратите внимание, что GLControl предоставляет буфер цвета и глубины, который мы должны очистить с помощью GL.Clear()». – Chris