2014-12-03 2 views
0

В настоящее время я работаю над проектом, где я пытаюсь воссоздать this logo, но анимируем шестерни поверх статических вещей. Теперь это то, что я создал до сих пор ...Когда использовать списки отображения OpenGL?

enter image description here

Пока это выглядит красиво и я переезжаю на шестерни сегодня. Проводя некоторые исследования передач, я столкнулся с показом списков в openGL и немного почитал о них. Кажется, что они хороши для производительности, поскольку они уменьшают необходимость перерисовывать контент снова и снова, например, когда я перемещаю камеру вокруг знака и/или когда движущиеся шестерни движутся. То, что я до сих пор, это всего лишь тонна полигонов, составляющих фон знака и буквы. Изогнутые буквы состоят из тонны треугольных многоугольников.

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

+4

** never ** они устарели в пользу VBOs –

ответ

4

Это зависит от того, как вы рендерите свои объекты в данный момент.

Если вы используете немедленный режим (glBegin/glVertex/glEnd), то упаковка отображаемых списков поможет. Но как рендеринг, так и отображение списков немедленного режима амортизируются, начиная с OpenGL 3, и переключение на объекты буфера вершин (VBOs), скорее всего, приведет к повышению производительности (за счет перезаписи кода).

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

https://open.gl/ - хороший учебник для современного OpenGL.

+0

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

+3

@SeanCallahan: Я нашел немедленный режим, чтобы усложнить ситуацию и сделать работу OpenGL труднее понять для студентов. ИМХО каждый учитель, который по-прежнему охватывает непосредственный режим в своих классах, должен изменить свое отношение радикально. – datenwolf

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