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.