ja, so in etwa haut das schon hin, wie du das sagst. aber die meisten berechnungen, also rotation von körpern, bewegung und auch die rasterung der flächen als vorbereitung für die texturen findet noch in der 3d welt statt. die reihenfolge wäre dann ungefähr so:
:eckkoordinaten der objekte berechnen (sind bei echten engines glaube in den level daten enthalten)
:rotieren/bewegen
:flächen rastern
:raster mit bildern versehen
:2d projektion
:zeichnen
das größte problem hierbei ist, dass sich aus der rasterung höllisch viele koordinaten ergeben, die zwar nich rotiert, aber dafür berechnet und projeziert werden müssen. und das drückt auf die performance.
nach meiner formel schnappst du dir die 3 eckpunkte des dreickes und setzt sie in der richtigen reihenfolge (mitte,links,rechts oder mitte,rechts,links) in die formel ein:
dreieck:
p0(0|0|0)
p1(1|0|0)
p2(0|1|0)
v=(p0+(p1-p0)*a+(p2-p0)*b)
p.x=(p0.x+(p1.x-p0.x)*a+(p2.x-p0.x)*b)
p.y=(p0.y+(p1.y-p0.y)*a+(p2.y-p0.y)*b)
p.z=(p0.z+(p1.z-p0.z)*a+(p2.z-p0.z)*b)
v ist dann der spezielle punkt auf deinem dreicke, besser gesagt, auf deiner ebene, denn mit der formel erhällst du alle punkte für a,b geht gegen +/- unendlich. da musste noch bissle probieren, wie a und b halt aussehen müssen. es würde sich dann für die fläche ein 2d array von punkten ergeben.
jetzt erstelltst du aus dem raster noch rechtecke, damit wir auch richtige flächen, und nicht nur punkte haben, lädst das image, wandelst es in ein bimage um, damit du die farbwerte entnehmen kannst und überträgst diese auf das eben creierte array[][] von rechtecken. 2d projektion, zeichnen, und neuer durchlauf von schritt 2. 8)