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

千張筆記

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>
            欧美激情精品久久久久久久变态| 欧美日本韩国在线| 国产精品久久激情| 亚洲制服少妇| 亚洲免费小视频| 国产精品视频最多的网站| 亚洲欧美久久久久一区二区三区| 亚洲图片欧美午夜| 国产伪娘ts一区| 免费观看久久久4p| 欧美不卡视频| 亚洲综合色网站| 欧美中文字幕| 亚洲激情av| 一区二区三区四区蜜桃| 国产人妖伪娘一区91| 欧美www在线| 国产精品国产三级国产| 久久久欧美精品| 欧美日本中文| 久久精品99国产精品酒店日本| 久久久久久久网站| 一本色道久久综合亚洲精品婷婷 | 亚洲一区二区三区四区视频| 国产欧美一区二区精品性色| 亚洲国产精品va| 欧美日韩免费视频| 久久亚洲春色中文字幕| 欧美顶级少妇做爰| 久久av在线看| 欧美日韩一区二区视频在线观看 | 欧美一区二区视频观看视频| 久久久久欧美精品| 午夜天堂精品久久久久| 蜜臀av在线播放一区二区三区| 亚洲午夜精品| 欧美1区3d| 久久久久久久综合日本| 欧美日韩一卡| 亚洲激情影视| 亚洲成色777777女色窝| 亚洲欧美一级二级三级| 一区二区久久| 欧美成人日本| 麻豆精品在线视频| 国产日韩欧美高清| 一区二区三区回区在观看免费视频 | 蜜桃av噜噜一区| 国产精品一卡| 一本色道久久综合狠狠躁篇怎么玩 | 欧美国产日韩一区二区三区| 久久久精品日韩欧美| 国产精品草草| 一区二区三区视频观看| 91久久久久久久久| 日韩午夜免费视频| 欧美中文字幕视频| 欧美中文在线观看国产| 欧美午夜欧美| 中文av字幕一区| 一本一本a久久| 欧美日韩国产综合视频在线| 最新亚洲一区| 亚洲视频电影图片偷拍一区| 欧美精品不卡| 一本大道久久a久久综合婷婷| av成人激情| 欧美日韩午夜在线视频| 99re热精品| 午夜精品在线| 国外成人免费视频| 美国十次成人| 91久久久一线二线三线品牌| 9人人澡人人爽人人精品| 欧美日韩国产综合视频在线观看| 99国产精品久久久久老师| 国产精品99久久久久久白浆小说| 欧美日韩中文另类| 亚洲免费在线| 免费毛片一区二区三区久久久| 激情av一区| 欧美经典一区二区三区| 日韩视频中文| 久久精品国产久精国产一老狼| 国模叶桐国产精品一区| 久久久久久网址| 亚洲国产欧美国产综合一区| 亚洲香蕉网站| 黑人操亚洲美女惩罚| 欧美国产乱视频| 亚洲一区二区在| 欧美~级网站不卡| 亚洲网站在线看| 国产欧美一区二区白浆黑人| 久久这里只有精品视频首页| 亚洲精品免费一区二区三区| 午夜亚洲视频| 最新日韩欧美| 国产欧美高清| 欧美另类一区| 久久精品女人| 亚洲无毛电影| 亚洲第一精品福利| 欧美专区亚洲专区| 一本色道久久综合精品竹菊 | 激情婷婷亚洲| 国产精品久久久久9999| 美国成人直播| 久久精品夜色噜噜亚洲a∨| 亚洲精品色婷婷福利天堂| 久久久久久久久久久久久9999| 日韩视频一区| 在线观看成人av电影| 欧美午夜精品久久久| 毛片一区二区三区| 久久精品中文字幕一区| 一区二区三区四区五区精品| 欧美激情第三页| 久久伊人免费视频| 欧美在线视频在线播放完整版免费观看| 亚洲丰满在线| 黄色成人在线网址| 国产日韩欧美综合| 国产精品成人av性教育| 欧美电影在线| 91久久精品国产| 欧美巨乳在线观看| 美女久久网站| 久久久久久久久久久久久久一区| 亚洲欧美自拍偷拍| 一区二区三区高清视频在线观看 | 99综合电影在线视频| 亚洲第一综合天堂另类专| 国产午夜精品视频免费不卡69堂| 欧美视频一区二| 欧美日韩国产成人在线91| 农村妇女精品| 欧美国产精品劲爆| 欧美日本不卡高清| 欧美另类99xxxxx| 欧美三级特黄| 欧美性感一类影片在线播放| 欧美日韩另类综合| 欧美日韩专区在线| 欧美四级电影网站| 国产精品二区影院| 国产色综合天天综合网| 国产亚洲精品一区二555| 国产视频精品xxxx| 一色屋精品亚洲香蕉网站| 伊人男人综合视频网| 亚洲大胆女人| 99视频有精品| 先锋影音网一区二区| 久久成人一区二区| 免费观看欧美在线视频的网站| 欧美激情一区二区三区| 亚洲黄页视频免费观看| 一本色道**综合亚洲精品蜜桃冫| 中文在线不卡视频| 欧美一区在线直播| 久久综合久色欧美综合狠狠| 欧美福利一区二区三区| 欧美日韩视频在线一区二区| 国产精品久久7| 狠狠色综合网| 一区二区久久久久久| 欧美一区二区三区免费在线看| 久久亚洲一区二区| 亚洲欧洲另类| 午夜日韩电影| 欧美成人免费网站| 欧美午夜无遮挡| 在线观看日韩欧美| 亚洲婷婷综合色高清在线| 久久精品亚洲一区| 亚洲欧洲在线播放| 欧美一区二区视频在线观看| 蜜臀av性久久久久蜜臀aⅴ| 国产精品vip| 亚洲国产精品专区久久| 亚洲永久在线| 亚洲大片精品永久免费| 亚洲一区免费在线观看| 欧美 日韩 国产一区二区在线视频 | 久久久噜噜噜久久中文字免 | 久久狠狠亚洲综合| 国产精品jizz在线观看美国 | 欧美激情第一页xxx| 亚洲综合日韩在线| 欧美激情小视频| 国产一区二区| 亚洲一区影音先锋| 亚洲国产精品va| 久久视频一区二区| 国产欧美日韩精品丝袜高跟鞋| 99精品视频免费在线观看| 久久综合久久综合久久| 亚洲一区二区黄| 欧美日韩网址|