Je trouve que très souvent, OpenGL vous montrera qu'il a échoué en ne tirant rien. J'essaie de trouver des moyens de déboguer des programmes OpenGL, en inspectant la pile de matrice de transformation, etc. Quel est le meilleur moyen de déboguer OpenGL? Si le code ressemble et se sent comme si les sommets sont au bon endroit, comment pouvez-vous être sûr qu'ils sont?
Réponses
Trop de publicités?Il n'y a pas de réponse directe. Tout dépend de ce que vous essayez de comprendre. Depuis OpenGL est l'état de la machine, parfois, il ne fait pas ce que vous attendez comme l'exige l'état n'est pas défini ou des choses comme ça.
En général, utiliser des outils comme glTrace / glIntercept (à regarder OpenGL trace d'appel), gDebugger (pour visualiser les textures, shaders, OGL état, etc.) et le papier/crayon :). Parfois, il aide à comprendre comment vous avez d'installation de la caméra et où il est à la recherche, ce qui est clipsé etc. Personnellement, j'ai compté pour durer plus de deux précédentes approches. Mais quand je peut dire que la profondeur est mauvaise, il contribue à veiller à l'état de trace. gDebugger est aussi le seul outil qui peut être utilisé efficacement pour le profilage et l'optimisation de votre application OpenGL.
En plus de cet outil, la plupart du temps, c'est les maths que les gens se trompent et qu'il ne peut pas être compris en utilisant n'importe quel outil. Post sur OpenGL.org forum pour code spécifique commentaires, vous ne serez jamais déçu.
Espérons que cela répond à votre question!
GLIntercept est votre meilleur pari. À partir de leur page web:
- Enregistrer tous les appels de fonction au format texte ou XML avec l'option journal des images individuelles.
- La caméra libre. Voler autour de la géométrie envoyé à la carte graphique et d'activer/de désactiver filaire/backface-abattage/view frustum de rendu
- Enregistrer et suivre l'affichage de listes. Économie de l'OpenGL tampon de trame (couleur/profondeur/pochoir) pré-et post-rendu des appels. La possibilité d'enregistrer le "diff" de pré-et post-images est également disponible.
Apitrace est un outil relativement nouveau développé par certaines personnes chez Valve, mais il fonctionne très bien! Essayez-le: https://github.com/apitrace/apitrace