OpenGL系:1-OpenGL術語

OpenGL 是?一種圖形應?用程序編程接?口(Application Programming Interface, API).簡單理理解就是開發(fā)的 圖形庫
OpenGL 本領高強帜讲,涉獵極廣病瞳,使用略麻煩

  • 視頻,圖形,圖?片處理理
  • 2D/3D 游戲引擎開發(fā)
  • 科學可視化
  • 醫(yī)學軟件開發(fā)
  • CAD(計算機輔助技術)
  • 虛擬實境(AR,VR)
  • AI ?人?工智能

那么一張圖片顯示出來照皆,到底經過了什么一個過程?(這個過程就叫OPenGL的渲染管線:可以理解為流水線名稱)

頂點數據 ------> 頂點著色器(vertex Shader) -----> 細分著色器 ----->

幾何著色器 -----> 圖元設置 -----> 剪切 ----->

光柵化 -----> 片元著色器 (Fragment Shader) -----> 顯示效果

來看一下細節(jié):

管線

  • OpenGL 渲染管線: 一系列有序的處理階段的序列,?于把我們應用中的數據轉化到OpenGL 生成 一個最終的圖像的一個過程碉哑。
  • 管線 翻譯白話:管線可以理解為流水線,按照固定的順序進行一個一個執(zhí)行不同的操作
  • 圖元: 組成圖像的基本單元.OpenGL中的基本圖元包括 干花,三角形
-固定管線:
  • 主要針對的是著色器Shader楞黄,一個已經封裝好的著色器池凄,開發(fā)者使用時候,只要傳入響應的參數鬼廓,即可迅速完成渲染肿仑,類似系統(tǒng)中封裝好的API,傳入不同參數,實現不同渲染效果尤慰。
- 非固定管線/可編程管線/GLSL:
  • GLSL: (OpenGL Shading Language) 專?為圖形開發(fā)設計的編程語?(一般來說就是編寫各個著色器馏锡,語法類似C、C++)

- 頂點數據:

頂點數組(VertexArray)伟端、頂點緩沖區(qū)(VerTex Buffer)杯道。

兩者區(qū)別主要在于存儲方式不同:

  • 頂點數組(VertexArray)存儲在內存中
  • 頂點緩沖區(qū)(VerTex Buffer) 存儲在GPU提前分配的顯存中

著?器分類:

-頂點著?器(必要):

  • 接收頂點數據,確定頂點位置
  • 單獨處理理每個頂點(現在并行):處理圖像頂點的變換(旋轉、平移责蝠、縮放)
  • 3D圖形數據 投影換算 2D圖形數據
-細分著?器(可選) :
  • 全稱: 細分控制著?器 /細分計算著?器党巾。主要是:對所有的圖像進行修改?何圖元類型或者放棄所有的凸緣
-?何著?器 (可選):
  • 描述物體的形狀,在管線中生成新的幾何體處理(平順)模型 ?成最終狀態(tài)

-?元著?器 (必選):

  • 片元:理解為屏幕中的像素點。
  • 片元顏?以及深度值, 然后傳遞到?片元測試和混合 模塊
    -> 片元著色器主要用于處理一個個點像素點霜医,例如像素顏色的計算和填充
    -> 逐一像素且在GPU并行運行的程序齿拂,即每個像素都會執(zhí)行一次。

- 目前OpenGL中可編程的僅有兩個頂點:頂點著?器支子、?元著?器

-光柵化:

  • 輸?入圖元的數學描述,轉化為 與屏幕對應的位置像素?片元, 簡稱(光柵化)
  • 頂點數據轉換為片元
  • 幾何圖元轉換為二維圖像
  • 把物體的數學描述和相關顏色信息轉換為屏幕上對應位置的像素和填充像素的顏色
  • 將模擬信號轉換為離散信號
  • 這上一個不可編程的過程
作用:將圖轉化為一個個格柵組成的圖像
特點:每個元素對應幀緩沖區(qū)中的一像素
執(zhí)行的操作:
  • 確定圖像的像素范圍
  • 顏色附著:即分配一個顏色值和一個深度值到各個區(qū)域

