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

Aktuelle Zeit: Do Mär 28, 2024 13:57

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



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Inhalt eines TCanvas ausgeben...
BeitragVerfasst: Mi Jan 28, 2015 15:28 
Offline
DGL Member

Registriert: Di Jun 10, 2014 06:59
Beiträge: 17
Programmiersprache: Delphi XE6
Hallo zusammen,

ich habe eine Programm, mit dem ich via OpenGL Vektormodelle anzeige. Die Modelle sind 3-Dimensional. Nun möchte ich noch ein paar zusätzliche Infos am Bildschirm ausgeben, welche nicht direkt aus der OpenGL-Welt kommen. Ich möchte ein Logo in der Bildschirmecke ausgeben, das derzeit nur in Form eines Bitmaps vorliegt (TBitmap). Weiterhin möchte ich eine Skala ausgeben, welche bisher mit TCanvas erstellt wurde. Bisher erzeuge ich die OpenGL-Grafik in den Framebuffer und hole diese dann mit "SwapBuffers" auf den Bildschirm. Danach kopiere ich das Logo mit "Canvas.Draw" auf den Bildschirm und zeichne dann mit den üblichen TCanvas-Befehlen die Skala. Das Flackern stört mich dabei eigentlich nicht.

Nun das Problem: Bei moderneren Grafikkarten wird das in OpenGL erzeugt Bild verzögert ausgegeben. Ich erstelle zwar meine zusätzlichen Elemente, diese werden dann allerdings wieder durch die Ausgabe von OpenGL überschrieben. Ich habe schon versucht mit "glFinish" zu synchronisieren bzw. auf das Beenden der Ausgabe von OpenGL zu warten. Leider kehrt "glFinish" zurück, obwohl OpenGL noch zeichnet.

Eine Lösung wäre, den Inhalt des Bitmaps bzw. Das von mir auf einen Canvas gezeichnete in den Framebuffer zu schreiben. Hier habe ich allerdings keine Idee wie... Wie kann ich ein TBitmap bzw. den Inhalt von TCanvas an einer festen Stelle im Framebuffer ausgeben?

Danke schon mal für Eure Ideen / Anregungen.

Alex


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Inhalt eines TCanvas ausgeben...
BeitragVerfasst: Mi Jan 28, 2015 16:37 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Was hindert dich daran, das Logo und die Skala mit OpenGL zu rendern ?
So nebenbei verschwindet dann auch das Flackern.


Eine andere Variante ist, das Logo auf ein Panel zu legen, z.B. TImages.

_________________
OpenGL


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 28 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.050s | 17 Queries | GZIP : On ]