Hey, Danke erstmal für Deine Antwort.
"Matrix" ist mir in diesem Zusammenhang noch gar nicht begegnet, werd' ich mir gleich mal anschaun.
Klar zeig ich Dir gern Ausschnitte aus dem Code, ich weiß nur nicht, was genau im speziellen wichtig ist. Man sollte nur erstmal wissen, dass meine "3D-Engine" natürlich sehr rudimentär ist, da ich immer noch Anfänger in Delphi bin und auch nur in meiner Freizeit programmiere (Auch wenn ich finde, dass das Ergebnis bisher schon ganz gut aussieht).
Mal ganz grob erklärt, damit Du erstmal eine Vorstellung meines Ansatzes hast: Ich habe ein Array mit den Positionen und Daten der Wände etc. und einen festen Fluchtpunkt. Mit Sinussatz und ähnlichem rechne ich die Verhältnisse im Raum aus (also das eine Mauer weiter hinten "kürzer" ist zum Beispiel) und verbinde die so berechneten Eckpunkte dann mit
Canvas.LineTo(...);
. Dann Fülle ich die dadurch entstandenen Flächen einfach mit den Oben genannten befehlen aus. Das ist natürlich keine perfekte Lösung, aber ich bin wie gesagt eben Anfänger und eigentlich so schon stolz, das überhaupt hinbekommen zu haben.
In einer neuen Version habe ich nun die
Canvas.Brush.Color:=$...
-Befehle einfach durch
Canvas.Brush.Bitmap:=[Bitmap]
ersetzt, um mein kleines Spiel ein wenig plastischer wirken zu lassen. Es sieht auch eigentlich nicht so schlecht aus (abgesehen davon, dass ich noch keine wirklich guten Texturen gefunden habe), aber sobald man sich bewegt merkt man schnell, dass das ganze ziemlich unrealistisch ist. Wenn die Texturen ebenso "kleiner" würden wie die Wände wäre das schon deutlich besser, ich finde aber keinen Ansatz, wie ich das umsetzten soll.