![]() |
OpenGL in TBitmap rendern?
Hallo!
Momentan render ich mit OpenGL auf ein TCustomPanel. Dieses flackert jedoch ziemlich und aus diesem Grund möchte ich meine Scene zuerst in ein TBitmap Objekt rednern und dann via Canvas.Draw(...) in einen Stück zeichnen. Probiert habe ich es wie folgt:
Delphi-Quellcode:
Dies scheint jedoch nicht zu klappen. Weiß jemand warum es nicht so geht und / oder wie es richtig funktioniert?
m_dc := m_bmp.Canvas.Handle;
m_rc := CreateRenderingContext(m_dc, [opDoubleBuffered], 32, 32, 0, 0, 0, 0); ActivateRenderingContext(m_dc, m_rc); Viele Dank Najo |
Re: OpenGL in TBitmap rendern?
Wie es aussieht, zeichnest du es einfach auf die Form (Canvas.Draw..)
>>Warum nimmst du nicht einfach den Device Context deiner Form ?
Code:
MfG
GetDC();
GetWindowDC(); |
Re: OpenGL in TBitmap rendern?
Panels gehen auch prima, wenn mans nicht auf die ganze Form zeichnen will.
|
Re: OpenGL in TBitmap rendern?
Da würde ich aber eine PaintBox bevorzugen
|
Re: OpenGL in TBitmap rendern?
Die jedoch keinen eigenen DC (bzw. kein eigenes Handle) hat, und daher gar nicht geht ;)
|
Re: OpenGL in TBitmap rendern?
Hallo,
ich habe erst direkt auf einem Panel gezeichnet, dies flackerte jedoch start, so dass ich in ein Bitmap rendern wollte um dieses dann "in einem Rutsch" auf das Canvas zu zeichen. Ich habe jetzt jedoch den Grund für das Flackern gefunden. Es lag an WM_ERASEBKGND. Vielen Dank für die Antworten Najo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz