/ / Проблеми з використанням glDrawTexfOES для відтворення фонового зображення з об'єктами переднього плану - iphone, opengl-es, textures, depth-buffer

Проблеми з використанням glDrawTexfOES для відтворення фонового зображення з об'єктами переднього плану - iphone, opengl-es, textures, depth-buffer

У мене є простий iPhone OpenGL ES додаток, в якому яроблять фонове зображення на повноекранному екрані за допомогою текстури, а потім намалюйте трикутну багатогранника поверх її, використовуючи лінії. Текстура відображається за допомогою glDrawTexfOES.

Проблема в тому, що я не здатний відображатибагатогранники зверху тла. У виклику glDrawTexfOES, якщо я використовую значення z менше 1, фонове зображення показує, але немає багатогранників. Якщо значення z дорівнює 1 (або більше), багатогранники показуються, але не фонове зображення.

Blending не активовано. Перевірте глибину. Глибинний буфер додається. Глибинний тест, здається, працює, коли просто намальовані багатогранники. Поліетри намальовані простими лініями.

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

Будь-які підказки про те, як отримати як фонове зображення, так і об'єкти переднього плану?

Відповіді:

0 для відповіді № 1

Я думаю, коли ви малюєте фонзображення відключення глибини маски. Це гарантує, що буфер глибини залишається недоторканим, коли ви кладете фону так, щоб багатогранники були намальовані і не зазнали невдалої глибини.

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