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

天行健 君子當自強而不息

繪制流水線(1)

這次主題是渲染管線。它是用來創建為3D世界進行幾何描述的2D圖形并設定一個虛擬照相機確定這個世界中哪一部分將被透視投影到屏幕上。

\

2.1表現模型

一個場景是多個物體或模型的集合。一個物體可以用三角形網格(triangle mesh)來近似表示,如圖2.2所示。由三角形網格建立一個物體,我們稱之為建模。3D世界中最基本的圖元就是三角形,但是Direct3D也支持點圖元和線圖元但我們都不常用到。

 

 

一個多邊形的兩邊相交的點叫做頂點。為了描述一個三角形,我們通常指定三個點的位置來對應三角形的三個頂點(如圖2.3),這樣我們就能夠很明確的表示出這個三角形了。

 

2.1.1 頂點格式

我們以前定義的點在數學上來說是正確的,但是當我們在Direct3D環境中使用它的時候就會覺得很不完善。這是因為在Direct3D中的頂點包含了許多附加的屬性,而不再單純的只有空間位置的信息了。例如:一個頂點可以有顏色和法線向量屬性。Direct3D讓我們可以靈活的構造自己的頂點格式。換句話說,我們可以自己定義頂點的成員。

為了創建一個自定義的頂點結構,我們首先要創建一個包含能存放我們選擇的頂點數據的結構。例如,下面我們舉出兩種不同頂點數據類型的例子,一種包含了位置和顏色信息,第二種則包含了位置,法線向量,紋理坐標信息。

 

struct ColorVertex

{

       float _x, _y, _z; // 位置

       DWORD _color; // 顏色

};

 

struct NormalTexVertex

{

       float _x, _y, _z; // 位置

       float _nx, _ny, _nz; // 法線向量

       float _u, _v; // 紋理坐標

};

一旦我們有了完整的頂點格式,我們就要使用靈活頂點格式(FVF)的組合標志來描述它。例如第一個頂點結構,我們要使用如下的頂點格式:

#define FVF_COLOR (D3DFVF_XYZ | D3DFVF_DIFFUSE)

上面的頂點結構表明它包含位置和顏色屬性。

 

而第二種結構則要使用:

#define FVF_NORMAL_TEX (D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1)

上面的頂點結構表明它包含了位置,法線向量,紋理坐標的屬性(這些常量是D3D內置的)。

 

有一點要注意,你的標志的順序必須要和你的頂點結構的順序一一對應。如果想知道所有的D3DFVF標志,請查閱SDK文檔。

 

2.1.2 三角形

三角形是構建3D物體的基本圖形。為了構造物體,我們創建了三角形列表(triangle list)來描述物體的形狀和輪廓。三角形列包含了我們將要畫的每一個三角形的數據信息。例如為了構造一個矩形,我們把它分成兩個三角形,如圖2.4所示,最后指定每個三角形的頂點。

 

 

Vertex rect[6] = {v0, v1, v2, // 三角形0

                            v0, v2, v3}; // 三角形1

注意:指定三角形頂點的順序是很重要的,將會按一定順序環繞排列。

 

2.1.3 索引

3D物體中的三角形經常會有許多共用頂點。如圖2.4所表示的矩形。雖然現在僅有兩個點被重復使用,但是當要表現一個更精細更復雜的模型的時候,重復的頂點數將會變得很大。例如圖2.5所示的立方體,僅有八個頂點,但是當用三角形列表示它的時候,所有的點都被重復使用。

 

 

為了解決這個問題,我們引入索引(indices)這個概念。它的工作方式是:我們創建一個頂點列表和一個索引列表(index list)。頂點列表包含所有不重復的頂點,索引列中則用頂點列中定義的值來表示每一個三角形的構造方式。回到那個矩形的示例上來,它的頂點列表的構造方式如下:

Vertex vertexList[4] = {v0, v1, v2, v3};

 

索引列表則定義頂點列中的頂點是如何構造這兩個三角形的:

WORD indexList[6] = {0, 1, 2, //三角形0

                            0, 2, 3}; //三角形1

