2013-10-05 2 views
0

Итак, у меня есть классная программа, которая отображает красивый куб в центре экрана.OpenGL 3.2+ Рисование кубов вокруг существующих вершин

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

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

Мой запрос: как это влияет на VAO/VBO? Даже в цикле каждый будет нуждаться в собственном буфере или все они могут быть отправлены одновременно ...

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

+2

У вас должна быть матрица, которая преобразуется из координат объекта в мировые координаты. Вы можете изменить эту матрицу для каждого куба, чтобы заставить ее рисовать в отдельном месте в мире. –

+1

Геометрический шейдер, кто-нибудь? – n0rd

ответ

0

Как сказал Вон Катон, каждый объект (используя те же самые VBOs) можно просто рисовать в разных местах в мировом пространстве, поэтому вам не нужно определять отдельные VBO для каждого объекта.

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

Смежные вопросы