青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

千張筆記

Email:rain_qian830@163.com
posts - 28, comments - 42, trackbacks - 0, articles - 0
  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

【原】圖形流水線

Posted on 2008-10-23 22:02 千張 閱讀(1444) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 圖形學(xué)

OpenGL的管線(渲染流水線)


管線這個(gè)術(shù)語(yǔ)用于描述一種過(guò)程,它可能涉及兩個(gè)或更多個(gè)獨(dú)特的階段或步驟。下面的圖來(lái)自《OpenGL超級(jí)寶典》。


 

           
                 
當(dāng)應(yīng)用程序中進(jìn)行OpenGL API調(diào)用時(shí),這些命令被放置在一個(gè)命令緩沖區(qū)(OpenGL Command Buffer)里。這個(gè)命令緩沖區(qū)最終填滿了命令、頂點(diǎn)數(shù)據(jù)、紋理數(shù)據(jù)等東西。當(dāng)緩沖區(qū)被刷新時(shí)(或者由程序控制,或者由驅(qū)動(dòng)程序的設(shè)計(jì)所決定),命令和數(shù)據(jù)就被傳送給管線的下一個(gè)環(huán)節(jié)。

通常,頂點(diǎn)數(shù)據(jù)首先進(jìn)行轉(zhuǎn)換和光照(Transform and Lighting)。在轉(zhuǎn)換階段,描述物體幾何形狀的點(diǎn)被重新計(jì)算,以確定這個(gè)物體的位置和方向。同時(shí)所進(jìn)行的光照計(jì)算將確定每個(gè)頂點(diǎn)應(yīng)該具有的顏色亮度。

三維圖形是用圖元表示的,如點(diǎn)、線、面等,圖像是用像素表示的,當(dāng)計(jì)算機(jī)生成的三維圖形要顯示在我們所看的到的屏幕上時(shí),必須要進(jìn)行一個(gè)轉(zhuǎn)換,即將圖形轉(zhuǎn)換成像素表示,這個(gè)過(guò)程就是光柵化(Rasterization)。

光柵化后,圖像被放入幀緩沖區(qū)(Frame buffer)中。幀緩沖區(qū)就是圖形顯示設(shè)備的內(nèi)存,這意味著這幅圖像將會(huì)在屏幕上顯示。

圖中的箭頭表示有一些命令將會(huì)跳過(guò)轉(zhuǎn)換和光照階段,例如在屏幕上顯示原始圖像數(shù)據(jù)(顯示一副圖像)。



下面我們主要看轉(zhuǎn)換和光照這個(gè)環(huán)節(jié),這個(gè)環(huán)節(jié)是一個(gè)數(shù)學(xué)計(jì)算密集型階段,是一系列矩陣變換。下圖是頂點(diǎn)轉(zhuǎn)換管線。

                   
從原始的頂點(diǎn)數(shù)據(jù)通往屏幕坐標(biāo)的路是相當(dāng)漫長(zhǎng)的。上圖提供了這個(gè)過(guò)程的流程圖,(x,y,z,w)為頂點(diǎn)坐標(biāo),w一般為1,(x,y,z,1)表示頂點(diǎn)坐標(biāo),(x,y,z,0)表示向量坐標(biāo)。OpenGL中的矩陣變換都采用這種坐標(biāo)表示方法,w是縮放因子,一般為1,很少需要修改。

把頂點(diǎn)與模型視圖矩陣相乘,產(chǎn)生經(jīng)過(guò)轉(zhuǎn)換的視覺坐標(biāo)。這個(gè)視覺坐標(biāo)隨后與投影矩陣相乘,產(chǎn)生裁剪坐標(biāo),這就有效地消除了可視區(qū)之外的所有數(shù)據(jù)。使用透視投影時(shí),我們需要加入透視出發(fā)(persective division),它可以利用均勻坐標(biāo)的一個(gè)屬性。然后,這個(gè)裁剪坐標(biāo)隨后除以w坐標(biāo),產(chǎn)生規(guī)范化的設(shè)備坐標(biāo)。最后,視口矩陣將可視區(qū)內(nèi)的部分映射到一個(gè)“3D視口”上,即窗口坐標(biāo)(Window coordinates),這是一個(gè)2D平面。

