簡體   English   中英

將OpenGL兼容性配置文件與Intel HD GPU + Mesa結合使用

[英]Using OpenGL Compatibility Profile with Intel HD GPU + Mesa

我得到了另一個團隊編寫的OpenGL應用程序,而我一直在努力使其工作近一個星期。 我的設置的核心配置文件為3.3(GLSL 3.3,Mesa 11.2),兼容性配置文件為3.0(GLSL 1.3,Mesa 11.2)。 我嘗試使用設置中的核心配置文件運行一些測試應用程序,並成功完成了。 但是,我知道一個事實,該應用程序使用3.0兼容性配置文件(在glext.h中使用ARB函數),但是每當執行諸如glUseProgramObjectARB,glActiveTextureARB,glUniform1iARB之類的函數時,它始終會引發INVALID_OPERATION錯誤(1282)。

非常感謝您對解決此問題的任何幫助。

和3.0的兼容性配置文件(GLSL 1.3,Mesa 11.2)

當然不是。 對兼容性配置文件的支持是可選的。 到目前為止,只有NVidia和AMD的專有驅動程序才完全支持它們。 所有其他OpenGL實現都沒有。

但是,我知道這個應用程序使用3.0兼容性配置文件(在glext.h中使用ARB函數)。

那些可能不是兼容性概要文件功能。 這些更有可能與OpenGL-2.1上下文一起使用。 實際上,在引入核心配置文件之前,大多數OpenGL-3的行為或多或少像2.1 +一些擴展(盡管使用glUseProgramObjectARB不適合該模式)。

我的建議:嘗試擺脫那些針對兼容性配置文件的程序; 從長遠來看,這是太多的技術債務。 如果您絕對必須支持早期版本(即2.1,現在幾乎所有地方都支持該版本),則可以通過其他代碼路徑來解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM