Heim >Backend-Entwicklung >C++ >Wie rendere ich einen OpenGL-Frame innerhalb eines C Builder-Formulars?
Beim Anpassen eines C Builder-Formulars mit OpenGL treten häufig Probleme auf, wenn OpenGL-Startcode direkt aus Online-Ressourcen kopiert wird. Für diejenigen, die C Builder verwenden, gibt es hier eine detaillierte Anleitung zum Rendern eines OpenGL-Frames innerhalb eines Formulars:
Initialisierung
<code class="cpp">int xs, ys; HDC hdc; // device context HGLRC hrc; // rendering context int ogl_inicialized; int ogl_init(); void ogl_exit(); void ogl_draw(); void ogl_resize();</code>
<code class="cpp">void __fastcall TForm1::FormResize(TObject* Sender) { ogl_resize(); } void __fastcall TForm1::FormPaint(TObject* Sender) { ogl_draw(); } void __fastcall TForm1::Timer1Timer(TObject* Sender) { ogl_draw(); }</code>
OpenGL-Initialisierung
<code class="cpp">hdc = GetDC(Form1->Handle); // get device context PIXELFORMATDESCRIPTOR pfd; ZeroMemory(&pfd, sizeof(pfd)); // set the pixel format for the DC ... if(wglMakeCurrent(hdc, hrc) == false) { ShowMessage("Could not make current OpenGL Rendering context !!!"); wglDeleteContext(hrc); // destroy rendering context ogl_inicialized=0; return 0; } ...</code>
OpenGL-Rendering
<code class="cpp">glBegin(GL_QUADS); ... glEnd();</code>
Zusätzliche Hinweise
Das obige ist der detaillierte Inhalt vonWie rendere ich einen OpenGL-Frame innerhalb eines C Builder-Formulars?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!