OpenGL學習筆記(一)概念了解

2021-08-28 16:35:31 字數 925 閱讀 7233

opengl一般被認為是一種api(aplication programming inte***ce),包含了一系列可以操作圖形、影象的函式。但實際上它是一種規範,它嚴格規定了每個函式該如何執行以及它們的輸出值。

opengl就是乙個大狀態機,它通過一些狀態設定的函式(state-changing function)來改變上下文(context),通過狀態使用的函式(state-using function)根據當前狀態執行操作。

opengl的核心是乙個c庫,引入了「物件(objection)」,它代表opengl狀態的乙個子集,可以把物件看做乙個c風格的結構體(struct)。

在繪製之前,我們首先要做的就是建立乙個opengl上下文(context)和乙個用於顯示的視窗。然而,這些操作在每個系統上都是不一樣的,freeglut、glut、glew、glfw這些庫節省了我們書寫作業系統相關**的時間,可以用來顯示視窗,管理使用者輸入,簡化獲取函式位址的過程。

freeglut是乙個opengl的工具庫,它封裝了各個平台初始化視窗的過程,開發者可以呼叫這個庫中的初始化函式來建立上下文。

glfw是乙個針對opengl的c語言庫,它提供了一些渲染物體所需的最低限度的介面,它允許使用者建立opengl上下文,定義視窗引數以及處理使用者輸入。

不同的顯示卡公司,也會發布一些只有自家顯示卡才支援的擴充套件函式,你要想用這函式,不得不去尋找最新的glext.h,有了glew擴充套件庫,你就再也不用為找不到函式的介面而煩惱,因為glew能自動識別你的平台所支援的全部opengl高階擴充套件函式。也就是說,只要包含乙個glew.h標頭檔案,你就能使用gl,glu,glext,wgl,glx的全部函式。 

glut或者freeglut主要是1.0的基本函式功能;glew是使用opengl2.0之後的乙個工具函式。

網路 一些概念了解

reactor和proactor模式的主要區別是真正的讀取和寫入操作,是由誰來完成的。reactor 應用程式自己讀取或者寫入資料。應用程式完成 proactor 應用程式不需要進行實際的讀寫過程,只需要從快取區讀取或者寫入即可。核心會讀取快取區或者寫入快取區到真正的io裝置。核心完成 同步和非同步...

OpenGL學習筆記之了解OpenGL

opengl 全寫open graphicslibrary 是個定義了乙個跨程式語言 跨平台的程式設計介面規格的專業的圖形程式介面。它用於三維影象 二維的亦可 是乙個功能強大,呼叫方便的底層圖形庫。說白了,就是opengl是乙個開放的三維圖形軟體包,它獨立於視窗系統和作業系統,以它為基礎開發的應用程...

設計模式學習筆記二十九 組合模式概念了解

一 問題 1 學校院系展示需求 2 要求要在乙個頁面中展示出學校的院系組成,乙個學校有多少個學院,乙個學校有多個系。3 學校 包含學院。學院包含系 二 實現方式 1 繼承方式 不能很好實現管理 2 組合模式 三 組合模式基本介紹 1 由叫部分整體式,它建立了物件的樹形介面,將物件組合成樹狀結構表示 ...