Heim >Backend-Entwicklung >C++ >Wie rendere ich einen OpenGL-Frame in einem C Builder-Formular mit TForm::Handle?
Ich möchte einen OpenGL-Frame innerhalb eines Formulars in C Builder rendern, aber das tue ich Beim Befolgen des bereitgestellten OpenGL-Startcodes treten Probleme auf. Wie kann ich das lösen?
Verwendung von TForm::Handle als Fensterhandle
Die Lösung liegt in der Verwendung von TForm::Handle als Fensterhandle.
Beispielimplementierung
Hier ist ein Beispiel, das aus einer älteren Version von C Builder übernommen wurde:
<code class="cpp">int TForm1::ogl_init() { if (ogl_inicialized) return 1; hdc = GetDC(Form1->Handle); // Get device context PIXELFORMATDESCRIPTOR pfd; // Set pixel format for the DC ... // Create current rendering context hrc = wglCreateContext(hdc); if (hrc == NULL) { ShowMessage("Could not initialize OpenGL Rendering context !!!"); ogl_inicialized = 0; return 0; } if (!wglMakeCurrent(hdc, hrc)) { wglDeleteContext(hrc); // Destroy rendering context ogl_inicialized = 0; return 0; } // ... ogl_inicialized = 1; return 1; }</code>
Zusätzliche Hinweise
Das obige ist der detaillierte Inhalt vonWie rendere ich einen OpenGL-Frame in einem C Builder-Formular mit TForm::Handle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!