早期的opengl使用立即渲染模式(immediate mode,也就是固定渲染管線)。
從opengl3.2開始,規範文件開始廢棄立即渲染模式,並鼓勵開發者在opengl的核心模式(core-profile)下進行開發。
opengl的一大特性就是對擴充套件(extension)的支援。
opengl自身是乙個巨大的狀態機(state machine):一系列的變數描述opengl此刻應當如何執行。opengl的狀態通常被稱為opengl上下文(context)。狀態設定函式(state-changing function)-->改變上下文狀態使用函式(state-using function)-->執行操作。
在opengl中乙個物件是指一些選項的集合,它代表opengl狀態的乙個子集。使用物件的乙個好處是在程式中,我們不止可以定義乙個物件,並設定它們的選項,每個物件都可以是不同的設定。在我們執行乙個使用opengl狀態的操作的時候,只需要繫結含有需要的設定的物件即可。
eg.
// 建立物件
unsigned int objectid = 0;
glgenobject(1, &objectid);
// 繫結物件至上下文
glbindobject(gl_window_target, objectid);
// 設定當前繫結到 gl_window_target 的物件的一些選項
glsetobjectoption(gl_window_target, gl_option_window_width, 800);
glsetobjectoption(gl_window_target, gl_option_window_height, 600);
// 將上下文物件設回預設
glbindobject(gl_window_target, 0);
mac下編譯glfw教程: OpenGL學習筆記(一)
opengl是一種在計算機上進行2d 3d圖形繪製的技術規範,嚴格上來說不能算作一種具體技術。不過,現在有opengl庫來提供了對這種規範的封裝,於是也演變為今天對opengl api的使用。opengl需要硬體支援的,就如同對微軟directx的支援一樣。上層應用軟體都是通過opengl的庫介面,...
OpenGL學習筆記 一
opengl相關概念介紹 2d 透視 3d 渲染 就是對乙個三維物體進行幾何描述並且把它轉換為螢幕上的一幅影象.紋理貼圖 通過一幅影象向乙個多邊形提供額外細節的技巧稱為紋理貼圖,所提供的影象稱為紋理,而紋理中每個單獨的元素稱為紋理單元。而在乙個物體的表面上拉伸或壓縮紋理單元的過程稱為過濾。混合 bl...
OpenGL學習筆記(一)
因為實驗需要,我要使用opengl搭建乙個 駕駛環境。因為之前沒有接觸過opengl的相關知識,淦哥推薦通過nehe來進行學習,之後會零零散散做一些筆記用來進行記錄。學習的部落格參見 翻譯 nehe opengl 教程 因為實驗需要,我需要使用c 進行整個專案的編寫。實驗之前,我們需要先知道怎麼用v...