也就是說,用頂點列表中的0(vertexList[0])、1(vertexList[1])和2(vertexList[2])頂點構成三角形0;用頂點列表中的0(vertexList[0])、2(vertexList[2])和3(vertexList[3])頂點構成三角形1。

 

2.2虛擬照相機

照相機確定3D世界中的哪部分是可見的,因而需要將哪部分轉換為2D圖形。在3D世界中照相機被放置和定向,并且定義其可視體,圖2.6展示了我們的照相機模型。

可視體是由可視角度和前裁剪面(Near Plane)與后裁剪面(Far Plane)定義的一個平截頭體。之所以要選擇平截頭體構造可視體,是因為我們的顯示器都是矩形的。在可視體中不能被看見的物體都會被刪除,刪除這種數據的過程就叫做“裁剪”。

投影窗口(Projection Window)是可視體內的3D幾何圖形投影生成的用來顯示3D場景的2D圖像的2D區域。重要的是要知道,我們使用min=(-1,-1)和max=(1,1)來定義投影窗口的大小。

為了簡化繪制,我們使前裁剪面與投影窗口在同一平面上。并且,注意Direct3D中定義的投影平面(即投影窗口所在的平面)是Z = 1的平面。


posted on 2008-03-13 19:18 lovedday 閱讀(1185) 評論(1)  編輯 收藏 引用

評論

# re: 繪制流水線(1)[未登錄] 2009-07-21 12:30

請問,可視體為什么要有兩個裁剪面  回復  更多評論   


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


公告

導航

統計

常用鏈接

隨筆分類(178)

