OpenGL學習筆記之一 什麼是OpenGL

2021-08-19 23:39:45 字數 879 閱讀 2644

opengl到底是什麼?

制定並維護的規範(specification)。

opengl規範嚴格規定了每個函式該如何執行,以及它們的輸出值。至於內部具體每個函式是如何實現(implement)的,將由opengl庫的開發者自行決定(譯註:這裡開發者是指編寫opengl庫的人)。因為opengl規範並沒有規定實現的細節,具體的opengl庫允許使用不同的實現,只要其功能和結果與規範相匹配(亦即,作為使用者不會感受到功能上的差異)。

由於opengl的大多數實現都是由顯示卡廠商編寫的,當產生乙個bug時通常可以通過公升級顯示卡驅動來解決。這些驅動會包括你的顯示卡能支援的最新版本的opengl,這也是為什麼總是建議你偶爾更新一下顯示卡驅動。

所有版本的opengl規範文件都被公開的寄存在khronos那裡。有興趣的讀者可以找到opengl3.3的規範文件。如果你想深入到opengl的細節(只關心函式功能的描述而不是函式的實現),這是個很好的選擇。如果你想知道每個函式具體的運作方式,這個規範也是乙個很棒的參考。

總結:

要點一: opengl是乙個規範而非乙個api(但定義了api介面),規範由khronos組織制定並維護

要點二: opengl規範嚴格規定了每個函式該如何執行,以及它們的輸出值;opengl規範並不規定實現的細節,具體的opengl庫允許使用不同的實現,只要其功能和結果與規範相匹配。

要點三:實際的opengl庫的開發者通常是顯示卡的生產商。

windows系統:顯示卡所支援的opengl版本都為這個系列的顯示卡專門開發的;

linux系統:有顯示卡生產商提供的opengl庫,也有一些愛好者改編的版本。

Github學習之一 什麼是Github

github是通過git進行版本控制的軟體源 託管服務。由github公司 曾稱logical awesome 的開發者chris wanstrath pj hyett和tom preston werner使用ruby on rails編寫而成。github通常用於軟體開發。github還支援以下格...

docker學習之一 什麼是docker

一開始看了許多文章,但是總覺得還是沒有完全理解什麼是docker。建議先動手操作實踐,之後回頭再來看看什麼是docker。docker可以輕鬆方便自由的搭建和部署各種應用 包含執行環境 的乙個軟體,它可以執行在linux windows 和 macos系統上。簡單得來說,docker是乙個由go語言...

OpenGL筆記之一 開學

opengl本身並不是乙個api,它僅僅是乙個由khronos組織制定並維護的規範 opengl規範嚴格規定了每個函式該如何執行,以及它們的輸出值。至於內部具體每個函式是如何實現的,將由opengl庫的開發者自行決定。這裡開發者是指編寫opengl庫的人,實際的opengl庫的開發者通常是顯示卡的生...