Bonjour,
Alors j'ai regard� un peu le code.
C'est assez difficile a lire car tu m�lange un peu le C++ et le C. Quand c'est possible essaye d'�viter d'utiliser des variables globales. Pour ce qui est des "new", c'est un peu le noyau de C++ donc ce serait bien que tu te documente un peu sur comment �a marche car sinon tu va vite te retrouver avec un programme qui explose. Voici un lien assez complet sur C++ (en anglais): http://www.parashift.com/c++-faq-lite/
Essaye aussi de regarder ce qu'est un smart pointer. J'ai vu que tu en utilisait d�ja dans certaine partie de ton code (osg::ref_ptr)
Finalement, essaye d'�viter de faire des new a chaque frame. Si ton programme tourne a 60 frames par second et que tu fait des new sans g�rer la m�moire derri�re ton programme va pas tenir 10 minutes avant de ne plus avoir de m�moire disponible.
Maintenant pour ta derni�re question je ne suis pas non plus un expert la dedans, mais il y a pas mal de doc la dessus sur le net. En anglais �a s'appelle bounding volume hierarchy (BVH) En gros le principe serait de s�parer ta dent un plusieurs petite partie. Chaque petite partie comprendrait des triangles situ� dans diff�rente partie de l'espace 3D. J'imagine que ca tu avais d�ja compris. Maintenant un algorithme qui s�pare tes triangles dans l'espace je ne peux pas te donner d�sol�. Peux �tre que �a pourra t'aider: http://en.wikipedia.org/wiki/Binary_space_partitioning
Partager