D3D9 簡單圖形的繪製以及顯示
阿新 • • 發佈:2019-01-01
哎呦,不錯哦。
三、最後一步了,進行顏色的上色。
在Direct3D中,顏色使用RGB三原色來表示,分解為紅色(Red),綠色(Green),藍色(Blue)。RGB資料可以用兩種不同的結構來儲存,第一種是D3DCOLOR,它實際上與DWORD型別完全相同,共32位,且可分為四個8位項,每項儲存一種顏色的分量的亮度值,R,G,B各佔8位,剩下8位,一個位元組分配給Alpha分量,Alpha分量主要用於後面的融合;第二種結構是D3DCOLORVALUE,該結構中,用單精度浮點數來度量每個顏色分量的亮度值,而亮度值的取值範圍為0~1. D3DCOLORVALUE的函式結構:Typedef struct D3DCOLORVALUE{ float r; //red float g; //green; float b; //blue float a; //alpha }D3DCOLORVALUE;
開始著色:
在光柵化的過程中,有兩種著色模式(shading mode):平面著色(flat shading)與Gouraud著色也稱為(smooth shading)。 在繪製狀態呼叫函式裡面便可進行著色的設定: 如://平面著色(flat shading) Device->SetRenderState(D3DRS_SHADEMODE,D3DSHADE_FLAT); //Gouraud著色(smooth shading) Device->SetRenderState(D3DRS_SHADEMODE,D3DSHADE_GOURAUD);