Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 07:58

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Fr Apr 08, 2011 16:16 
Offline
DGL Member

Registriert: Mo Nov 09, 2009 12:01
Beiträge: 200
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.

Gruss Jens


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Aug 17, 2011 09:59 
Offline
DGL Member

Registriert: Di Sep 28, 2004 15:46
Beiträge: 54
Hast Du da schon eine Lösung für gefunden, würde mich auch interessieren....


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Aug 17, 2011 10:13 
Offline
DGL Member
Benutzeravatar

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.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Aug 17, 2011 10:44 
Offline
DGL Member

Registriert: Mo Nov 09, 2009 12:01
Beiträge: 200
Ja, ich habe mir etwas zusammengebaut und hier beschieben:
http://www.delphigl.com/forum/viewtopic.php?f=2&t=9930&p=86094#p86094
Der Post ganz unten.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Aug 17, 2011 11:27 
Offline
DGL Member

Registriert: Di Sep 28, 2004 15:46
Beiträge: 54
@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?


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Aug 17, 2011 15:13 
Offline
DGL Member

Registriert: Fr Okt 03, 2008 13:32
Beiträge: 367
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.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Aug 17, 2011 20:20 
Offline
DGL Member

Registriert: Mi Sep 15, 2010 18:22
Beiträge: 59
Wohnort: Sachsen Meißen
Programmiersprache: Pascal, C(++), Java
Wenn es dir reicht kannst du einfach in ein unsichtbares Fenster rendern oder du schaust mal hier:

http://www.mesa3d.org/brianp/sig97/offscrn.htm

_________________
bluesky


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Aug 18, 2011 08:45 
Offline
DGL Member

Registriert: Di Sep 28, 2004 15:46
Beiträge: 54
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???


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 15 Queries | GZIP : On ]