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

posts - 16,  comments - 81,  trackbacks - 0

課程概述

如果您已經通過前兩課教程進展至,您現在可以開始了寫3D程序。 然而,3D編程不是像土匪斗惡霸那么簡單。它是嚴格的數學,你必須了解三維數學概念,才能寫好3D程序。 不要擔心沒什么復雜的。 我保證您會在數學上花費比學C + +更多的時間。

這一課是理論課。 我們將在下一課中實踐我們的理論。 在這一課中我們將介紹坐標系統它們如何適用于Direct3D以及創造一個3D場景。

三維坐標系

如果沒有基本的3D數學的理解,三維編程是不可能的。 而且我不是指大學數學都做一遍,我們理解三維坐標的概念,它們是如何工作,以及可能用到的和各種東西。

當然,在你了解3D坐標系統之前,您需要理解笛卡爾坐標。

直角坐標系

笛卡爾坐標系統會使你更好的認識二維坐標系統。 換句話說,它是一個平面上確定一個點的位置的系統

一個點是指沿軸的準確位置。 如果我們想知道有多遠的東西走了,我們通常給一個確切的數字,如“范跑跑跑了12米。” 12米,是沿著一個軸的距離。 我們說,0是這個的起點,作為范跑跑,他的位置越來越遠沿著這條軸線。 這是一個一維的坐標系。

 
圖片3.1 - 一維坐標系

當我們看這情景,從側面圖片中,我們可以看到,作為范跑跑,他繼續朝著屏幕右側跑啊跑,他和那個'0'點的距離越來越遠。 這個'0'的由來,因為范跑跑從這里開始跑(那間教室)。 在在向左的方向上,他的距離是一個負值

但是,如果他時轉90度,不同的方向走會怎樣? 我們考慮一下實際情況,當他向右跑了12米,沖出了教室,這時他來到了走廊,再往前就要跳下樓了,于是他只好左轉向著樓抵口跑。

 
圖片3.2 - 直角坐標系

現在增加了一個軸,垂直軸我們稱其為Y軸。 首先在水平軸X軸,沿此軸范跑跑跑了12米,然后他又沿著Y軸的方向跑起來

當然,這種新的軸,水平軸一樣,也有一個起源。 他是范跑跑在X軸上跑路的終點因為他開始沿著Y軸跑了。 請注意,在Y軸原點也給出了0值,并隨范跑跑在Y軸上的跑路Y軸愈來愈長。 

所以,現在我們有兩個軸(X軸和Y軸),每個有其起點。 嗯,這就是笛卡爾形式的直角坐標系。 現在,我們可以找到任何上的點。 我們可以他離各軸原點的距離確定他的精確位置,所以我們可以說他是在(x,y)或(12,4),12是他在X軸上跑的距離,4是他在Y軸上跑的距離。這兩個數字稱為坐標,一個點離坐標原點((),0)有多遠。

三維坐標系

其實,三維坐標系,只不過是我們剛剛討論的情況的拓展。 假如我們把直角坐標系,并添加了第三軸(Z軸)上運行垂直于X和Y軸,我們將有三維坐標。 這里說明了這一點。


圖片3.3 - 三維坐標系

