Quote:
void DrawBox( int x, int y, int w, int h, D3DCOLOR Color,LPDIRECT3DDEVICE9 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 = V[1].x = (float)x;
V[0].y = V[2].y = (float)(y + h);
V[1].y = V[3].y = (float)y;
V[2].x = V[3].x = (float)(x + w);
pDevice->SetTexture(0, NULL);
pDevice->SetVertexShader(D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_TEX1);
pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,2,V,sizeof(Ve rtex));
}
void DrawBox(IDirect3DDevice9 *pDevice, int x, int y, int w, int h, D3DCOLOR col)
{
struct QuadVertex {
float x,y,z,rhw;
DWORD dwColor;
};
IDirect3DVertexBuffer9 *pVertexBuffer = NULL;
QuadVertex qV[4];
BYTE *pVertexData = NULL;
if (pDevice->CreateVertexBuffer((4*sizeof(QuadVertex)),(D3DUSA GE_WRITEONLY|D3DUSAGE_DYNAMIC),(D3DFVF_XYZRHW|D3DF VF_DIFFUSE),D3DPOOL_DEFAULT,&pVertexBuffer)<0) return;
pDevice->SetRenderState(D3DRS_ZENABLE , FALSE);
pDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
pDevice->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;
pDevice->SetStreamSource(0,pVertexBuffer, sizeof(QuadVertex));
pDevice->SetVertexShader( D3DFVF_XYZRHW | D3DFVF_DIFFUSE );
pDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 );
}
if (pVertexBuffer)
{
pVertexBuffer->Release();
pVertexBuffer=NULL;
}
pDevice->SetRenderState(D3DRS_LIGHTING, true);
}
|
funtz noch immer nciht jetzt kommen die Fehler :
1>------ Erstellen gestartet: Projekt: Hacks, Konfiguration: Debug Win32 ------
1> base.cpp
1>c:\users\nico\desktop\hacks\hacks\base.cpp(113) : error C2664: 'IDirect3DDevice9::SetVertexShader': Konvertierung des Parameters 1 von 'int' in 'IDirect3DVertexShader9 *' nicht möglich
1> Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
1>c:\users\nico\desktop\hacks\hacks\base.cpp(127) : error C2660: 'IDirect3DDevice9::CreateVertexBuffer': Funktion akzeptiert keine 5 Argumente
1>c:\users\nico\desktop\hacks\hacks\base.cpp(133) : error C2664: 'IDirect3DVertexBuffer9::Lock': Konvertierung des Parameters 3 von 'BYTE **' in 'void **' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>c:\users\nico\desktop\hacks\hacks\base.cpp(153) : error C2660: 'IDirect3DDevice9::SetStreamSource': Funktion akzeptiert keine 3 Argumente
1>c:\users\nico\desktop\hacks\hacks\base.cpp(154) : error C2664: 'IDirect3DDevice9::SetVertexShader': Konvertierung des Parameters 1 von 'int' in 'IDirect3DVertexShader9 *' nicht möglich
1> Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========