1
我正在爲Linux手動創建OpenGL 4.2上下文。瞭解glXCreateContextAttribsARB屬性設置
創建上下文的陣列屬性是這樣的:
int context_attribs[] = {
GLX_CONTEXT_MAJOR_VERSION_ARB, 4,
GLX_CONTEXT_MINOR_VERSION_ARB, 2,
GLX_CONTEXT_FLAGS_ARB, GLX_CONTEXT_DEBUG_BIT_ARB,
GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB,
None
};
然後,我將它傳遞到glXCreateContextAttribsARB()。該上下文中創建的所有權利,但我有一個關於屬性標誌一對夫婦的問題。 例如,基於該文檔GLX_CONTEXT_FLAGS_ARB我有兩個選擇:
GLX_CONTEXT_DEBUG_BIT_ARB 0x0001
GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
如果我選擇的第一個,它的意思是OpenGL的在調試模式下運行,如果是的話,如果我使用這個標誌的第二個選項?這是否意味着我無法使用固定功能? 如果是,那麼如何設置「非調試」上下文,但在兼容性配置文件模式?
你可以花費在「健壯的訪問」的使用嗎?我閱讀文檔,但並沒有真正理解爲什麼我會需要它。或者我應該提交這是另一個問題? ;) – 2013-04-04 10:52:45
@MichaelIV:最近才引入了可靠訪問,以幫助開發OpenGL框架或後端執行不受信任的代碼,例如瀏覽器中的WebGL。在強健的訪問方法之前,某些OpenGL方法可用於泄漏其他進程的信息或用於代碼注入。啓用強大的功能後,會添加一些額外的完整性檢查,並且還沒有未初始化的緩衝區。有關詳細信息,請參閱http://www.opengl.org/registry/specs/ARB/robustness.txt – datenwolf 2013-04-04 11:11:56