Hm...OK...in dem Fall ist kein OpenGL etc. im Spiel, d.h. das Ganze wird tatsächlich von Hand gezeichnet. Wie würde eine manuelle Berechnung der Perspektive denn aussehen müssen?
Weswegen man teilen muss:
Letztendlich läuft das (vereinfacht gesagt) auf den
Strahlensatz hinaus. Die Strahlen laufen im Auge (oder der Kamera) zusammen. Alle Objekte entlang eines Sichtstrahls erscheinen auf dem Kamerabild übereinander. Ist ein Objekt jetzt doppelt so weit weg muss es auch doppelt so groß sein um nach der Projektion auf die Kamera-Ebene gleich groß zu sein.
Im ersten Schritt brauchst du also die Entfernung des Objektes zur Kamera. Die bekommst du als 'Nebenprodukt' (neben den normalisierten Bildschirmkoordinaten) aus der Multiplikation mit der Projektionsmatrix. Danach macht man dann die Division.
Aber schau dir am besten die verlinkten Folien an, die schauen an sich gut aus. Das ganze Thema ist relativ mathematisch da muss man sich durchbeißen. Alternativ kannst du auch von irgendwo fertig Code kopieren, den dann aber im Detail zu verstehen dürfte schwer werden, noch schwerer ist es dann Fehler zu finden, falls er nicht richtig funktioniert. Alternativ benutzt man einfach eine fertige Implementierung und muss sich dann um die Mathematik nicht groß scheren sondern nur die entsprechenden Parameter setzen.
[edit]Homogene Koordinaten im Allgemeinen sind sicherlich auch interessant zu verstehen, darauf baut das ganze schließlich auf. Der
Wikipedia-Artikel bietet eine Zusammenfassung, ist aber vermutlich nicht ganz einfach zu verstehen, da sehr mathematisch geschrieben. Aber mit etwas Suchen findest du sicherlich auch eine einsteigerfreundlichere Quelle.[/edit]