Je te laisse complexifier le code pour l'intersection, mais tu as l'idées.
Tu sais que tu vas avoir un nombre de formes "limitées" : les quadriques, puis les modèles à bases de triangles. Pour optimiser le calcul, chaque quadrique a son propre type qui définit son équation (l'équation d'un elipsoide est plus simple qu'une quadrique générale, c'est pour ça que j'en fais plusieurs types différents ).
A la suite de ça, tu as réellement un contenaire différent pour chacun des types, et tu n'as pas de fragmentation de la mémoire :). Et surtout, étant donné qu'il n'y a pas de groupes comme des Widget "à la" Qt, il y a très peu de chances d'avoir des centaines de container vide
- Edité par Qnope 12 août 2018 à 3:13:11
http://cpp-rendering.io : Vous trouverez tout ce dont vous avez besoin sur Vulkan / OpenGL et le rendu 3D !