Як мені реалізувати динамічну геометрію LOD на основі GPU у OpenGL? [зачинено]


9

Я намагаюся реалізувати LOD для підвищення продуктивності своєї гри. Я знайшов дуже приємний підручник .

Основна концепція, яку, на мою думку, я розумію, така: пройдіть відстань від камери до об'єкта, перевірте правильність рівня LOD, а потім виведіть об'єкт на "правильну кількість екземплярів".

Як я це втілю? Наведений приклад код є для мене загадкою ...

Деякі питання:

  1. Це хороший метод реалізації ЛОД?
  2. Може хтось, будь ласка, пояснить мені детально, як я маю це реалізовувати, із запитами тощо?
  3. Я рендерую всі мої об’єкти

    GL11.glDrawElements(GL11.GL_TRIANGLES, model.getRawModel().getVertexCount(),
                        GL11.GL_UNSIGNED_INT, 0);

    Приклад використовує код GL_POINTS. Чи можу я реалізувати це також GL_TRIANGLES?


Це хороший спосіб реалізації LODS для величезної кількості екземплярів (для цього також чудово підходять обчислювачі). У вас вже є система LOD на базі процесора? Тут GL_POINTS використовується лише для відправлення деякої кількості GS, а не для фактичного візуалізації (цій статті 7 років, напевно, сучасна реалізація, замість цього, використовує обчислювальні шейдери).
gan_

Відповіді:


0

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.