如何設置默認 framebuffer中的採樣數量,由Windows給出?在Windows下的OpenGL中的多重採樣幀緩衝器
我發現this頁面,但雖然我使用glew,但在我的上下文中沒有可用的wglChoosePixelFormatARB
函數。這可能是什麼原因?
如何設置默認 framebuffer中的採樣數量,由Windows給出?在Windows下的OpenGL中的多重採樣幀緩衝器
我發現this頁面,但雖然我使用glew,但在我的上下文中沒有可用的wglChoosePixelFormatARB
函數。這可能是什麼原因?
使用WGL,只能在創建上下文時爲窗口設置一次像素格式,並且一旦客戶端驅動程序加載完成,只能調用wglChoosePixelFormatARB()
函數,並且客戶端驅動程序僅在您擁有OpenGL上下文。是的,這是循環的。因此,這意味着你必須做到以下幾點:
與OpenGL上下文創建的窗口。
獲取wglChoosePixelFormatARB()
的函數指針。
銷燬窗口,並創建一個具有所需像素格式的新窗口。
如果你有任何意義的,你會使用SDL或GLFW爲你做這個,因爲它只是一堆你寫管道的,有一個在學習如何做沒有價值它,你可能想要完成一些真正的工作。 SDL/GLFW /等。 99%的OpenGL遊戲是如何開發出來的。
如果您確實想自己做這件事並且陷入困境,請查看SDL或GLFW源代碼以瞭解它們是如何實現的。
在SDL中,src/video/windows/SDL_windowsopengl.c
文件有一個功能WIN_GL_ChoosePixelFormatARB()
這你想要做什麼。另請注意功能WIN_GL_LoadLibrary()
。
在GLFW中,src/win32_window.c
文件有一個功能_glfwPlatformCreateWindow()
,它可以做你想做的。
P.S. GLEW在覈心環境和現代卡片方面有點不合適,請小心。那裏還有其他的GL裝載機。
你可以推薦比glew更好的「gl功能裝載機」嗎? – Pilpel
@Pilpel:不幸的是,我只使用過兩次:我使用了GLEW,並且我自己翻譯了(通過解析OpenGL API規範)。 GLEW的問題在於,它不適用於核心上下文,它應該是一個簡單的修復,但它們只是沒有完成。請參閱:https://www.opengl.org/wiki/OpenGL_Loading_Library –
「如果您對您有任何意義,您將使用SDL或GLFW爲您完成此操作,因爲這只是一大堆管道工作,您必須寫「 - 但你自己寫了大量的opengl函數指針代碼!? – Pilpel