2009-09-06 4 views
4

Différents exemples de calculs de vue frustum utilisent glGetFloatv() pour obtenir les matrices actuelles de projection et modelview (GL_PROJECTION_MATRIX, GL_MODELVIEW_MATRIX), et à partir de cela faire un peu de trusquerie.opengl frustum culling sans glGet * appels

J'ai lu que glGet * est quelque chose que vous ne voulez pas dans votre boucle de rendu principale;

« Utilisation « Get » ou « est » fonctions ralentit vers le bas rendent la performance. Ces commandes forcent le système graphique à exécuter toutes en file d'attente OpenGL appels avant pouvoir répondre à la « Get » ou « est » question."

Donc ma question est. Comment puis-je créer un solide algorithme de suppression de Frustum dans mon code et où dois-je le mettre afin de m'assurer que ce blocage ne se produise jamais?

Répondre

6

Vous pouvez toujours stocker les matrices actuelles dans votre application de sorte que lorsque vous voulez qu'ils vous n'avez pas besoin de faire un appel glGet, vous pouvez simplement les saisir ...