openGLES理論理解

1.openGLES定義了嵌入式3D圖形的標(biāo)準(zhǔn)昏鹃。

2.為了能在ANSI C編程語言中使用歌逢,openGLES定義了一個(gè)應(yīng)用程序編程接口旅择。通常用來開發(fā)蘋果產(chǎn)品的C++和Objective-C編程語言可以與ANSI C無縫交互产园。特定的轉(zhuǎn)換層或者粘合層的存在使openGLES可以用在javascript和python中沐兰。

3.最新的3D圖形硬件加速是所有高級移動產(chǎn)品的可視化效果基礎(chǔ)哆档。

4.圖形處理單元(GPU)就是能夠結(jié)合幾何、顏色住闯、燈光和其他數(shù)據(jù)產(chǎn)生一個(gè)屏幕圖像的硬件組件。

5.用3D數(shù)據(jù)產(chǎn)生一個(gè)2D圖像的過程叫做渲染澳淑。

6.在計(jì)算機(jī)上顯示的圖片是由矩形的顏色點(diǎn)組成的比原,這些矩形的顏色點(diǎn)叫像素。

7.每個(gè)像素都是由一個(gè)紅點(diǎn)一個(gè)綠點(diǎn)一個(gè)藍(lán)點(diǎn)組成的杠巡。

8.圖像是以每個(gè)像素至少包含3個(gè)值的一個(gè)數(shù)組存儲在電腦的存儲器中的量窘。

9.渲染3D數(shù)據(jù)為一個(gè)2D圖像通常發(fā)生在幾個(gè)不同的步驟中,包括設(shè)置圖像中的每個(gè)像素的紅綠藍(lán)顏色強(qiáng)度的計(jì)算氢拥。

10.圖形處理過程中CPU和GPU都會專門為其分配RAM蚌铜。

11.openGLES橫跨在CPU和GPU之間,協(xié)調(diào)兩個(gè)內(nèi)存區(qū)域之間的數(shù)據(jù)交換嫩海。

12.現(xiàn)代硬件渲染3D圖形的速度幾乎完全取決于不同的內(nèi)存區(qū)域被訪問的方式冬殃。

13.OpenGLES為兩個(gè)內(nèi)存區(qū)域間的數(shù)據(jù)交換定義了緩存(buffer)的概念。緩存是指圖形處理器能夠控制和管理的連續(xù)RAM叁怪。程序從CPU的內(nèi)存復(fù)制到openGLES的緩存审葬。在GPU取得一個(gè)緩存的所有權(quán)之后,運(yùn)行在CPU的程序理想情況下將不再接觸這個(gè)緩存。通過控制獨(dú)占的緩存涣觉,GPU就能夠盡可能以最有效的方式讀寫內(nèi)存痴荐。圖形處理器把它處理大量數(shù)據(jù)的能力異步同時(shí)應(yīng)用到緩存上,這意味著在GPU使用緩存中的數(shù)據(jù)的同時(shí)官册,運(yùn)行在CPU中的程序可以繼續(xù)執(zhí)行生兆。

14.幾乎所有的程序提供給GPU的數(shù)據(jù)都應(yīng)該放在緩存中。緩存存儲的到底是幾何數(shù)據(jù)膝宁、顏色鸦难、燈光效果,還是其他信息不重要昆汹。

15.為緩存提供數(shù)據(jù)有7個(gè)步驟:

(1).生成(Generate):為GPU控制的緩存生成一個(gè)唯一標(biāo)識符

(2).綁定(Bind):告訴OpenGLES為接下來的運(yùn)算使用一個(gè)緩存

(3).緩存數(shù)據(jù)(Buffer Data):讓OpenGLES為當(dāng)前綁定的緩存分配并初始化足夠的連續(xù)內(nèi)存(通常是從CPU控制的內(nèi)存復(fù)制數(shù)據(jù)到分配的內(nèi)存)

(4).啟用(Enable)或者禁止(Disable):告訴OpenGLES在接下來的渲染中是否使用緩存中的數(shù)據(jù)明刷。

(5).設(shè)置指針(Set Pointers):告訴OpenGLES在緩存中的數(shù)據(jù)類型和所有需要訪問的數(shù)據(jù)的內(nèi)存偏移值。

(6).繪圖(Draw):告訴OpenGLES使用當(dāng)前綁定并啟用的緩存中的數(shù)據(jù)渲染整個(gè)場景或某個(gè)場景的一部分满粗。

(7).刪除(Delete):告訴OpenGLES刪除以前生成的緩存并釋放相關(guān)的資源辈末。

16.七個(gè)步驟的函數(shù)對應(yīng):

(1)glGenBuffers().

(2)glBindBuffer().

(3)glBufferData().

(4)glEnableVertexAttribArray().

