Einzelnen Beitrag anzeigen

Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#2

Re: OpenGL ohne ein Fenster realisieren ?

  Alt 29. Aug 2008, 15:15
Einen OpenGL-Renderkontext muss nicht unbedingt an ein Fenster gebunden sein. Du kannst als "Renderfeld" auch einfach ein TPanel setzten. Dafür musst du einfach beim erstellen des Render-Context das TPanel.Handle statt dem TForm.Handle übergeben. Natürlich solltest du dann noch beim Viewport und co die Größe des Panels und nicht der Form übergeben . Aber an sonsten ist OpenGL nicht an ein Fenster gebunden.

Aber Achtung: soweit ich weiß funktioniert OGL nicht mit jedem TWinControl. Ich glaub TImage und TPaintBox sind solche Kandidaten. Jedoch ein einfaches TPanel oder selbet etwas mit TCustomControl erstellen funktionieren. Worauf du aber noch achten solltest: Wenn du mehrere Render-Contexte in einer Anwendung haben willst, musst du beim Zeichnen mit wglMakeCurrent immer den aktuell zu zeichnenden Render-Context auswählen. Wenn alle Rendercontexte Zugriff auf die gleichen Texturen, DisplayListen usw. haben sollen, musst du die Inhalte der RCs nocht wglShareLists [oder so ähnlich] miteinander verbinden.
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat