OpenGL系列教程(1)——認識OpenGL
阿新 • • 發佈:2019-02-10
寫在前面
寫這個系列教程一方面是為了幫助我自己鞏固、理解OpenGL和計算機圖形學的知識,提升自己的寫作和表達能力,另一方面是為了分享自己在學習過程中收穫到的成果,與作為讀者的你共同進步。還有,這不是一個面向程式設計新手的系列教程,因此在學習該教程前,我假定你已十分熟悉C/C++語言,或者至少對程式設計的基本概念有所瞭解。全篇教程主要基於Windows平臺。
下面我以FAQ的形式給出OpenGL的簡介,內容翻譯自OpenGL Wiki,原文地址:https://www.khronos.org/opengl/wiki/FAQ
1.什麼是OpenGL?
OpenGL,全稱Open Graphics Library,直譯為開放式圖形庫。字面上不難理解這就是一個圖形庫,專門給程式開發人員編寫圖形程式用的。OpenGL可以渲染(也可稱為繪製,後續教程全部使用“渲染”一詞)2D和3D的圖形,而且通常是3D居多。如果你曾經用過一些C的第三方庫,你大概能想到OpenGL就是若干個標頭檔案+一個匯入庫檔案+一個動態連結庫檔案組成的東西。也就是說,你在程式碼中引入OpenGL的標頭檔案,在工程中引入OpenGL的匯入庫,便能呼叫OpenGL的函式來編寫圖形程式。
請注意,OpenGL雖然被稱為圖形庫,實際上只是一個規範(Specification),也就是類似於協議一樣的東西。OpenGL的制定委員會並沒有設計OpenGL的實現程式碼,他們做的只是聲明瞭OpenGL應該具有哪些函式,這些函式之間應該如何協調工作,以及定義了OpenGL的整個渲染過程。而實質上的程式碼實現是由各大顯示卡廠商和作業系統開發商完成的。
由於OpenGL是一個規範,因此沒有平臺限制,這也就是為什麼OpenGL是跨平臺的原因。同樣一份OpenGL程式碼,可以在Windows上編譯,也能在Linux上編譯。
寫這個系列教程一方面是為了幫助我自己鞏固、理解OpenGL和計算機圖形學的知識,提升自己的寫作和表達能力,另一方面是為了分享自己在學習過程中收穫到的成果,與作為讀者的你共同進步。還有,這不是一個面向程式設計新手的系列教程,因此在學習該教程前,我假定你已十分熟悉C/C++語言,或者至少對程式設計的基本概念有所瞭解。全篇教程主要基於Windows平臺。
下面我以FAQ的形式給出OpenGL的簡介,內容翻譯自OpenGL Wiki,原文地址:https://www.khronos.org/opengl/wiki/FAQ
1.什麼是OpenGL?
OpenGL,全稱Open Graphics Library,直譯為開放式圖形庫。字面上不難理解這就是一個圖形庫,專門給程式開發人員編寫圖形程式用的。OpenGL可以渲染(也可稱為繪製,後續教程全部使用“渲染”一詞)2D和3D的圖形,而且通常是3D居多。如果你曾經用過一些C的第三方庫,你大概能想到OpenGL就是若干個標頭檔案+一個匯入庫檔案+一個動態連結庫檔案組成的東西。也就是說,你在程式碼中引入OpenGL的標頭檔案,在工程中引入OpenGL的匯入庫,便能呼叫OpenGL的函式來編寫圖形程式。
請注意,OpenGL雖然被稱為圖形庫,實際上只是一個規範(Specification),也就是類似於協議一樣的東西。OpenGL的制定委員會並沒有設計OpenGL的實現程式碼,他們做的只是聲明瞭OpenGL應該具有哪些函式,這些函式之間應該如何協調工作,以及定義了OpenGL的整個渲染過程。而實質上的程式碼實現是由各大顯示卡廠商和作業系統開發商完成的。
由於OpenGL是一個規範,因此沒有平臺限制,這也就是為什麼OpenGL是跨平臺的原因。同樣一份OpenGL程式碼,可以在Windows上編譯,也能在Linux上編譯。