Визуализация прозрачной 3d-фигуры (четырехугольника) с равным z-порядком - PullRequest
0 голосов
/ 25 октября 2011

Я рендерил два четырехугольника с OpenGL с равным z.Когда у меня включена функция DEPTH, я получаю следующее изображение, но когда оно выключено, я получаю то, что мне нужно, один фрукт над другим.Можно ли рисовать четырехугольники с равными z, как я хочу?Мои настройки OGL:

glEnable(GL_BLEND); glEnable(GL_ALPHA_TEST); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

my trouble

РЕДАКТИРОВАТЬ извините, я забыл упомянуть, что левый верхний четырехугольник я вызываю для рендеринга первым, и я использую орфографию

РЕДАКТИРОВАТЬ + 1 когда я рендерирую квады с разными Z, я получаю одно и то же изображение, как это исправить?

Ответы [ 2 ]

4 голосов
/ 25 октября 2011

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

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

Кроме того, никогда не стоит рисовать два полигона на одной и той же глубине даже без прозрачности из-за z-fight .

0 голосов
/ 30 октября 2011

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

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