D3D中材質通過D3DMATERIAL9結構說明

2022-02-26 16:32:35 字數 570 閱讀 9756

光照的兩大要素是光源和物體的材質,物體表面材質屬性決定了它能反射什麼顏色的光線以及反射多少光線。

一、direct3d中材質的定義

d3d中材質通過d3dmaterial9結構來表示:

typedef struct d3dmaterial9 d3dmaterial9, *lpd3dmaterial9;

diffuse-指定表面反射的漫反射光。

ambient-指定表面反射的環境光。

specular-指定表面反射的鏡面光。

emissive-表面本身自發光。

power -鏡面高光,它的值是高光的銳利值,該值越大表示高光強度與周圍亮度相差越大。

表面頂點的顏色亮度總和為:

i表示物體的顏色值,上式表示物體的顏色總和=物體反射環境光+物體反射漫反射光+物體反射鏡面反射光+自發光。

二、材質的應用

函式idirect3ddevice9::setmaterial()設定direct3d當前的材質屬性:

hresult setmaterial(

const d3dmaterial9* pmaterial

);

D3D基本框架 即D3D標頭檔案分類

了dxut的結構 後,發現微軟程式設計師的編碼風格太深奧了。各種巨集定義 預編譯跳得頭暈,由於對於window api的不精通,導致寫出符合dxut風格的框架以現在的水平來看是不可能的。既然沒有弄通dxut,我也暫時不想套用了,那麼還是先自己用自己的框架來寫把。框架如下 雖然沒學會dxut,但是微軟...

d3d矩陣變換

1.d3d的繪製流水線 區域性座標系 模型空間 世界座標系 觀察座標系 背面消隱 光照 裁剪 投影 視口變化 光柵化 每個3d模型都有自己的空間,空間的中心 原點 就是模型的中心。世界空間就是物體 模型 存在的地方。世界的中心就是原點 0,0,0 注意螢幕中間的那一點不是世界空間的中心點,螢幕中間的...

d3d矩陣總結

d3d中實現物件的基本渲染需要使用shader指令碼,而shader指令碼最低的的需求就是頂點與矩陣,在這裡主要討論矩陣 這個矩陣是3個矩陣運算得來的,分別是世界矩陣 視矩陣和投影矩陣 世界矩陣 世界矩陣就是標識者物體在世界座標系中的位置,預設下設為單位陣即可 視矩陣 視矩陣是攝像機位置和朝向的設定...