摘要: 紋理映射是一種允許我們?yōu)槿切钨x予圖象數(shù)據(jù)的技術;這讓我們能夠更細膩更真實地表現(xiàn)我們的場景。例如,我們能夠創(chuàng)建一個立方體并且通過對它的每個面創(chuàng)建一個紋理來把它變成一個木箱(如圖6.1)。
在Direct3D中一個紋理是通過IDirect3DTexture9接口來表現(xiàn)的,一個紋理是一個類似像素矩陣的表面它能夠被映射到三角形上。
閱讀全文
摘要: 為了提高場景的真實性,我們可以為其加入燈光。燈光也能幫助表現(xiàn)物體的立體感以及物體的實體形狀。當使用燈光時,我們不再自己指定頂點的顏色; Direct3D中每個頂點都通過燈光引擎來計算頂點顏色,該計算是基于定義的燈光資源,材質(zhì)以及燈光資源關心的表面方向。通過燈光模型計算頂點顏色會得到更真實的場景。
閱讀全文
摘要: Direct3D支持三種類型的光源。
點光源——這種光源在世界坐標中有一個位置且向所有方向上都照射光線。
方向光源——這種光源沒有位置但是向指定方向發(fā)出平行光線。
聚光燈——這種類型的光源和手電筒的光類似;它有位置并且發(fā)出的光在指定方向上按照圓錐形照射。這個圓錐形有兩個角度,θ和φ。角度θ描述內(nèi)圓錐,φ描述外圓錐。
閱讀全文
摘要: 為了提高場景的真實性,我們可以為其加入燈光。燈光也能幫助表現(xiàn)物體的立體感以及物體的實體形狀。當使用燈光時,我們不再自己指定頂點的顏色; Direct3D中每個頂點都通過燈光引擎來計算頂點顏色,該計算是基于定義的燈光資源,材質(zhì)以及燈光資源關心的表面方向。通過燈光模型計算頂點顏色會得到更真實的場景。
閱讀全文
摘要: 在Direct3D中,顏色是使用RGB三部分來描述的。也就是說,我們要分別指定紅、綠和藍三種顏色的值。混合這三個顏色決定最終的顏色。利用這三種顏色我們能夠表現(xiàn)數(shù)萬種顏色。
我們使用兩種不同的結構來存儲RGB數(shù)據(jù)。這第一種是D3DCOLOR,它實際上是一個DWORD類型即32位。在D3DCOLOR類型中的這些位按照8-bit被分為4個部分,每一部分存儲的是該色的亮度值。如圖4.1所示。
閱讀全文
摘要: 頂點和索引緩存有相似的接口并且共享相似的方法;因此我們把它們合在一起講解。一個頂點緩存是一塊連續(xù)的存儲了頂點數(shù)據(jù)的內(nèi)存。同樣的,一個索引緩存是一塊連續(xù)的存儲了索引數(shù)據(jù)的內(nèi)存。我們使用頂點和索引緩存保存我們的數(shù)據(jù)是因為它們能被放置在顯存中。渲染顯存中的數(shù)據(jù)要比渲染系統(tǒng)內(nèi)存中的數(shù)據(jù)快的多。
閱讀全文
摘要: 這個程序創(chuàng)建并渲染幾種不同的能夠使用D3DXCreate*函數(shù)創(chuàng)建的3D物體。
閱讀全文