I think this is how you do it
Code:
void FillARGBTriangle(int x1, int y1, int x2, int y2, int x3, int y3, D3DCOLOR color, IDirect3DDevice9 *pDevice)
{
struct Vertex
{
float x,y,z,ht;
DWORD Color;
};
Vertex V[4];
V[0].Color = V[1].Color = V[2].Color = V[3].Color = color;
V[0].z = V[1].z = V[2].z = V[3].z = 0.0f;
V[0].ht = V[1].ht = V[2].ht = V[3].ht = 0.0f;
V[0].x = (float)x1;
V[0].y = (float)y1;
V[1].x = (float)x2;
V[1].y = (float)y2;
V[2].x = (float)x3;
V[2].y = (float)y3;
V[3].x = (float)x1 + 1;
V[3].y = (float)y1 + 1;
pDevice->SetTexture(0, NULL);
pDevice->SetFVF(D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_TEX1);
pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,2,V,sizeof(Vertex));
}
Credits:
Pheron
System32