(5)glVertexAttribPointer().

(1)glDrawArrays().

(1)glDeleteBuffers().

17.接收渲染結(jié)果的緩沖區(qū)叫做幀緩存。

18.幀緩存不需要初始化映皆,渲染指令會在適當(dāng)?shù)臅r(shí)候替換緩存的內(nèi)容挤聘。

19.程序和操作系統(tǒng)會把渲染結(jié)果保存到包括后幀緩存的其他緩存中,當(dāng)渲染后的后幀緩存包含一個(gè)完整圖像的時(shí)候捅彻,前幀緩存和后幀緩存會瞬間切換组去。后幀緩存會變成新的前幀緩存,同時(shí)舊的前幀緩存會變成后幀緩存步淹。

20.用于配置OpenGLES的保存在特定平臺的的軟件數(shù)據(jù)結(jié)構(gòu)中的信息會被封裝到OpenGLES的上下文中从隆。

21.context會跟蹤用于渲染的幀緩存。

22.OpenGLES坐標(biāo)是以浮點(diǎn)數(shù)存儲的缭裆。

23.矢量是理解現(xiàn)代GPU的關(guān)鍵键闺,圖形處理器就是大規(guī)模并行矢量處理器。

24.計(jì)算機(jī)圖形依賴于線性代數(shù)澈驼,GPU擅長簡單的數(shù)學(xué)運(yùn)算辛燥。

25.OpenGLES使用頂點(diǎn)數(shù)據(jù)來定義點(diǎn)、線段和三角形缝其。OpenGLES只能渲染點(diǎn)挎塌、線段、三角形内边。

26.OpenGLES是訪問類似iPhone和iPad的現(xiàn)代嵌入式系統(tǒng)的3D圖形加速硬件的標(biāo)準(zhǔn)榴都。

小結(jié):

OpenGLES是訪問類似iPhone和iPad的現(xiàn)代嵌入式系統(tǒng)的3D圖形加速硬件的標(biāo)準(zhǔn)。把程序提供的幾何數(shù)據(jù)轉(zhuǎn)換為屏幕上的圖像的過程叫做渲染假残。GPU控制的緩存是高效渲染的關(guān)鍵缭贡。容納幾何數(shù)據(jù)的緩存定義了要渲染的點(diǎn)炉擅、線段和三角形。OpenGLES 3D的默認(rèn)坐標(biāo)系阳惹、頂點(diǎn)和矢量為幾何數(shù)據(jù)的描述提供了數(shù)學(xué)基礎(chǔ)谍失。渲染的結(jié)果通常保存在幀緩存中。有兩個(gè)特別的幀緩存莹汤,前幀緩存和后幀緩存快鱼,它們控制者屏幕像素的最終顏色。OpenGLES的上下文保存了OpenGLES的狀態(tài)信息纲岭,包括用于提供渲染數(shù)據(jù)的緩存地址和用于接收渲染結(jié)果的緩存地址抹竹。

以上內(nèi)容為閱讀OpenGLES 應(yīng)用開發(fā)實(shí)踐指南iOS卷第一章的總結(jié)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末止潮,一起剝皮案震驚了整個(gè)濱河市窃判,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌喇闸,老刑警劉巖袄琳,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異燃乍,居然都是意外死亡唆樊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門刻蟹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逗旁,“玉大人,你說我怎么就攤上這事舆瘪∑В” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵英古,是天一觀的道長堤舒。 經(jīng)常有香客問我,道長哺呜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任箕戳,我火速辦了婚禮某残,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘陵吸。我一直安慰自己玻墅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布壮虫。 她就那樣靜靜地躺著澳厢,像睡著了一般环础。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上剩拢,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天线得,我揣著相機(jī)與錄音,去河邊找鬼徐伐。 笑死贯钩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的办素。 我是一名探鬼主播角雷,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼性穿!你這毒婦竟也來了勺三?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤需曾,失蹤者是張志新(化名)和其女友劉穎吗坚,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胯舷,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡刻蚯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了桑嘶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片炊汹。...
    茶點(diǎn)故事閱讀 38,814評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖逃顶,靈堂內(nèi)的尸體忽然破棺而出讨便,到底是詐尸還是另有隱情,我是刑警寧澤以政,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布霸褒,位于F島的核電站,受9級特大地震影響盈蛮,放射性物質(zhì)發(fā)生泄漏废菱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一抖誉、第九天 我趴在偏房一處隱蔽的房頂上張望殊轴。 院中可真熱鬧,春花似錦袒炉、人聲如沸旁理。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽孽文。三九已至驻襟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間芋哭,已是汗流浹背沉衣。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留楷掉,地道東北人厢蒜。 一個(gè)月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像烹植,于是被迫代替她去往敵國和親斑鸦。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評論 2 351

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