Toll das mit dem tracen

das wollte ich gestern auch erst vorschlagen, allerdings um die Nachteile wissend

Wenn jetzt z.B. ein "Zombie" mit dem Mittelpunkt hinter einem anderen steht, oder zur hälfte hinter einer Wand oder was auch immer, dann wird es nicht mehr dargestellt, obwohl es zum Teil eigentlich noch sichtbar ist.
c_trace ist außerdem recht langsam. Bei zehn 10000poly Modellen würde es sich wohl lohnen, aber bei tausend 100-1000 poly Modellen, ist es viel zu langsam. Auch wenn nur jeden 15. frame "getraced" wird, geschieht es immer gleichzeitig und wird jeden 15. frame heftig stocken. Auch dies könnte man ändern, indem von den 1000 Modellen jeweils 66 überprüfen, ob etwas im weg ist. Auch dies ist nicht gerade schnell aber vielleicht noch zumutbar.
Es bleibt aber das erste Problem. Es müssten also verschiedene Teile eines Modelles überprüft werden. Mit vec_for_vertex ist dies zwar kein problem, aber es bedeutet auch mindestenz 8 zusätzliche aufrufe von c_trace pro Modell.
8*66 = 528, 528 mal c_trace ist aber nicht mehr besonders zumutbar, und wäre ein erheblicher Implementierungsaufwand, da die 8 vertices für jedes modell per Hand gesetzt werden müssten. Selbst bei überprüfen aller Vertices könnte im schlechtesten fall noch das zuerst genannte Problem zutreffen.
Tatsächlich dachte ich, dass BSP dieses normalerweise durch das Zerlegen des Levels in Regionen und zusätzlichem zuordnen von Modellen zu den entsprechenden Regionen, selbst handhabt...
Für vec_for_screen ist es egal, ob etwas im weg ist oder nicht und selbst wenn, würde das erste Problem zutreffen

Ich habe keine Idee, die dieses Problem lösen könnte, außer eben gutes Scene Management durch die Engine.