Entwickler-Ecke

Multimedia / Grafik - schneller Panoramaviewer, ein paar Ideen


helgew - Mi 30.12.09 18:54
Titel: schneller Panoramaviewer, ein paar Ideen
Hallo Leute!

Ich lese hier immer mal wieder mit, nun habe ich mich angemeldet :-)


Es geht um folgendes: Für eine Grafikapplikation (Verwendeung von Bitmaps, Canvas) benötige ich einen richtig schnellen viewer für sphärische Panoramen. Ein Ausschnitt dessen soll in rectilinearer Abbildung ("normale" Sichtweise mit begrenztem Field Of View, frei von radialer Verzeichnung) mit typisch 1MP (z.B. 1280x800) angezeigt werden können.
Das Problem dabei ist, dass selbst mit SSE-Befehlen beschleunigte, pixelgenaue Berechnungen bei voller Bildschirmauflösung eine Laufzeit in der Größenordnung 1 Sekunde haben, also etwas, das fernab von echtzeitfeeling ist.

Hat dazu jemand Vorschläge?

edit: ausführliche Erklärung gelöscht, liest ja eh keiner zuende.


helgew - Fr 01.01.10 22:55

Aufgrund der regen Beteiligung habe ich kurz ein Video gebastelt, das die Gestalt und Lage der sechs lookup-tables für die Projektion 3d-Raumkugel -> Quellbild illustriert. Die Pixel der Texturen sind anhand der gespeicherten Koeffizienten nullter Ordnung auf dem Quellbild rekonstruiert.

Ich freue mich über jedweden Beitrag :-)

http://www.viddler.com/explore/helgew/videos/1/


helgew - Sa 09.01.10 16:09

Es geht weiter: Ich habe das eigentliche Nachschlagen in 0. Ordnung implementiert, dabei sieht man auch die Abdeckung des Zielbildes mit Stützstellen. Gezeigt wird ein Vergleich zwischen Umrechnung mit arccos + arctan gegen den lookup. Die Berechnung des Lookups mit mehrmaligem Runden von Single-Werten benötigt dabei eine Zeit von wenigen ms.

http://www.viddler.com/explore/helgew/videos/2/


Tilman - Sa 09.01.10 17:05

Hi, ich verstehe zwar maximal jedes zweite Wort das du schreibst ;), aber vielleicht kommst du mit OpenGL weiter. Wenn es nicht unbedingt Bitmap/Canvas sein muss.
http://delphigl.com/


helgew - So 10.01.10 18:34

Wie du siehst sind die Anfänge schon gemacht. Der viewer soll mit der GDI (Canvas etc.) implementiert werden. OpenGL scheidet aus verschiedenen Gründen und auch prinzipiell aus :/


helgew - Do 21.01.10 01:07

So, ich mal wieder, lineare Interpolation mit Jacobimatrix ist fertig (zumindest für zwei der sechs tables)


helgew - Sa 23.01.10 16:59

SLE läuft nun.
http://www.viddler.com/explore/helgew/videos/3/