¿Cómo implemento LOD de geometría dinámica basada en GPU en OpenGL? [cerrado]

9

Estoy tratando de implementar LOD para aumentar el rendimiento de mi juego. Encontré un muy buen tutorial .

El concepto básico que creo que entiendo es: Obtener la distancia de la cámara al objeto, verificar el nivel de LOD correcto y luego representar el objeto con la "cantidad correcta de instancias".

¿Cómo implemento eso? El código de ejemplo proporcionado es un misterio para mí ...

Algunas preguntas:

  1. ¿Es este un buen método para implementar LOD?
  2. ¿Puede alguien explicarme detalladamente, cómo tengo que implementarlo, con las consultas, etc.?
  3. Estoy renderizando todos mis objetos con

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

    El código de ejemplo usa GL_POINTS. ¿Puedo implementarlo también con GL_TRIANGLES?

Gykonik
fuente
Esta es una buena manera de implementar LODS para grandes cantidades de instancias (las computadoras también son excelentes para esto). ¿Tiene un sistema LOD ya basado en CPU? Aquí GL_POINTS solo se usa para enviar una cierta cantidad de GS, no para el renderizado real (este artículo tiene 7 años, una implementación moderna probablemente usaría sombreadores de cómputo).
gan_

Respuestas:

0

Supongo que depende de cómo hayas configurado tu renderizado, suponiendo que estés usando una matriz de datos para dibujar tus vértices en tu terreno, entonces simplemente puedes crear más matrices de datos para dibujar, avanzando más verts con cada matriz.

galaban
fuente