其中,模型視圖矩陣將兩個(gè)效果結(jié)合在一起:應(yīng)用到對(duì)象的建模變換順序,如平移、旋轉(zhuǎn)、縮放、剪切等,以及在空間中指定照相機(jī)的方向和位置的變換。盡管模型視圖矩陣是實(shí)際管道中的一個(gè)單矩陣,但也可以將它看成兩個(gè)矩陣的乘積:建模矩陣M和視圖矩陣V。首先應(yīng)用建模矩陣,然后應(yīng)用視圖矩陣,所以模型視圖矩陣實(shí)際上是VM的乘積。

OpenGL中的視圖

下面三個(gè)函數(shù)用于設(shè)置建模變換,可修改模型視圖矩陣,執(zhí)行g(shù)lMatrixMode(GL_MODEVIEW)之后才可使用它們:
glScaled(sx,sy,sz);
glTranslated(dx,dy,dz);
glRotated(angle,ux,uy,uz);

照相機(jī)定位和瞄準(zhǔn):
gluLookAt(eyex,eyey,eyez,ax,ay,az,upx,upy,upz);
這個(gè)函數(shù)的說(shuō)明與前面Directx中的LookAt函數(shù)的意思一樣。

投影方式設(shè)置:
glOrtho(left,right,bott,top,near,far);

glFrustum(left,right,bottom,top,near,far);
gluPerspective(fovy,aspect,near,far);

第一個(gè)用于設(shè)置平行投影,第二個(gè)和第三個(gè)用于設(shè)置透視投影。

