|
|

楼主 |
发表于 2006-1-18 20:49:00
|
显示全部楼层
Re:请教问题DX中的LPDIRECT3DVERTEXBUFFER8
不知道哪位有这方面的经验,我想其中肯定有什么毛病,因为如果像这样来使用就不会出现问题,程序会运行得很正常.先定义一个LPDIRECT3DVERTEXBUFFER8的变量,然后并不需要对其作任何建立工作,而是从一个ID3DXMesh对象中获得其VertexBuffer,然后再使用Lock函数,会工作得很好,代码片断如下:
LPDIRECT3DVERTEXBUFFER8 pVB;
m_pObject->GetLocalMesh()->GetVertexBuffer( &pVB );
struct VERTEX { D3DXVECTOR3 p, n; FLOAT tu; FLOAT tv; };
VERTEX* pVertices;;
pVB->Lock( 0,0,(BYTE**)&pVertices, 0 );
//这里是一些复制内存的代码
pVB->Unlock();
pVB->Release();
以上代码中使用了LPDIRECT3DVERTEXBUFFER8这个结构,但是程序运行时却不会出现任何错误,但是pVB结构中的数据却不是空的了,不知道哪位高人知道如何来使用LPDIRECT3DVERTEXBUFFER8,我会继续尝试,对此论坛关注中. |
|