Проблемы с использованием glDrawTexfOES для рендеринга фонового изображения с объектами переднего плана - PullRequest
1 голос
/ 08 августа 2010

У меня есть простое приложение iPhone OpenGL ES, в котором я рисую полноэкранное фоновое изображение, используя текстуру, а затем рисую поверх него трехмерные многогранники, используя линии. Текстура отображается с помощью glDrawTexfOES.

Проблема в том, что я не могу отобразить многогранники поверх фона. В вызове glDrawTexfOES, если я использую значение z меньше 1, фоновое изображение показывает, но не многогранники. Если значение z равно 1 (или более), многогранники показывают, но не фоновое изображение.

Смешивание не включено. Глубинное тестирование включено. Глубина буфера прилагается. Проверка глубины, кажется, работает, когда нарисованы только многогранники. Многогранники нарисованы простыми линиями.

Поведение значения z предполагает, что, возможно, многогранники имеют значения буфера глубины 1 ...?

Есть ли какие-нибудь подсказки, как отобразить как фоновое изображение, так и объекты переднего плана?

1 Ответ

0 голосов
/ 12 октября 2010

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

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

...