OpenGL ES

OpenGL ES

什么是 OpenGL ES?

OpenGL ES(OpenGL for Embedded Systems)是 OpenGL 三維圖形API的子集糯景,針對手機(jī)省骂、PDA和游戲主機(jī)等嵌入式設(shè)備而設(shè)計(jì),各顯卡制造商和系統(tǒng)制造商來實(shí)現(xiàn)這組 API怠惶。

OpenGL 基本概念

因?yàn)?OpenGL ES 是 OpenGL 的一個子集,所以下面就主要介紹一些有關(guān) OpenGL 的一些基本概念。

OpenGL 的結(jié)構(gòu)可以從邏輯上劃分為下面 3 個部分:

  • 圖元(Primitives)
  • 緩沖區(qū)(Buffers)
  • 光柵化(Rasterize)

圖元(Primitives)

在 OpenGL 的世界里览妖,我們只能畫點(diǎn)揽祥、線拄丰、三角形這三種基本圖形,而其它復(fù)雜的圖形都可以通過三角形來組成奄侠。所以這里的圖元指的就是這三種基礎(chǔ)圖形:

  • 點(diǎn):點(diǎn)存在于三維空間载矿,坐標(biāo)用(x,y,z)表示。
  • :由兩個三維空間中的點(diǎn)組成闷盔。
  • 三角形:由三個三維空間的點(diǎn)組成弯洗。

緩沖區(qū)(Buffers)

OpenGL 中主要有 3 種 Buffer:

  • 幀緩沖區(qū)(Frame Buffers) 幀緩沖區(qū):這個是存儲OpenGL 最終渲染輸出結(jié)果的地方,它是一個包含多個圖像的集合逢勾,例如顏色圖像牡整、深度圖像、模板圖像等溺拱。

  • 渲染緩沖區(qū)(Render Buffers) 渲染緩沖區(qū):渲染緩沖區(qū)就是一個圖像逃贝,它是 Frame Buffer 的一個子集。

  • 緩沖區(qū)對象(Buffer Objects) 緩沖區(qū)對象就是程序員輸入到 OpenGL 的數(shù)據(jù)盟迟,分為結(jié)構(gòu)類和索引類的秋泳。前者被稱為“數(shù)組緩沖區(qū)對象”或“頂點(diǎn)緩沖區(qū)對象”(“Array Buffer Object”或“Vertex Buff er Object”),即用來描述模型的數(shù)組攒菠,如頂點(diǎn)數(shù)組、紋理數(shù)組等辖众; 后者被稱為“索引緩沖區(qū)對象”(“Index Buffer Object”)卓起,是對上述數(shù)組的索引。

光柵化(Rasterize)

在介紹光柵化之前凹炸,首先來補(bǔ)充 OpenGL 中的兩個非常重要的概念:

  • 頂點(diǎn)(Vertex) 就是圖形中頂點(diǎn)戏阅,一系列的頂點(diǎn)就圍成了一個圖形。
  • 片元(Fragment) 是三維空間的點(diǎn)啤它、線奕筐、三角形這些基本圖元映射到二維平面上的映射區(qū)域舱痘,通常一個 Fragment 對應(yīng)于屏幕上的一個像素,但高分辨率的屏幕可能會用多個像素點(diǎn)映射到一個 Fragment离赫,以減少 GPU 的工作芭逝。

光柵化是把點(diǎn)、線渊胸、三角形映射到屏幕上的像素點(diǎn)的過程旬盯。

著色器程序(Shader)

Shader 用來描述如何繪制(渲染),GLSL 是 OpenGL 的編程語言翎猛,全稱 OpenGL Shader Language胖翰,它的語法類似于 C 語言。OpenGL 渲染需要兩種 Shader:Vertex ShaderFragment Shader切厘。

  • 頂點(diǎn)著色器(Vertex Shader) 對于3D模型網(wǎng)格的每個頂點(diǎn)執(zhí)行一次萨咳,主要是確定該頂點(diǎn)的最終位置
  • 片元著色器(Fragment Shader) 對光柵化之后2D圖像中的每個像素處理一次迂卢。3D物體的表面最終顯示成什么樣將由它決定某弦,例如為模型的可見表面添加紋理,處理光照而克、陰影的影響等等靶壮。

OpenGL 流水線

OpenGL 中有兩種流水線,一種是固定流水線员萍,另外一種則是可編程流水線腾降。

image.png

其中,OpenGL 1.0 版本支持固定流水線碎绎。

從OpenGL 2.0版本開始螃壤,OpenGL支持可編程的流水線。也就是說筋帖,程序員可以通過Shader(一種程序)來控制GPU渲染的過程奸晴。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市日麸,隨后出現(xiàn)的幾起案子寄啼,更是在濱河造成了極大的恐慌,老刑警劉巖代箭,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件墩划,死亡現(xiàn)場離奇詭異,居然都是意外死亡嗡综,警方通過查閱死者的電腦和手機(jī)乙帮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來极景,“玉大人察净,你說我怎么就攤上這事驾茴。” “怎么了氢卡?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵沟涨,是天一觀的道長。 經(jīng)常有香客問我异吻,道長,這世上最難降的妖魔是什么喜庞? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任诀浪,我火速辦了婚禮,結(jié)果婚禮上延都,老公的妹妹穿的比我還像新娘雷猪。我一直安慰自己,他們只是感情好晰房,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布求摇。 她就那樣靜靜地躺著,像睡著了一般殊者。 火紅的嫁衣襯著肌膚如雪与境。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天猖吴,我揣著相機(jī)與錄音摔刁,去河邊找鬼。 笑死海蔽,一個胖子當(dāng)著我的面吹牛共屈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播党窜,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼拗引,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了幌衣?” 一聲冷哼從身側(cè)響起矾削,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎泼掠,沒想到半個月后怔软,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡择镇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年挡逼,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腻豌。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡家坎,死狀恐怖嘱能,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情虱疏,我是刑警寧澤惹骂,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站做瞪,受9級特大地震影響对粪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜装蓬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一著拭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧牍帚,春花似錦儡遮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蹂随,卻和暖如春十嘿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背岳锁。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工详幽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浸锨。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓唇聘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親柱搜。 傳聞我的和親對象是個殘疾皇子迟郎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容