Monday, August 26, 2019

[OpenGL] VBO, glew, double buffer, support gdi, windows


在 Windows 系統的 OpenGL 程式,如果使用 PFD_SUPPORT_GDI 旗標 (Single Buffer),使用的 OpenGL 將會是 Microsoft 的軟體版本 (1.1.0),因而無法使用 VBO (至少需要 1.5 版以上) 。即在使用 Single Buffer 的情況下,無法使用 VBO。

glGetString(GL_VERSION) 可以取得 OpenGL 版本

變通的方法如下:
    1. 仍然使用 Double Buffer.
    2. 圖形繪製到 Front Buffer: glDrawBuffer(GL_FRONT)
    3. 繪製圖形的程式碼結束後,使用 glFlush() 送出,而不是使用 SwapBuffers()
    4. 可使用 VBO.





No comments:

Post a Comment

[Qt] 執行檔需要哪些 Dll?

 1. 使用 Qt  的 windeployqt.exe 工具 (在 C:\Qt\Qt5.14.1\5.14.1\msvc2017\bin\)。   a. 把執行檔 myProgram.exe 放在某個資料夾。   b. 在檔案總管這個資料夾按 Shift 和滑鼠右鍵,開啟 Po...