Hi,
Ja.. bei der Collision Detection mußt du die Kollision mit JEDEM Polygon überprüfen...
Natürlich ist das bei einem Level wo ~500.000 Polygone sind recht.. ähm.. aufwendig *g*
Aber dafür wurden in irgendeinem schlauen Kopf die BSP-Trees, bzw Octrees entwickelt.
Bei einem Octree z.B. wird um das gesammte Level eine große Box gespannt, diese Box wird dann in 8 kleine Boxen unterteil, diese 8 Boxen jeweils wieder in 8... die 8 wieder in 8... etc...
Das kann man dann soweit machen wie man will... (Octree erstellung kann bei großen Levels durchaus mal nen Taglang dauern

)
Später beim Rendern prüft man dann per FrustumCulling "Ist Box1 Sichtbar?" wenn ja werden die 8 unterboxen kontrolliert, wenn nein wird sie weggelassen... usw... bis man halt bei der letzten Box angekommen ist
Das ist eine sehr sehr schnelle methode um rauszubekommen was sichtbar ist und was nicht (Wird auch von den aktuellen spielen genutzt).
Für die CollisionDetection ist es genauso hilfreich, denn du brauchst die CollisionDetection ja nur in den Boxen durchführen in denen deine Spielfigur sich befindet...
Hoffe du hast es einigermaßen verstanden...
Bei problemen der Umsetzung...
In 4-6 Tagen werde ich auf
www.DelphiGL.com ein Tutorial über die erstellung von Octrees schreiben
Au'revoir,
Aya~