視口變換:
glViewport(x,y,width,height)
參數(shù)X,Y指定了視圖區(qū)域的左下角在窗口中的位置,一般情況下為(0,0),Width和Height指定了視見區(qū)域的寬度和高度。一般設(shè)置為窗口的Width和Height。


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产影院| 午夜精品一区二区三区在线视| 久久久久一区| 欧美日本视频在线| 国产欧美日韩另类一区| 一本大道久久a久久精品综合| 久久亚洲精品一区二区| 亚洲视频观看| 欧美色图麻豆| 中国日韩欧美久久久久久久久| 欧美国产精品久久| 久久久久久久久蜜桃| 国产在线麻豆精品观看| 欧美伊久线香蕉线新在线| 亚洲一区二区三区在线| 国产精品久久久久久久久久三级 | 亚洲国产日韩在线| 亚洲在线视频| 国产乱理伦片在线观看夜一区 | 一本大道久久a久久精二百| 免费中文日韩| 日韩午夜在线播放| 亚洲人体一区| 欧美性视频网站| 午夜精品一区二区三区电影天堂 | 亚洲天堂av图片| 久久免费视频在线| 午夜精品视频在线| 国产精品自拍一区| 久久精品免费观看| 久久久精品国产免费观看同学| 精品动漫一区| 欧美影院久久久| 国产精品久久二区二区| 久久av一区二区| 久久久精品一区二区三区| 亚洲高清在线精品| 亚洲精选久久| 国产一区二区日韩| 亚洲国产小视频在线观看| 国产精品99一区二区| 久久久亚洲人| 欧美成人一区二区三区片免费| 亚洲素人一区二区| 久久精品国产96久久久香蕉| 亚洲精品在线观看视频| 亚洲伊人观看| 亚洲欧洲午夜| 亚洲一区日韩在线| 亚洲激情影视| 亚洲伊人一本大道中文字幕| 午夜精品久久99蜜桃的功能介绍| 久久成人精品视频| 一区二区精品| 久久久久久伊人| 亚洲一区二区不卡免费| 久久人91精品久久久久久不卡| 国产精品99久久久久久久久久久久| 午夜精品视频在线观看| 99视频一区二区| 久久久久久久一区| 性xx色xx综合久久久xx| 一区免费在线| 日韩午夜电影| 亚洲人成久久| 久久精品国产精品 | 日韩一区二区久久| 欧美在线啊v| 99精品国产在热久久婷婷| 国产一区二区三区四区三区四 | 久久国产日韩欧美| 亚洲一二三区在线| 欧美/亚洲一区| 久久久久久久一区| 国产精品视频网站| 夜夜嗨av一区二区三区免费区| 亚洲福利在线看| 久久国产手机看片| 欧美日韩视频在线一区二区观看视频 | 欧美一区二区视频97| 美日韩在线观看| 国产亚洲激情在线| 亚洲一区在线播放| 亚洲影院污污.| 欧美另类久久久品| 亚洲国产婷婷香蕉久久久久久| 国产一区二区三区在线观看网站 | 久久久99免费视频| 欧美成人精品1314www| 久久久久久尹人网香蕉| 国产精品婷婷| 一区二区三区四区蜜桃| 一区二区三区精品在线| 欧美激情精品久久久| 亚洲国产高清aⅴ视频| 久久久中精品2020中文| 久久精品成人| 国产无一区二区| 欧美有码在线视频| 美女主播视频一区| 亚洲电影在线看| 欧美成人免费大片| 国产精品黄页免费高清在线观看| 欧美日韩精品一区二区天天拍小说 | 久久gogo国模裸体人体| 久久久精品性| 好吊视频一区二区三区四区| 欧美一区二区免费视频| 麻豆精品在线视频| 亚洲精品偷拍| 国产精品sm| 欧美一级二级三级蜜桃| 久久综合伊人77777尤物| 亚洲福利专区| 欧美日韩在线观看视频| 亚洲中字在线| 欧美成人资源| 欧美—级a级欧美特级ar全黄| 亚洲精品一区二区三区婷婷月| 亚洲午夜精品久久久久久app| 国产精品永久免费在线| 久久久久欧美精品| 亚洲免费观看高清完整版在线观看熊 | 亚洲自拍偷拍色片视频| 一区二区久久久久| 一区二区三区黄色| 久久av一区二区三区漫画| 在线观看一区二区精品视频| 欧美精品一卡二卡| 亚洲自拍偷拍福利| 欧美高清在线精品一区| 亚洲午夜三级在线| 国内精品亚洲| 欧美视频三区在线播放| 久久精品电影| 中日韩美女免费视频网址在线观看 | 欧美国产日韩一区| 亚洲永久在线| 欧美国产激情二区三区| 欧美亚洲视频一区二区| 国产日韩成人精品| 欧美一区二区性| 亚洲一区二区三区中文字幕| 国产精品99久久久久久宅男 | 久久国产一区| 中文久久精品| 樱桃视频在线观看一区| 欧美精品在线视频观看| 亚洲欧洲99久久| 亚洲毛片av在线| 美日韩精品免费| 欧美亚洲尤物久久| 亚洲精品一区久久久久久| 国产亚洲一区二区三区在线播放| 欧美成人蜜桃| 久久综合亚州| 亚洲一区久久久| 欧美 日韩 国产一区二区在线视频 | 99精品久久久| 亚洲新中文字幕| 国内视频一区| 欧美永久精品| 欧美日本乱大交xxxxx| 欧美无乱码久久久免费午夜一区 | 欧美精品久久久久a| 久久精品国产一区二区三区免费看 | 亚洲日韩欧美视频| 国产亚洲欧美一区二区| 欧美性一二三区| 欧美日韩一区免费| 欧美极品在线观看| 农夫在线精品视频免费观看| 久久久久9999亚洲精品| 亚洲女女女同性video| 亚洲天堂久久| 日韩午夜激情av| 欧美顶级艳妇交换群宴| 久久蜜桃精品| 久久久999精品| 久久精品人人爽| 欧美专区日韩视频| 亚洲男人天堂2024| 午夜日韩电影| 欧美中文字幕精品| 久久精品123| 久久一区二区三区国产精品| 久久国产精品久久久| 欧美淫片网站| 久久一区中文字幕| 欧美成在线观看| 欧美精品成人| 国产精品yjizz| 国产精品久久久久毛片大屁完整版 | 欧美性jizz18性欧美| 亚洲福利精品| 欧美激情第8页| 91久久精品美女| 亚洲另类在线视频| 中文高清一区| 久久国产精品99精品国产|