Seite 1 von 1

[gelöst] GUI-Elemente in FBO oder Textur rendern?

Verfasst: 22. Juni 2009 15:12
von Nutreon
Ist es möglich, einzelne GUI-Elemente (oder eine Ansammlung solcher in einem QMainWindow) in ein FrameBufferObject zu rendern?

Meines Wissens sieht der "Standardweg" des Systems so aus, dass das gesamte QMainWindow samt Inhalt in den Frame-Buffer der Grafikkarte gerendert und dieser (über z.B. Double-Buffering) auf dem Ausgabegerät (Bildschirm) ausgegeben wird. Mein Streben ist es aber, wie bereits angedeutet, den Inhalt des Windows nicht direkt auszugeben, sondern in ein FrameBufferObject o.ä. zu rendern, um die erzeugten Daten wie eine Textur weiterverarbeiten zu können. Aus Performance-Gründen sollen dabei die erzeugten Daten auf der Grafikkarte verbleiben.

Die Motivation besteht in dem verzerrten Darstellen eines Interfaces (MainWindow mit GUI-Elemente) im 3D-Raum.

Verfasst: 29. Juni 2009 14:54
von CaptnChaos
QWidget::render(). Siehe Doku.
Eventuell musst du noch den umweg über QImage oder QPixmap gehen.

Verfasst: 14. Juli 2009 19:23
von Nutreon
Ist garnicht nötig, da über diese Funktion direkt in ein FBO gerendert werden kann.

Das Problem ist damit gelöst :D