簡體   English   中英

(linux)如何在c ++程序中知道是否支持Opengl 4?

[英](linux) How can I know inside a c++ program if Opengl 4 is supported?

我想在我的C ++程序中檢測運行的計算機上是否支持opengl 4。

我不知道我是否在Google和stackoverflow上搜索了錯誤/錯誤的字詞(我的英語能力...),但是令人驚訝的是我沒有找到任何示例...如果您告訴我這個問題是,我不會感到驚訝重復...

最終對我來說很有用,知道如何從正在運行的計算機上的視頻卡及其使用的驅動程序中獲取更多有用的數據。 我沒有花時間四處看看如何做到這一點,但是,如果您有一些有用的鏈接,請隨時與我分享。

  • 步驟1:創建OpenGL上下文; 首先嘗試通過“ attrib”方法請求您想要的最小OpenGL版本。 如果成功,那么您就完成了。

  • 第2步:如果那行不通,則可以降級創建簡潔的上下文,然后調用glGetString(GL_VERSION)獲得支持的實際上下文版本。 請注意,在MacOS X上,這將您限制為2.1及更低版本。

  • 第3步:如果您希望在2.1和最佳版本之間具有某種可移植且可靠的上下文,請循環嘗試使用attribs方法,以減少您的需求,直到成功為止。

請注意,無法預先確定OpenGL支持哪個版本。 這樣做的主要原因是,操作系統和圖形層可以根據需求決定使用哪個本地可用的OpenGL版本,具體取決於請求和當前可用的資源(理論上可以熱插拔圖形卡)。

暫無
暫無

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

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