3D游戲編程相關鏈接

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品色婷婷| 亚洲午夜一级| 亚洲一区二区在| 亚洲四色影视在线观看| 一本久久知道综合久久| 亚洲永久精品国产| 欧美在线3区| 久久久久国产精品麻豆ai换脸| 久久九九精品99国产精品| 欧美激情久久久久久| 亚洲免费观看高清在线观看| 亚洲一区二区在线免费观看视频| 亚洲欧美日韩精品一区二区| 久久久久久亚洲综合影院红桃 | 欧美亚一区二区| 国产亚洲在线观看| 亚洲精品永久免费| 欧美在线视频观看免费网站| 欧美 日韩 国产在线| 亚洲神马久久| 久久女同互慰一区二区三区| 欧美日韩亚洲国产一区| 国内久久精品| 99精品99| 久久精品日产第一区二区三区| 欧美激情a∨在线视频播放| 一区二区三区日韩精品视频| 久久久综合激的五月天| 国产精品久久久久久久久久尿| 永久免费精品影视网站| 亚洲性xxxx| 亚洲国产精品久久久久婷婷老年| 91久久精品美女高潮| 欧美一级淫片播放口| 欧美日韩一区二区三区在线看| 亚洲成色777777女色窝| 欧美一区二区三区免费看| 亚洲国产成人久久综合一区| 久久久久九九九| 欧美激情第10页| 亚洲一区免费视频| 欧美国产在线电影| 在线精品观看| 老司机精品福利视频| 欧美一区成人| 国产精品一区二区在线观看不卡| av成人老司机| 亚洲激情视频网| 美女视频一区免费观看| 狠狠色狠狠色综合人人| 久久国产精品一区二区| 亚洲一区二区在线播放| 国产精品盗摄久久久| 中文一区二区| 亚洲最黄网站| 欧美午夜美女看片| 亚洲欧美国产精品桃花 | 亚洲欧美日韩一区在线| 欧美视频在线免费| 一区二区三区偷拍| 一本色道久久综合亚洲精品婷婷 | 国产毛片一区二区| 亚洲天堂久久| 一区二区三区视频观看| 国产精品magnet| 午夜精品视频在线观看| 亚洲欧美在线免费观看| 国内外成人免费激情在线视频网站 | 国产精品黄视频| 亚洲欧美日韩国产一区二区三区 | 欧美日韩国产综合视频在线观看 | 国产精品专区h在线观看| 亚洲制服丝袜在线| 亚洲欧美一区在线| 极品日韩av| 亚洲二区视频在线| 欧美日韩成人在线| 欧美伊人久久久久久久久影院| 午夜伦欧美伦电影理论片| 国产亚洲a∨片在线观看| 模特精品在线| 欧美日韩美女在线| 欧美影院精品一区| 久久久久91| 一区二区三区成人| 欧美一区二区三区婷婷月色| 欧美一级大片在线免费观看| 久久国产乱子精品免费女| 亚洲激情一区| 亚洲在线成人精品| 亚洲第一中文字幕| 国产精品99久久久久久久vr| 国产日韩一区二区| 欧美黄色免费| 国产农村妇女精品一区二区| 欧美肥婆在线| 国产精品乱码一区二三区小蝌蚪| 久久天堂国产精品| 欧美日韩国产在线观看| 久久一区二区精品| 欧美片第一页| 免费欧美电影| 国产精品中文在线| 亚洲日本欧美日韩高观看| 国产精品视频成人| 亚洲国产欧美在线| 黄色成人av| 亚洲视频精品在线| 99在线精品视频| 久久久噜噜噜久久人人看| 午夜在线电影亚洲一区| 欧美精品免费在线观看| 另类激情亚洲| 国模精品一区二区三区| 亚洲一区www| 亚洲最新视频在线播放| 久久午夜色播影院免费高清| 欧美在线你懂的| 国产精品美女www爽爽爽视频| 亚洲国产成人精品久久久国产成人一区| 国产精品一二一区| 一本一道久久综合狠狠老精东影业 | 久久综合中文字幕| 国产精品热久久久久夜色精品三区 | 欧美h视频在线| 麻豆国产精品777777在线| 国产欧美日韩另类视频免费观看| 亚洲乱码精品一二三四区日韩在线| 黑人一区二区| 久久福利一区| 久久亚洲二区| 在线不卡中文字幕| 久久欧美中文字幕| 欧美国产日本在线| 亚洲国产婷婷香蕉久久久久久| 久久久精品日韩| 免费观看成人| 亚洲国产99精品国自产| 久久在线免费观看视频| 欧美成人黄色小视频| 亚洲国内自拍| 欧美精品亚洲精品| 一区二区精品在线观看| 午夜免费久久久久| 国产一区二区三区久久精品| 久久精品人人做人人综合| 美腿丝袜亚洲色图| 亚洲午夜91| 欧美区一区二| 一本大道久久a久久精品综合| 亚洲一区二区在线播放| 国产精品高潮呻吟久久| 亚洲欧美国产一区二区三区| 久久天天躁夜夜躁狠狠躁2022| 在线欧美视频| 欧美日韩国产精品专区| 在线中文字幕不卡| 久久国产天堂福利天堂| 在线观看日韩av| 欧美欧美午夜aⅴ在线观看| 亚洲一区视频在线观看视频| 久久影院午夜片一区| 亚洲精品午夜| 国产欧美大片| 欧美www在线| 亚洲综合99| 亚洲国产一区视频| 欧美一区二区大片| 亚洲激情影视| 国产精品久久久久免费a∨| 久久精品国产精品 | 亚洲人成毛片在线播放女女| 欧美日韩视频在线第一区| 午夜一区二区三视频在线观看| 欧美电影美腿模特1979在线看 | 在线看不卡av| 欧美日韩一区二区在线播放| 久久爱www.| 亚洲视频在线一区| 亚洲激情网址| 久久亚洲精品视频| 午夜精品福利在线| 一本一本a久久| 亚洲成人中文| 国产午夜久久久久| 欧美视频在线一区| 欧美国产日韩在线| 久久精品视频免费| 亚洲欧美视频在线观看视频| 亚洲精品一区二| 久久三级视频| 欧美一区二区视频免费观看| 99riav久久精品riav| 亚洲国产岛国毛片在线| 国产欧美精品日韩精品| 欧美视频在线观看视频极品| 欧美劲爆第一页| 男男成人高潮片免费网站| 久久精品国产99精品国产亚洲性色 | 亚洲美女免费视频|