1. 程式人生 > >D3D9 簡單圖形的繪製以及顯示

D3D9 簡單圖形的繪製以及顯示

              哎呦,不錯哦。

三、最後一步了,進行顏色的上色。

                   在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);

樣例:

四邊形的簡單繪製和上色:點選開啟連結

截圖所示: