Может "видеть сквозь" объекты в openGL - PullRequest
1 голос
/ 27 октября 2011

enter image description here

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

Желтый всегда идет впереди красного, даже если он позади него.

Это ошибка или просто я неправильно вижу куб?

Ответы [ 2 ]

10 голосов
/ 27 октября 2011

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

Ваше приложение должно сделать по крайней мере следующее, чтобы заставить буферизацию глубины работать:

Запросить буфер глубины при создании окна.

Поместите вызов glEnable (GL_DEPTH_TEST) в процедуру инициализации вашей программы после того, как контекст создан и сделан текущим.

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

Передайте GL_DEPTH_BUFFER_BIT в качестве параметра в glClear, обычно побитовое OR, с другими значениями, такими как GL_COLOR_BUFFER_BIT.

Смотрите здесь http://www.opengl.org/resources/faq/technical/depthbuffer.htm

0 голосов
/ 01 мая 2012

У меня была та же проблема, но она не была связана с буфером глубины, хотя я видел некоторые изменения в лучшую сторону, когда включил это.Это было связано с используемыми функциями наложения, которые комбинировали интенсивность пикселей на последнем этапе рендеринга.Поэтому мне пришлось отключить glBlendFunc ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...