Schnapp dir JOGL, klebe die Textur auf ein Rechteck aus 2 Dreiecken, und rendere das von der Seite...
Ansonsten würde ich spontan folgende Umrechnung vorschlagen:
Der Fluchtpunkt sei der Ursprung des Bild-Koordinatensystems, also bei (0,0).
[c]c[/c] sei einfach eine positive Konstante.
[c]x[/c] sei die horizontale koordinate des pixels auf dem ursprünglichen Bild
[c]z[/c] sei die "tiefenkoordinate" des pixels auf dem ursprünglichen Bild
[c]y[/c] sei eine feste Höhe, von der man auf das ursprüngliche Bild herabschaut
[c]x'[/c] sei die x-koordinate des pixels im verzerrten Bild
[c]y'[/c] sei die y-Koordinate des pixels im verzerrten Bild
Dann wäre die Umrechnung von "ursprünglich" nach "verzerrt":
[c](x,y,z) -> (cx/z, cy/z) =: (x',y')[/c]
Und in die andere Richtung genauso:
[c]z = cy/y' , x=x'z/c[/c]
Wenn man die ursprünglichen Koordinaten x,z hat, muss man nur noch nachschlagen, welcher Pixel das im ursprünglichen Bild ist, und mit der entsprechenden Farbe ein Punkt in das verzerrte Bild einzeichnen.
Bei sehr "weichen" Bildern wäre das Ergebnis evtl. recht akzeptabel, aber wenn auf den Bildern irgendwelche Details zu sehen sind, wird das ganze hässlich & pixelig => quäl dich nicht, und nimm JOGL^^