使用 OpenGL 自訂 C Builder 表單時,直接從線上資源複製 OpenGL 啟動程式碼時經常會遇到問題。對於使用C Builder 的用戶,這裡有一個在表單中渲染OpenGL 幀的詳細指南:
初始化
<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 初始化
<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 渲染
<code class="cpp">glBegin(GL_QUADS); ... glEnd();</code>
以上是如何在 C Builder 窗體中渲染 OpenGL 影格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!