我想在 C Builder 中的窗体内渲染 OpenGL 帧,但我遵循提供的 OpenGL 启动代码时遇到问题。我该如何解决这个问题?
利用 TForm::Handle 作为窗口句柄
解决方案在于使用 TForm::Handle 作为窗口句柄窗口句柄。
示例实现
以下是改编自旧版本 C Builder 的示例:
<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>
附加说明
以上是如何使用 TForm::Handle 在 C Builder 窗体中渲染 OpenGL 帧?的详细内容。更多信息请关注PHP中文网其他相关文章!