DirectX903D 颜色
顏色?
顏色表示
顏色用RGB三元組表示。為紅色(red)綠色(Green)藍色(Blue)。
RGB數(shù)據(jù)可用兩種不同的結(jié)構(gòu)來保存。
1? D3DCOLOR結(jié)構(gòu) 與DWORD類型完全相同。共有32位。各位被 分成四個8位項(section)每項存儲一種分量的亮度量。第個分量的亮度值范圍都在[0, 255]區(qū)間內(nèi)。
2 ?D3DCOLORVALUE 結(jié)構(gòu) 有單精度浮點數(shù)據(jù)試題每個量的亮度值, 亮度值的取范圍為[0, 1] (0表示沒有亮度, 1表示亮度最大)
可用結(jié)構(gòu)D3DXCOLOR替代D3DCOLORVALUE, 前者包含了后者的數(shù)據(jù)成員 還提供了一組有用的構(gòu)造函數(shù)和重載去運算符。
?
頂點顏色
圖元的由構(gòu)成該圖元的頂點的所決定。我們在頂點格式中定義了:
struct ColorVertex {float x, y, z;
D3DCOLOR color;
Static const DWORD FVF;
}
const DWOR ColorVertex::FVF = D3DFVF_XYZ | D3DFVF_DIFFSE;
著色
光柵過程中, 要對多邊形進行著色(shading)規(guī)定利用頂點的來計算構(gòu)成圖元的像素的顏色。 有兩種著色模式(shading mode): 平面著色(flat shading)和Gouraud著色(gouraud shading).
如果 使用flat shading 用第不念舊惡在頂點。其它的被忽略。 但是會呈現(xiàn)出“塊狀” 因為各顏色沒有平滑過渡。Gourau著色可是平滑的。
設置如下:
//set flat shadingDevice->SetRenderState (D3DRS_SHADEMODE, D3DSHADE_FLAT);
//set Gouraud shading
D evice->SetRenderState (D3DRS_SHADEMODE, D3DSHADE_GOURWUD);
《DircetX9.0 3D 游戲開發(fā)編程基礎》筆記
江西理工大學 FangSH?2010-4-9
轉(zhuǎn)載于:https://www.cnblogs.com/fangshenghui/archive/2010/04/09/1708207.html
總結(jié)
以上是生活随笔為你收集整理的DirectX903D 颜色的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上海欢乐谷恐高症能玩的项目
- 下一篇: Jquery php 点击td变成inp