
Originally Posted by
96neko
use d3dcolor instead and read
this
Thanks, I made it work with this:
Code:
void DrawBox(int x, int y, int w, int h, DWORD Color, LPDIRECT3DDEVICE9 pD3D9)
{
struct Vertex
{
float x, y, z, ht;
DWORD Color;
}
V[4] = { { x, y + h, 0.0f, 0.0f, Color },{ x, y, 0.0f, 0.01, Color },
{ x + w, y + h, 0.0f, 0.0f, Color },{ x + w, y, 0.0f, 0.0f, Color } };
pD3D9->SetTexture(0, NULL);
pD3D9->SetPixelShader(0);
pD3D9->SetFVF(D3DFVF_XYZRHW | D3DFVF_DIFFUSE);
pD3D9->SetRenderState(D3DRS_ALPHABLENDENABLE, true);
pD3D9->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
pD3D9->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
pD3D9->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE );
pD3D9->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
pD3D9->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
pD3D9->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_MODULATE );
pD3D9->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE );
pD3D9->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE );
pD3D9->SetRenderState(D3DRS_ZENABLE, FALSE);
pD3D9->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
pD3D9->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, V, sizeof(Vertex));
return;
}
- - - Updated - - -
@
Wyo can close it