1. 程式人生 > 其它 >OpenGL學習筆記-第一節

OpenGL學習筆記-第一節

OpenGL是Khronos組織(https://www.khronos.org/)制定並且維護的規範,這個規範嚴格規定了每個操作圖形、圖形的函式該如何執行,以及它們的輸出值,但並不關注函式本身如何實現。函式具體如何實現由OpenGL庫的開發者(一般都是顯示卡的生產商)來決定。

OpenGL本身是一個狀態機,也就是說它會一直按照某種特定的方式和引數執行,直至改變引數或者狀態的時候,它會改變當前狀態進入另一個狀態(簡單例子就是畫點和線,設定為畫點的時候會每幀不斷地去畫點,直至設定為畫線,然後下一幀又開始不斷地畫線)。

OpenGL基於C語言進行開發,但是因為C語言不易被翻譯到其他的高階語言,所以OpenGL開發的時候引入了包含“物件(Object)”的一些抽象層,方便進行渲染的時候資料賦值儲存等。

立即渲染模式(固定渲染管線):

優勢:

  • 繪製圖形方便
  • 容易使用和理解

劣勢:

  • 效率低下
  • 功能大多被庫隱藏起來,開發者自由度不高
  • 抽象掉了一些細節導致很難讓人把握OpenGL具體是如何運作的

核心模式:

優勢:

  • 使用現代函式,靈活性和效率更高
  • 可以深入理解圖形程式設計

劣勢:

  • 學習成本提升