-紋理

  • 可以理解為圖片:一個增加了不同圖像的圖片创肥,比如地球表面的紋理;
  • 添加紋理時候值朋,渲染時候叹侄,可以使得場景更加逼真。

-混合(Blending)

  • 簡單理解就是:兩個圖像/圖形相交處的顏色昨登,這個顏色即是兩個圖像/圖形顏色的混合趾代。

-變換矩陣(Transformation)

  • 圖形平移、旋轉丰辣、縮放時候使用變換矩陣

-投射矩陣(Projection)

  • 將3D坐標轉換為2D屏幕坐標的時候使用

-渲染上屏/交換緩沖區(qū)(Swap Buffer)

  • 渲染緩沖區(qū):可以理解為系統(tǒng)的資源撒强。如:窗口
  • 渲染上屏:將圖像直接渲染到窗口對應的渲染緩沖區(qū)
面試點:如果每個窗口只有一個緩沖區(qū),在繪制過程中刷新了屏幕笙什,窗口可能顯示不出完成的圖像
  • 常規(guī)OpenGL程序至少有兩個緩沖區(qū):

->屏幕緩沖區(qū):用于顯示在屏幕上飘哨。
->離屏緩沖區(qū):沒有顯示在屏幕上。
觸發(fā)離屏渲染:設置圓角 或設置圖層蒙版琐凭、陰影 芽隆、光柵化

  • 在一個緩沖區(qū)渲染完成后,將屏幕緩沖區(qū)和離屏緩沖區(qū)進行交換统屈,實現圖像在屏幕上的顯示
面試點:防止交換緩沖區(qū)時屏幕上下區(qū)域的圖像分別屬于兩個不同的幀
  • 顯示的刷新一般是逐行進行的胚吁,因此交換一般會等待顯示器完成的信號,在顯示器兩次刷新的間隔中進行交換
    ->信號:垂直同步信號
    ->技術:垂直同步技術
面試點:使用了雙緩沖區(qū)和垂直同步技術之后愁憔,由于總是要等緩沖區(qū)交換之后再進行下一幀的渲染腕扶,所以使得幀率無法完全達到硬件允許的最高水平

三區(qū)緩沖技術:

  • 在等待垂直同步時,來回交替渲染兩個離屏的緩沖區(qū)
  • 垂直同步發(fā)生時吨掌,屏幕緩沖區(qū)和最近渲染完成的離屏緩沖區(qū)交換
UI卡頓半抱、掉幀圖示.PNG
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末脓恕,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子代虾,更是在濱河造成了極大的恐慌进肯,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棉磨,死亡現場離奇詭異江掩,居然都是意外死亡,警方通過查閱死者的電腦和手機乘瓤,發(fā)現死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門环形,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人衙傀,你說我怎么就攤上這事抬吟。” “怎么了统抬?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵火本,是天一觀的道長。 經常有香客問我聪建,道長钙畔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任金麸,我火速辦了婚禮擎析,結果婚禮上,老公的妹妹穿的比我還像新娘挥下。我一直安慰自己揍魂,他們只是感情好,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布棚瘟。 她就那樣靜靜地躺著现斋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪偎蘸。 梳的紋絲不亂的頭發(fā)上庄蹋,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機與錄音禀苦,去河邊找鬼蔓肯。 笑死遂鹊,一個胖子當著我的面吹牛振乏,可吹牛的內容都是我干的。 我是一名探鬼主播秉扑,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼慧邮,長吁一口氣:“原來是場噩夢啊……” “哼调限!你這毒婦竟也來了?” 一聲冷哼從身側響起误澳,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤耻矮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后忆谓,有當地人在樹林里發(fā)現了一具尸體裆装,經...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年倡缠,在試婚紗的時候發(fā)現自己被綠了哨免。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡昙沦,死狀恐怖琢唾,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情盾饮,我是刑警寧澤采桃,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站丘损,受9級特大地震影響普办,放射性物質發(fā)生泄漏。R本人自食惡果不足惜号俐,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一泌豆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧吏饿,春花似錦踪危、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至笨忌,卻和暖如春蓝仲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背官疲。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工袱结, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人途凫。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓垢夹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親维费。 傳聞我的和親對象是個殘疾皇子果元,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348