1
我需要使用DrawPrimitiveUP畫線,我需要它使用我定義的結構中的顏色值。從代碼如何使用DrawPrimitiveUP,以便使用我定義的結構中的顏色值?
重要片段:
struct PointVertexColor
{
float x, y, z; // Position
DWORD color; //Colour
};
#define D3DFVF_PointVertexColor (D3DFVF_XYZ | D3DFVF_DIFFUSE)
PointVertexColor myLines[1024];
device->DrawPrimitiveUP(D3DPT_LINELIST, myLinesCount, myLines, sizeof(PointVertexColor));
我有一個點光源組,照明啓用和環境照明還。
問題是,如果我設置了材質,它將使用材質顏色,而不是來自我的數據結構中的材質。我該如何設置它,以便使用DWORD顏色,然後將其設置爲使用材質以供後面的代碼使用?
其實,你可以使用頂點顏色和照明。請參閱渲染狀態D3DRS_DIFFUSEMATERIALSOURCE,例如 – Bahbar 2010-06-21 13:46:16
嘗試過,但它似乎沒有效果(顏色/材質),也許我還有其他錯誤。 – Marten 2010-06-21 14:31:25