2009-07-09 8 views
4

Je travaille actuellement sur un niveau de système de détail pour un jeu XNA, le système subdivisant triangles avec une grande erreur d'espace d'écran et fusionne triangles avec une faible erreur d'espace d'écran . Space Error est une heuristique qui estime l'erreur que ce triangle a, donc par exemple s'il y a un triangle qui est sur une surface presque plate, il aura une très faible erreur d'espace d'écran parce que c'est un très bonne approximation de cette surface, cependant s'il y a un triangle sur la surface d'une sphère, elle aura une plus grande erreur d'espace d'écran parce que, évidemment, diviser ce triangle en plus de triangles obtiendrait une meilleure approximation d'une surface sphérique.
Écran Space Error est une légère modification de World Space Error, fondamentalement l'erreur est modifiée afin triangles plus près de la caméra, et plus proche du centre du champ de vision ont un score d'erreur plus élevé.Calcul Espace d'écran Erreur

Qu'est-ce qui est un bon moyen efficace de calculer l'erreur d'espace d'écran?

Solution actuelle: Espace d'écran Erreur = WorldSpace Erreur/point ([vecteur triangle en question], [vecteur de direction de la caméra])

Blog post about screen space error

Répondre

2

Vous devriez vérifier these slides qui expliquent l'espace écran erreur dans le détail et dériver des formules pour le calculer. En particulier, une méthode simple est donnée à la page 3 (équation 1). Notez que le reste des pages détaillent les améliorations apportées à cette méthode simple, ce qui pourrait vous intéresser si vous essayez de faire quelque chose de plus avancé.

+1

aha! a l'air bien, merci – Martin