«Рендеринг» полигонов, которые являются прозрачными OpenGL - PullRequest
1 голос
/ 09 декабря 2011

Я разрабатываю движок, и способ, которым я обрабатываю границы, которых игрок не должен достичь, состоит в том, чтобы иметь настоящие полигоны в качестве этих границ.Теперь мне интересно, как «визуализировать» многоугольник, но он не виден.

Мой главный вопрос: есть ли у OpenGL способ сделать это изначально?

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

Любой совет?

Ответы [ 3 ]

2 голосов
/ 09 декабря 2011

Мой главный вопрос: есть ли у OpenGL способ сделать это изначально?

Нет!

OpenGL рисует только цветные треугольники, линии и указывают наframebuffer и все.

  • Это не граф сцены.
  • Это не библиотека геометрии.
  • Это не среда обнаружения столкновений.
0 голосов
/ 09 декабря 2011

Если вы хотите визуализировать границы как прозрачные многоугольники - вы можете использовать метод смешивания, приведенный здесь: http://www.opengl.org/resources/faq/technical/transparency.htm

Это то, что вы искали?

0 голосов
/ 09 декабря 2011

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

Вопрос, как я понял, таков:о рендеринге чего-либо в буфере глубины (и, возможно, трафарете), но больше нигде.Чтобы добиться этого, вам просто нужно использовать glColorMask , как перед тем, как рисовать прозрачные многоугольники:

glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);

и впоследствии восстановить цветовую маску.

...