Post50% Background Transparancy

Posts 12 of 2 · Page 1 of 1
50% Background Transparancy
function

code:
Code:
void DrawBox(IDirect3DDevice8 *pD3Ddev, int x, int y, int w, int h, D3DCOLOR col)
{
    struct QuadVertex {
        float x,y,z,rhw;
        DWORD dwColor;
    };
    IDirect3DVertexBuffer8 *pVertexBuffer = NULL;
    QuadVertex qV[4];
    BYTE *pVertexData = NULL;

    if (pD3Ddev->CreateVertexBuffer((4*sizeof(QuadVertex)),(D3DUSAGE_WRITEONLY|D3DUSAGE_DYNAMIC),(D3DFVF_XYZRHW|D3DFVF_DIFFUSE),D3DPOOL_DEFAULT,&pVertexBuffer)<0) return;

    pD3Ddev->SetRenderState(D3DRS_ZENABLE , FALSE);
    pD3Ddev->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
    pD3Ddev->SetRenderState(D3DRS_LIGHTING, FALSE);

    pVertexBuffer->Lock(0,0,&pVertexData,D3DLOCK_NOSYSLOCK | D3DLOCK_DISCARD);
    if(pVertexData)
    {
        qV[0].dwColor = qV[1].dwColor = qV[2].dwColor = qV[3].dwColor = col;
        qV[0].z   = qV[1].z   = qV[2].z   = qV[3].z   = 0.0f;
        qV[0].rhw = qV[1].rhw = qV[2].rhw = qV[3].rhw = 0.0f;

        qV[0].x = (float)x;
        qV[0].y = (float)(y + h);
        qV[1].x = (float)x;
        qV[1].y = (float)y;
        qV[2].x = (float)(x + w);
        qV[2].y = (float)(y + h);
        qV[3].x = (float)(x + w);
        qV[3].y = (float)y;

        memcpy(pVertexData,qV,sizeof(QuadVertex)*4);
        pVertexBuffer->Unlock();
        pVertexData = NULL;

        pD3Ddev->SetStreamSource(0,pVertexBuffer, sizeof(QuadVertex));
        pD3Ddev->SetVertexShader( D3DFVF_XYZRHW | D3DFVF_DIFFUSE );
        pD3Ddev->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 );
    }
    if    (pVertexBuffer) {
        pVertexBuffer->Release();
        pVertexBuffer=NULL;
    }
    pD3Ddev->SetRenderState(D3DRS_LIGHTING, true);
}
Put it in the globals.

how to use

code:

Code:
DrawBox(m_pD3Ddev,10,5,130,130,0x60000000);
Just change the coordinates.Thats how I used it in mine.



What this does ?

Creates a black box 50% Transparant.

Thank me for posting
Please! What is m_pD3Ddev?? I have this error :
===>undeclared identifier<===

Help me please!
Thanks
Posts 12 of 2 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

Need help?