笛卡爾坐標一樣,三維坐標既可以是正值也可以是負值取決于點處在改軸的哪個方向。 然而直角坐標不一樣的是,三維坐標是三個數字,例如:(的x,y,z)或(12,4,15)。 這表明在范跑跑老師在十五米的高空(6樓。 它也可以寫成(12,4,-15)。 也許這意味著他被埋在了煤窯

三角幾何

現在讓我們討論三維坐標如何應用到游戲和游戲編程。 如果三維點坐標系統中的一個點代表一個在空間中的,那么我們可以通過一組這樣的點最終生成一個三維模型。 當然,這么多點的設置將在內存中占用的空間很大,于是一種更方便,更快捷的方式就出現了,那就是設置使用三角形。

任何跟數學相關的領域三角形是一個非常有用的形狀它們可以用于測量圓,他們可以用來加強建筑物,它們可以被用來創建3D圖像。 究其原因,我們將要使用三角形是因為三角形可以組成幾乎任何形狀,比如下圖的正方體和球就是由一個個三角形構成



圖片3.4 - 從三角形制作出來的模型

由于三角形在創建三維模型方面的各種優越性,Direct3D被設計為完全圍繞三角形并通過三角形組成各種形狀。為了建立一個三角形,我們需要使用一種叫做頂點集的東西

頂點集是由頂點組成的一個頂點定義為一個在三維空間中的確切的點。 它包括三個值x,y和z 在Direct3D中,我們還有這一點的各種屬性。 因此,我們擴的定義是指“三維空間中的精確點屬性和位置”。

三角形是由三個順時針地在您的程序中定義頂點。 當編碼完成后,這三個頂點形成一個平坦的可以自由旋轉,添加質感,定位和修改表面。



圖片3.5 - 通過頂點集創三角形

在圖像顯示的三角形3.5三個頂點

X = 0,Y = 5Z = 1
X= 5,Ÿ = -5Z = 1
X = 5,Ÿ = -5Z = 1

你會發現,上述所有頂點的Z都等于-1。 這是因為我們不是在談論一個3D對象,而是在談論一個三角形這是一個二維物體。 我們當然可以改變這個Z值,但這并不會產生什么實質的影響

為了創建一個3D對象,我們將需要組合多個三角形。 在上面的圖3.4你可以看到如何用三角形組合出其他形狀。 比如說這在個3-4里,立方體就是由兩個簡單的三角形組成。 這個立方體的每個面都是這樣組成的

然而,定義三維坐標游戲中的每個三角形多次不僅僅是愚蠢,這簡直就是愚蠢!。  這里還有沒有必要為涉及(你會看到我在下一課的意思)。

而不是定義每一個游戲中的每一個三角形的角落,你需要做的就是創建一個頂點,包含每一個頂點的坐標和信息,以及他們進去的順序

基元

基元(primitives,又稱為圖元或者原語) ,是3D環境中的一個單一的元素,可以是一個三角形,一條線,一個點,或其他隨便什么。 以下是基元可以被合并以創建三維對象的方法列表

1.  點列表 Point Lists
2.  線列表 Line Lists
3.  線帶 Line Strips
4.  三角形列表 Triangle Lists
5.  三角形帶Triangle Strips
6.  三角扇形 Triangle Fans 

1. 點列表 
一個點列是一組為在屏幕上顯示的頂點的列表。 它們可用于渲染3D星空,創虛線,顯示在小地圖上的位置。 圖片3.6說明了點列是如何顯示在屏幕上。


圖片3.6 - 一個點列(6元)

2. 線列表

線列表是一頂點的列表其中奇數的頂點和下一個頂點會連成線段。 這些可用于各種效果,包括三維網格,暴雨,航點線,等等。 圖片3.7說明了線列如何在屏幕上示(這是和以前相同的一組頂點)。


圖片3.7 - A線一覽(3基元)

3. 線帶

線帶是類似于線列表不同之處在于它所有的頂點(不分奇數還是偶數)都和下一個頂點用線段連起來。 這對創建線框模型非常有用,如線框地形,草片,以及其他不是基于模型的對象。 這對于調試程序也是非常有用的。 圖片3.8說明了如何線帶是在屏幕上顯示。


圖片3.8 - A線地帶(5基元)

4.三角形列表

一個三角形列把每三個頂點組一個單一的獨立的三角形頂點列表。 這可以在諸如力,爆炸效果,以及把對象拼湊在一起,圖3.9說明了三角形列表如何在屏幕上顯示。


圖片3.9 - A線列表(2基元)

5.三角形帶

一個三角形地帶是一個頂創建一系列互相連接的三角形的頂點列表,。 這是三維圖形處理最常用的方法。 這些大多是用于創建你的游戲的3D模型。 圖片3.10三角說明了是如何顯示在屏幕上。請注意,前三個頂點創建一個三角形,然后下個頂點和它的前兩個頂點構成一個三角形。


圖像3.10 - 一個三角地帶(4圖元)

6。 三角扇形

三角扇形類似于三角形帶,不同的是所有三角形共用一個頂點。 圖3.11:


圖像3.11 - 三角形扇(4圖元)

一個基元的問題

繪制基元的時候有一個小問題出現了,那就是你的三角形只有一面要顯示,但是系統畫了兩面。 沒錯它的確可以顯示兩面,但通常一個模型是完全封閉的,你看不到它的內部。 如果模型是完全封閉的,每個三角形只有一面需要繪制。 畢竟,繪制兩面要多花費一倍的時間。 下面你會看到這個繪制兩面和一面的區別

一個三角形基元只有當其頂點是順時針順序給出時才能繪制。 如果您翻轉它周圍,它成為逆時針,因此不會顯示。


圖像3.12 - 基元只有順時針時可見

有一個簡單的方法(雖然當你進入較大游戲時這會很繁瑣,),那就是兩面都繪制,令人原始順時針和其他反時針方向。


圖像3.13 - 兩面都繪制時兩種方式都可見

顏色

色彩是3D編程中一個相當簡單的部分。 然而,即使你彩色光譜和光物理學非常熟悉,這只是讓你更容易地知道Direct3D不完全遵循這個宇宙的規律。 那樣只能是圖形硬件和CPU的噩夢。太多了,所以我們只給圖形這樣的矩陣,并創建我們自己的規則以便夠對它進行處理

光,當然是粒子的波,使您可以看到身邊各種對象之間的區。 Direct3D運用圖形硬件進行各種數學算法虛擬出這一點。 然后,圖像就會顯示在屏幕上。 在這一節我們將介紹如何Direct3D 虛擬我們在自然看到的光。

減法色 VS加法色

在您教育的早些時期,你可以學到的原色是紅色,藍色和黃色。 這不是真正的情況。 顏色實際上是洋紅,青色和黃色。 以及為什么沒用的技術細節? 要理解這一點,你必須了解減法色加法色的概念。

這兩種顏色之間的區別在于是否顏色是指光的顏色或一個物體的顏色。 減色是一個對象的顏色,并有原色洋紅,青色和黃色。 加色是光的顏色,有紅,綠,藍三原

在光束越多顏色添加進來就越接近白色。 所有的顏色加在一起就成了白色,因此它被稱為加色。


圖像3.14 - 加法色顏色越多越

上面你可以看到三原光疊加起來就成了白色。 不過,如果你仔細看,你還會看到當你把兩種原光疊加起來你會得到一個減法色的原色(洋紅,青色或者黃色)。 如果我們仔細看看這些減法色,我們將看到這是為什么。

減法色基本上是和加法色相反的。 它們不是一個表面反射的光疊加構成。 例如,一個紅色物體,被白色的光照亮反映紅光是因為它吸收綠色和藍色光。 如果你看上面的圖3.14,你會看到綠色和藍色的結合-----青色,所以青色從白光中減去結果就顯示紅色


圖3.15 - 減法色減到最后就成了黑色

在圖形編程,您將始終使用(紅,綠,藍)三元光的添加色,因為顯示器是自發。 而親手建立一個3D引擎會有助于你理解是什么使物體的顏色看起來這樣或者那樣

順便說一下,這就是為什么你會發現屏幕上紅色,綠色和藍色而打印出來就成了洋紅,青色和黃色,

如果你想深入地研究顏色,下面是一個網站色彩和光物理學有比較徹底的研究。 如果你想到了未來DirectX 10的次世代游戲,我會認真地建議你學好顏色。 這里還有更多呢意想不到的東西,這使得在一個大的游戲引擎很大的改觀

總之,請猛擊這個鏈接: http://www.byronc.com/art_color.shtml

Alpha通道

Alpha通道在紅綠藍三原光之外一個額外的通道透明通道。 當你將透明通道引入你的顏色設置,圖形顯示半透明,讓您通過物體看到其背后的其他物體。 這在游戲中會是一個很有用的功能比如說美女的紗衣(我邪惡了),以及其他許多有用的東西。 我敢肯定你一定會用到它

設置32位色彩

Direct3D的色彩一個32位變量的組成,它存儲所有的信息。 這包括(簡稱RGB)和Alpha的值。 這些每一個被稱為通道 ,每個通道占用8位,如下圖


圖像3.16 - 顏色bit布局

以下是定義上述的顏色代碼:

DWORD Color_A = 0xff00ff00;
DWORD Color_B 
= 0x88ff00cc;

還有兩種方法創建這些顏色,我們需要插入每個通道

DWORD Color_A = D3DCOLOR_XRGB(02550);
DWORD Color_B 
= D3DCOLOR_ARGB(1362550204);

函數D3DCOLOR_ARGB()返回一個包含紅綠藍以及透明通道的信息的DWORD。 如果你不想使用透明,那么你可以使用D3DCOLOR_XRGB(),它會用255填充Alpha通道的值

如果你想看到這樣的一個例子,請從第1課和2課中找出清除屏幕使用D3DCOLOR_XRGB()函數的例子。

光與色

我不打算關于光這的每一點都講到。 我留一些放在以后的課。 現在,我只是想介紹下基本因為在添加光線進你的程序之前你必須對它有部分的了解

自然光,是一個非常復雜的數學說法。 當陽光普照,幾乎一切都是由它點,即使它沒有照到太多我們能看見的東西。 這是因為光會向周圍地區進行數千次反射,無論是陽光普照或陰天這就是漫反射。 為了進一步增加色差,由于陽光穿越的空間,有一部分是反映灰塵粒子,這樣的漫反射是無法計算了。 即使電腦可以計算出這一切,它不能實時運行。

Direct3D使用的系統致力于模擬真實環境光。 要做到這一點,它光分解成三個類型----漫射光 ,環境光 鏡面反射三者結合在一起使得結果會接近于實際光。 

漫射光

漫射光的間接照在物體上的光。 如下圖這個球就是只用漫射光照明


圖3.17 - 漫反射

稍后,您將了解光源。 這個球是來自左一個點光源照亮。 球離光源越遠得到的光照就越少

環境光

環境光被認為是無處不在的光。 不同漫射光的是,它沒有來源,如果單獨使用出現一個圈(因為所有的部件都被照)。 這個球和一個完全一樣,但這次添加了環境光照在黑暗部分


圖像3.18 - 漫和環境照明

鏡面光

這有時也被稱為鏡面高亮,因為它突出反映了一個反光的顏色對象。 這個球極受到漫射光和環境光照明,具有高光使它看起來更加真實。


圖像3.19 - 漫射,照明光和鏡面光

綜述

現在,你應該已經了解三維的基本概念,以及它是如何應用到游戲編程。 現在讓我們實踐這一切的理論。 在下一課中,你將建立一個基本的三角形。

下一課:畫一個三角形

英文原文:http://www.directxtutorial.com/tutorial9/b-direct3dbasics/dx9B3.aspx 

Translate By 王大寶(OneDouble.net)


鑒于中英文混排看著累,從這集開始,不再采用中英文對照排版,想看英文原版的朋友請移步至原帖,謝謝
posted on 2010-12-27 20:02 叫我老王吧 閱讀(2779) 評論(5)  編輯 收藏 引用 所屬分類: DierectX

FeedBack:
# re: [翻譯]Direct3D Tutrial-03 3D概念[未登錄]
2010-12-28 16:52 | Jcily
不錯,頂了  回復  更多評論
  
# re: [翻譯]Direct3D Tutrial-03 3D概念
2010-12-29 22:25 | lgz
支持了  回復  更多評論
  
# re: [翻譯]Direct3D Tutrial-03 3D概念
2010-12-30 21:00 | 叫我老王吧
@Jcily
@lgz
謝謝支持  回復  更多評論
  
# re: [翻譯]Direct3D Tutrial-03 3D概念
2011-02-10 18:01 | Tedlist
樓主加油,你翻譯的那個網站。是個收費的。再往后看就要收錢了。郁悶!  回復  更多評論
  
# re: [翻譯]Direct3D Tutrial-03 3D概念
2011-02-18 22:36 | 叫我老王吧
@Tedlist
是是是,樓主我過完年回來繼續翻譯啦  回復  更多評論
  
<2011年2月>
303112345
6789101112
13141516171819
20212223242526
272812345
6789101112

常用鏈接

留言簿(4)

隨筆分類

隨筆檔案

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            一本不卡影院| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美在线免费视频| 一本色道久久99精品综合| 午夜亚洲一区| 欧美一区二区黄| 久久黄色级2电影| 乱中年女人伦av一区二区| 欧美一级艳片视频免费观看| 久久精品国产亚洲高清剧情介绍| 欧美影片第一页| 久久久久久久激情视频| 欧美激情1区| 国产欧美一区二区三区另类精品 | 欧美日韩成人| 国产精品久久77777| 欧美xxx成人| 欧美福利视频在线| 欧美日韩亚洲另类| 国产欧美日韩免费看aⅴ视频| 激情校园亚洲| 一区二区三区产品免费精品久久75| 西瓜成人精品人成网站| 美女在线一区二区| 亚洲综合色在线| 欧美大片网址| 国产午夜久久久久| 99成人精品| 欧美成人影音| 久久福利精品| 亚洲一区二区三| 欧美婷婷久久| 国产视频一区二区三区在线观看| 狠狠久久五月精品中文字幕| 一区二区三区高清在线观看| 久久夜色精品一区| 在线视频欧美一区| 美女精品一区| 国产麻豆精品久久一二三| 亚洲乱码国产乱码精品精可以看| 久久成人国产| 在线中文字幕日韩| 欧美激情成人在线| 亚洲欧洲一区二区天堂久久| 久久久人成影片一区二区三区| 亚洲视频欧美视频| 欧美日韩高清在线观看| 日韩午夜av电影| 亚洲激情中文1区| 亚洲自拍16p| 国产精品久久久久永久免费观看| 日韩视频在线一区二区| 麻豆国产精品777777在线| 午夜精品国产更新| 国产乱码精品一区二区三区av| 久久精品国产亚洲精品| 欧美午夜视频一区二区| 亚洲美女黄色| 亚洲欧洲日本在线| 欧美顶级艳妇交换群宴| 亚洲国产另类精品专区| 久久久精品性| 先锋影音久久| 国产精品一区二区男女羞羞无遮挡 | 在线视频日本亚洲性| 欧美极品一区| 一区二区三区四区蜜桃| 亚洲人成亚洲人成在线观看| 欧美电影免费观看高清| 99re8这里有精品热视频免费| 免费在线欧美黄色| 免费人成精品欧美精品| 亚洲国产成人精品久久| 欧美成人激情视频| 欧美精品日韩综合在线| 99在线观看免费视频精品观看| 欧美激情一区二区三区不卡| 久久久福利视频| 国内久久婷婷综合| 欧美国产三区| 欧美黑人多人双交| 亚洲欧美日韩精品综合在线观看| 99国产一区| 99精品欧美一区二区三区| 欧美激情一区二区三区全黄| 欧美a级在线| 亚洲第一精品影视| 欧美日韩国产美| 亚洲在线观看| 久久男人资源视频| 一本色道久久99精品综合| 99re6这里只有精品视频在线观看| 欧美调教vk| 久久视频在线看| 久久国产精品免费一区| 欧美91大片| 国产精品劲爆视频| 久久久91精品国产一区二区三区| 欧美综合77777色婷婷| 尤物99国产成人精品视频| 亚洲国产一区视频| 国产欧美日韩综合| 欧美成人一区二免费视频软件| 欧美日韩三级视频| 久久av一区二区三区| 欧美一区二区三区免费在线看 | 一区在线观看视频| 洋洋av久久久久久久一区| 激情婷婷久久| 亚洲欧美日韩在线观看a三区| 尹人成人综合网| 亚洲国产精品视频| 国产精品欧美精品| 牛人盗摄一区二区三区视频| 欧美成人精品一区二区| 久久成人免费电影| 欧美日韩裸体免费视频| 欧美精品午夜| 亚洲欧美日韩国产成人精品影院| 久久精品91久久香蕉加勒比 | 国产精品成人va在线观看| 欧美成人激情视频| 狠狠网亚洲精品| 性做久久久久久久久| 一区二区三区免费网站| 欧美激情按摩在线| 久久综合久久综合九色| 国产日韩视频一区二区三区| 一区二区三区高清视频在线观看| 夜夜夜精品看看| 欧美日韩午夜在线视频| 亚洲精品在线免费观看视频| 亚洲伦理中文字幕| 欧美激情1区| 欧美激情一区二区| 在线观看精品一区| 一区二区三区视频免费在线观看| 亚洲精品欧美日韩专区| 麻豆av一区二区三区| 欧美sm视频| 亚洲麻豆国产自偷在线| 欧美日韩不卡一区| 日韩视频免费大全中文字幕| 亚洲欧洲三级| 欧美久久久久久久久| 日韩一级精品| 久久不射网站| 六月婷婷一区| 国产日韩精品视频一区二区三区 | 91久久精品网| 亚洲网站视频福利| 国产精品欧美久久久久无广告| 亚洲欧美在线磁力| 久久野战av| 亚洲精品国精品久久99热| 欧美日韩精品免费观看视频| 在线亚洲美日韩| 久久精品视频亚洲| 国产精品福利av| 久久成年人视频| 亚洲国产日韩在线一区模特| 亚洲深夜av| 国产视频一区在线观看一区免费| 久久久高清一区二区三区| 亚洲激情成人在线| 一个色综合导航| 国内揄拍国内精品少妇国语| 欧美成人午夜剧场免费观看| 中国成人亚色综合网站| 久久人人97超碰国产公开结果| 亚洲欧洲日本专区| 国产欧亚日韩视频| 欧美+亚洲+精品+三区| 亚洲综合电影| 亚洲国产导航| 亚洲淫性视频| 伊人久久av导航| 国产精品高潮呻吟久久av无限| 亚洲女优在线| 久久免费视频一区| 亚洲精品一区二区网址| 国产一区二区三区在线观看免费 | 欧美日韩国产高清视频| 亚洲一区二区在线视频| 欧美顶级少妇做爰| 亚洲一区中文字幕在线观看| 亚洲国产日韩欧美在线99| 国产精品视频自拍| 久久久水蜜桃| 亚洲一级二级在线| 国产视频一区三区| 欧美激情bt| 免费观看成人网| 久久av一区| 亚洲一区三区电影在线观看| 亚洲精品字幕| 亚洲狠狠婷婷| 欧美大片在线观看一区| 久久精品理论片| 一区二区三区日韩欧美精品|