Du hast dir aber viel vorgenommen ...
Am Besten schaust du mal wirklich bei den Profis nach, wie das gemacht wird.
Wenn ich deine Schleifen sehe
Delphi-Quellcode:
for x := 0 to 499 do // Hier wird noch mal die finale Matrix erstellt
begin
for y := 0 to 499 do
begin
for c := 0 to Buffers.Count-1 do
begin
vermute ich mal das es schnell ein Performance und Speicher Problem geben wird, je nachdem wieviele
Ebenen du brauchst.
Deshalb ist Backface culling ja so ein komplexes Thema, und es gibt sicher ein viele mathematische Tricks dazu.
http://myweb.lmu.edu/dondi/share/cg/hsr.pdf
http://www.mttcs.org/Skripte/Pra/Mat...vorlesung6.pdf
http://www.gamedev.net/page/resource...ernative-r1485
Bei deinem Ansatz würde ich mal versuchen statt Pixel, ein sorted Array für jedes Pixel in der Ebene zu benutzen.
Dann sollte nur das erste Element der Arrays gecheckt werden müssen, in welcher Ebene das liegt.
Ob das schneller ist kann ich nicht sagen, aber ich vermute mal das es schon besser ist als
ein Algorithmus der sich mit O^3 skaliert.
Rollo