Entwickler-Ecke

Multimedia / Grafik - OpenGL Scene auf Panel rendern, nicht auf Form.


adler - Di 30.12.03 13:58
Titel: OpenGL Scene auf Panel rendern, nicht auf Form.
Hi!

Wie kann ich meine Dreiecke usw. in ein Panel rendern?


Andreas Pfau - Di 30.12.03 14:13

Hallo,

gibt als DC einfach den des Panels an:

Delphi-Quelltext
1:
DC := GetDC(Panel1.Handle);                    


adler - Di 30.12.03 14:30

Ja hab kein DC und auch kein GetDC und sonst kein Get wo ich das hinschreiben könnte.


Alibi - Di 30.12.03 14:43

Natürlich hast du das irgendwo, sonst geht deine OpenGL Ausgabe überhaupt mal garnicht.


adler - Di 30.12.03 15:52

Ne, ich finds einfach net, kann das sein das das in der "OpenGL12.dcu" drinne ist? des gibts bei mir net


Alibi - Di 30.12.03 15:57

Wenn deine Szene auf dem Formular angezeigt wird, dann musst du OpenGL auch irgendwo gesagt haben, dass es auf dem Formular rendern soll, anders geht das nicht. Irgendwo musst du also GetDC aufgerufen haben, um OpenGL den Handle des Formulars zu übergeben.


adler - Di 30.12.03 15:58

Soll ichs mal per email schicken, ist nur ganz klein, ist jetzt nur die Schleife, das soll was neues werden ;)
Dann kannste dich selbst von überzeugen.


Alibi - Di 30.12.03 16:01

Kannst du meinetwegen machen.


Christian S. - Di 30.12.03 16:18

Hallo!

Damit auch andere mitreden können, wäre es besser, den Code hier zu posten!

MfG
Peter


Phobeus - Di 30.12.03 19:41

Zumal der Code nicht in den Headern zu finden ist, sondern in dem Init wo das Pixelformat des RC bestimmt wird.


Delphi-Quelltext
1:
2:
//Pixel Format setzten
PixelFormat := ChoosePixelFormat(Canvas.Handle, @pfd);


Wie man schön sieht wird in diesem Fall das Handle des Forms verwendet und könnte ohne Probleme auch gegen das eines Pannels ausgetasucht werden.

Bei uns auf der Seite findest Du ein Template für 2 RC für OpenGL1.2-Headern bei denen sogar auf zwei Panels gerendert wird.

Moderiert von user profile iconPeter Lustig: Code- durch Delphi-Tags ersetzt


adler - Di 30.12.03 23:41

Hi Phobeus

Ich wusste doch ich hab das schonmal wo gefunden, nur ich finds nicht mehr in der Files Sektion und auch nicht bei den Tutorien.


Phobeus - Mi 31.12.03 12:42

Files->Template->OpenGL 1.2 Template (VCL) für zwei RenderContext