| 
 | 
 
 
发表于 2003-12-9 21:09:00
|
显示全部楼层
 
 
 
Re:dx9中用d3d画直线的问题
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE) 
 
struct CUSTOMVERTEX 
{ 
        FLOAT x, y, z;      // 顶点坐标 
        DWORD color;        // 顶点颜色 
}; 
 
LPDIRECT3DVERTEXBUFFER9 lpVB; 
 
CUSTOMVERTEX* pVertices = NULL; 
m_pDevice->CreateVertexBuffer(2*sizeof(CUSTOMVERTEX),0,D3DFVF_CUSTOMVERTEX, 
                D3DPOOL_DEFAULT,&lpVB,NULL); 
 
lpVB->Lock(0,0,(void**)&pVertices,0); 
pVertices[0].x=0.0f; 
pVertices[0].y=0.0f; 
pVertices[0].z=0.0f; 
pVertices[0].color=0xffffffff; 
 
pVertices[1].x=100.0f; 
pVertices[1].y=100.0f; 
pVertices[1].z=100.0f; 
pVertices[1].color=0xffffffff; 
lpVB->Unlock(); 
 
m_pDevice->Clear(0,NULL,D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER,D3DCOLOR_XRGB(0,0,255), 1.0f, 0 ); 
m_pDevice->BeginScene(); 
m_pDevice->SetStreamSource( 0, lpVB,0, sizeof(CUSTOMVERTEX) ); 
m_pDevice->SetFVF(D3DFVF_CUSTOMVERTEX); 
m_pDevice->DrawPrimitive( D3DPT_LINELIST,0,1); 
m_pDevice->EndScene(); 
 
lpVB->Release(); 
lpVB=NULL; 
 
我没测试,错了别骂我 |   
 
 
 
 |