Как реализовать динамическую геометрию LOD на основе графического процессора в OpenGL? [закрыто]

9

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

Основная концепция, которую, как мне кажется, я понимаю, такова: определите расстояние от камеры до объекта, проверьте правильность LOD-уровня, а затем визуализируйте объект с «правильным количеством экземпляров».

Как мне это реализовать? Приведенный пример кода для меня загадка ...

Некоторые вопросы:

  1. Это хороший метод для реализации LOD?
  2. Может кто-нибудь, пожалуйста, объясните мне подробно, как я должен это реализовать, с запросами и так далее ...
  3. Я рендеринг всех своих объектов с

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

    Пример кода использует GL_POINTS. Могу ли я реализовать это также с GL_TRIANGLES?

Gykonik
источник
Это хороший способ реализации LODS для огромного количества экземпляров (для этого также отлично подходят вычисления). У вас уже есть система LOD на базе процессора? Здесь GL_POINTS используется только для отправки некоторого количества GS, а не для фактического рендеринга (этой статье 7 лет, современная реализация, вероятно, будет использовать вместо этого вычислительные шейдеры).
gan_

Ответы:

0

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

galaban
источник