Hallo.. eine Frage habe ich zu Offscreen rendern mit FBO.
Ich habe es hinbekommen mit FBO in eine Textur zu rendern und diese Textur mit glGetTexImage in ein Bitmap zu befördern. Das habe ich jetzt mit geöffneten RenderFenster und dem entsprechenden Kontext gemacht.
Wie setze ich den Kontext, wenn ich nicht auf ein Fenster rendern will, sondern eben offscreen nur in die FBO-Textur.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Geht eigentlich ganz simpel :
FBO binden (glBindFramebuffer)
Szene rendern (da das FBO gebunden ist wird auch nur dessen Framebuffer beeinflusst)
FBO deaktivieren (glBindFramebuffer mit ID 0)
Mehr ist da nicht. Ein FBO hat in dem Sinne keinen eigenen Kontext, aber sobald es aktiviert wurde wird in dessen Framebuffer gerendert und nicht mehr z.b. in den des Fensters.
@jens01: Ja, das hab ich schon gesehen. Aber bei mir hat das nicht so geklappt, wie ich mir das vorgestellt habe. Ich will Rendern, ohne dass ich ein Fenster habe. Welchen Kontext hast Du denn genommen, weil wenn ich das mit den FBO richtig verstanden habe braucht man doch einen Kontext oder?
Ich hab' in dem Thread dazu was gefunden: http://www.delphipraxis.net/119657-opengl-ohne-ein-fenster-realisieren.html Im DGL-Header gibt es schon so eine Abfrage wodurch PFD_DRAW_TO_BITMAP verwendet wird. Die Funktion "GetObjectType" prüft dabei den DC wodurch dann entschieden wird ob es ein Fenster ist oder nicht. Vielleicht kann man da mit GetDC auch "unsichtbare" Objekte als Context verwenden.
Nun, eigendlich mache ich das offscreeenrendern seit Jahren schon mit PFD_DRAW_TO_BITMAP. In letzter Zeit gibt es aber Probleme mit Radeon HD - Grafikkarten, drum muss ich nach einer Alternativen schauen.
Werde wohl für solche Problemfälle erst mal auf das Tiling zurückgreifen. Würde das mit einem unsichtbaren Fenster denn auch funktionieren???
Mitglieder in diesem Forum: Bing [Bot] und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.