Detecção de colisão triângulo a triângulo em 3D

Eu entendo a detecção de colisão triângulo a triângulo entre 2 triângulos. Alguém pode explicar como eu poderia usar isso com um objeto 3D composto de milhares de vértices? Como posso criar uma lista de triângulos para cada malha? Eu tenho que tomar toda permutação de vértices? Isso levaria a O (n ^ 3), o que acho muito ruim.

Como posso generalizar isso?

Vou precisar ler dados de um formato. Se tudo mais falhar, alguém pode sugerir um formato que faça a malha a partir de triângulos? Eu também precisaria de um catálogo de malhas para o formato, pelo menos para iniciantes.

Muito obrigado.

questionAnswers(2)

yourAnswerToTheQuestion