OpenGL 常用函數(shù)

2.1.4 坐標系統(tǒng)工具箱

窗口大小變化時懂昂,在glutReshapeFunc()中注冊的漢莎會被調(diào)用,在回調(diào)函數(shù)中,完成下列任務:

  • 重新建立一個矩形區(qū)域档押,把它作為新的渲染畫布琳骡。

  • 定義一個用于繪制物體的坐標系統(tǒng)锅论。

2.1.5 點,線楣号,多邊形

  • 點:所有的頂點都是用4個浮點坐標值來表示的(x,y,z,w)w默認是1.0.

  • 線:直線這個術(shù)語一般表示一段線段最易。

  • 多邊形:幾個點連在一起就是一個多邊形,可以填充內(nèi)部炫狱,也可以只繪制邊框藻懒。

  • 矩形:OpenGL特別提供了填充矩形圖元函數(shù)glRect*(),

void glRect {sifd}(TYPE x1,TYPE y1,TYPE x1,TYPE y1);繪制由(x1,y1),(x2,y2)構(gòu)成矩形,并且與x軸和y軸平行视译。

glVertex3d(GLdouble x, <#GLdouble y#>, <#GLdouble z#>) 表示一個頂點坐標

如下代碼繪制一個多邊形

void RenderScene(void)

{
    glBegin(GL_POLYGON);
    glVertex2f(0.0, 0.0);
    glVertex2f(0.0, .5);
    glVertex2f(.3, .7);
    glVertex2f(.45, .5);
    glVertex2f(.6, 0.3);
    glEnd();
     glutSwapBuffers();
  }
Snip20190524_1.png

在opengl中只有點線和三角形嬉荆,一些復雜的圖形都是由他們堆砌而成。

將輸入圖元的數(shù)學描述轉(zhuǎn)化為與屏幕位置對應的像素片元的過程稱為光柵化酷含。
渲染(render):計算機從模型創(chuàng)建最終圖像的過程鄙早。
OpenGL 另一個最本質(zhì)的概念叫做著色器汪茧,它是圖形硬件設備所執(zhí)行的一類特殊函數(shù)。 理解著色器最好的方法是把它看做專為圖形處理單元(通常也叫做 GPU)編譯的一種小型程序限番。
在 OpenGL 中陆爽,會用到四種不同的著色階段(shader stage)。其中最常用的包括 的頂點著色器(vertex shader)以及片元著色器扳缕,前 者用于處理頂點數(shù)據(jù)慌闭,后者用于處理光柵化后的片元數(shù)據(jù)。
像素(pixel)是顯示器上最小的可見單元躯舔。計 算機系統(tǒng)將所有的像素保存到幀緩存(framebuffer) 當中驴剔,后者是由圖形硬件設備管理的一塊獨立內(nèi)存 區(qū)域,可以直接映射到最終的顯示設備上粥庄。
OpenGL語法
OpenGL 庫 中 所 有 的 函 數(shù) 都 會 以 字 符“ gl ” 作 為 前 綴丧失,然后是一個或者多個大寫字母開頭的詞組,以此來命名一個完整的函數(shù)惜互。OpenGL 庫中定義的常量也是 GL_COLOR_BUFFER_BIT 的形 式布讹,如 display() 函數(shù)中所示。所有的常量都以 GL_ 作為前綴训堆,并且使用下劃線來分隔單詞描验。為了能夠方便地在不同的操作系統(tǒng)之間移植 OpenGL 程序,OpenGL 還為函數(shù)定義了 不同的數(shù)據(jù)類型坑鱼,例如 GLfloat 是浮點數(shù)類型膘流。
OpenGL 渲染管線

Snip20190529_4.png

著色器是專門為gpu編譯的小型應用程序,而渲染管線指的是數(shù)據(jù)處理過程鲁沥,可以看做一個流水線呼股,首先接受頂點數(shù)據(jù),然后由頂點著色器處理画恰,生成圖元彭谁,再經(jīng)過細分著色器,幾何著色器允扇,進行圖元設置缠局,裁剪,光柵化處理(輸入的數(shù)據(jù)轉(zhuǎn)換成屏幕位置對應的像素點)生成片元數(shù)據(jù)蔼两,送給片元著色器處理甩鳄。

  • 準備向 OpenGL 傳輸數(shù)據(jù)
    OpenGL需要把數(shù)據(jù)保存到緩存對象中,它相當于OpenGL管理的一塊內(nèi)存區(qū)域额划。
  • 將數(shù)據(jù)傳輸?shù)?OpenGL
    OpenGL數(shù)據(jù)初始化完成妙啃,需要調(diào)用一個繪制命令來請求渲染幾何圖元。glDrawArrays() 就是一個常用的繪制命令。
  • 頂點著色
    對于每一個頂點揖赴,都會有一個頂點著色器來專門處理此頂點相關(guān)的數(shù)據(jù)馆匿。可能進行一些復雜的操作(矩陣變換等)來得到頂點在屏幕上的位置燥滑。
  • 細分著色
    使用patch描繪物體的形狀渐北,生成最終的形狀。
    -幾何著色
    進一步細化铭拧。
  • 圖元裝配
    前面介紹的著色階段所處理的都是頂點數(shù)據(jù)赃蛛,此外這些頂點之間如何構(gòu)成幾何圖元的所有信息也會被傳遞到OpenGL中,圖元裝配階段將這些頂點以及相關(guān)的幾何圖元組織起來搀菩。
  • 剪切
    視口是我們可以進行繪制的窗口區(qū)域呕臂,有的頂點落在視口之外,與之相關(guān)的圖元會做出改動肪跋,保證相關(guān)的像素不在窗口之外繪制歧蒋。
  • 光柵化
    更新后的圖元轉(zhuǎn)化成片元,片元可以視為一個”候補的像素“州既,也就是可以放在幀緩沖中的像素谜洽。
  • 片元著色
    通過編程來控制屏幕上顯示顏色的階段。
    我們可以用這種方法來理解頂點著色器和片元著色器的區(qū)別:頂點著色(包括細分和幾何著色)決定了一個圖元應該在屏幕的什么位置吴叶,而片元著色使用這些信息來決定某個片元的顏色應該是什么顏色阐虚。
  • 逐片化的操作
    使用深度測試和模板測試來決定一個片元是否可見。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晤郑,一起剝皮案震驚了整個濱河市敌呈,隨后出現(xiàn)的幾起案子贸宏,更是在濱河造成了極大的恐慌造寝,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吭练,死亡現(xiàn)場離奇詭異诫龙,居然都是意外死亡,警方通過查閱死者的電腦和手機鲫咽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門签赃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人分尸,你說我怎么就攤上這事锦聊。” “怎么了箩绍?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵孔庭,是天一觀的道長。 經(jīng)常有香客問我,道長圆到,這世上最難降的妖魔是什么怎抛? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮芽淡,結(jié)果婚禮上马绝,老公的妹妹穿的比我還像新娘。我一直安慰自己挣菲,他們只是感情好富稻,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著白胀,像睡著了一般唉窃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上纹笼,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天纹份,我揣著相機與錄音,去河邊找鬼廷痘。 笑死蔓涧,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的笋额。 我是一名探鬼主播元暴,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼兄猩!你這毒婦竟也來了茉盏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤枢冤,失蹤者是張志新(化名)和其女友劉穎鸠姨,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體淹真,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡讶迁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了核蘸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巍糯。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖客扎,靈堂內(nèi)的尸體忽然破棺而出祟峦,到底是詐尸還是另有隱情,我是刑警寧澤徙鱼,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布宅楞,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏咱筛。R本人自食惡果不足惜搓幌,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望迅箩。 院中可真熱鬧溉愁,春花似錦、人聲如沸饲趋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奕塑。三九已至堂污,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間龄砰,已是汗流浹背盟猖。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留换棚,地道東北人式镐。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像固蚤,于是被迫代替她去往敵國和親娘汞。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

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

  • package 寬度優(yōu)先搜索; import java.util.HashSet; import java.uti...
    咣超閱讀 136評論 0 0
  • 創(chuàng)建多重索引 查詢索引為1,3,6的值 多重索引Series切片 多重索引DataFrame 多重索引設置列名稱 ...
    七七biubiu閱讀 227評論 0 0
  • UserCF ?本系列文章主要介紹推薦系統(tǒng)領(lǐng)域相關(guān)算法原理及其實現(xiàn)夕玩。本文以項亮大神的《推薦系統(tǒng)實踐》作為切入點你弦,介...
    Alarical閱讀 241評論 0 0
  • 昨晚看了何老師主演的話劇《水中之書》。得以看成燎孟,有些自己的小執(zhí)念禽作,也有些小幸運。執(zhí)念是因為早在幾個月前就做好要去觀...
    曉天狼星閱讀 174評論 0 0
  • 網(wǎng)上處處有雞湯缤弦,今天微信里有人轉(zhuǎn)載了一篇领迈,說是要控制情緒的。 原文的故事如下: 這是一場舉世矚目的賽事碍沐。臺球世界冠...
    心際花園閱讀 184評論 0 0