Comment implémenter un LOD de géométrie dynamique basé sur GPU dans OpenGL? [fermé]

9

J'essaie d'implémenter LOD pour augmenter les performances de mon jeu. J'ai trouvé un très bon tutoriel .

Le concept de base que je pense comprendre est le suivant: obtenir la distance de la caméra à l'objet, vérifier le bon niveau de niveau de détail et rendre ensuite l'objet avec la "bonne quantité d'instances".

Comment puis-je implémenter cela? L'exemple de code fourni est un mystère pour moi ...

Quelques questions:

  1. Est-ce une bonne méthode pour implémenter LOD?
  2. Quelqu'un peut-il m'expliquer en détail, comment je dois l'implémenter, avec les requêtes et ainsi de suite ...
  3. Je rend tous mes objets avec

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

    L'exemple de code utilise GL_POINTS. Puis-je l'implémenter également avec GL_TRIANGLES?

Gykonik
la source
C'est un bon moyen d'implémenter LODS pour d'énormes quantités d'instances (les calculs sont également parfaits pour cela). Avez-vous un système LOD déjà basé sur CPU? Ici, GL_POINTS n'est utilisé que pour distribuer un certain nombre de GS, pas pour le rendu réel (cet article a 7 ans, une implémentation moderne utiliserait probablement des shaders de calcul à la place).
gan_

Réponses:

0

Je suppose que cela dépend de la façon dont vous avez déjà configuré votre rendu, en supposant que vous utilisez un tableau Indie pour dessiner vos sommets sur votre terrain, vous pouvez simplement créer plus de tableaux Indie pour dessiner, en marchant le long de plus de verts avec chaque tableau.

galaban
la source