|
|
小弟我接触D3D编程不久。今天在做一个导入X文件的练习时,编译后出现了这个问题:BackG.exe 中的 0x004174d3 处未处理的异常: 0xC0000005: 写入位置 0x00000010 时发生访问冲突.发生错误的代码如下: //导入X文件
ID3DXBuffer* mtrlbuf = 0;//材质数据缓存
ID3DXBuffer* adjbuf = 0;//邻接信息缓存
DWORD nummtrl = 0;//材质种数
if (FAILED(D3DXLoadMeshFromX("SUN30MK.X",D3DXMESH_MANAGED,globle.g_Device,
&adjbuf,&mtrlbuf,0,&nummtrl,&globle.playej0Mesh)))
{
MessageBox(0,"Load SUN30MK.x false!",0,0);
return false;
}
globle.playej0mtrlnum = nummtrl;
D3DXMATERIAL* mtrls = new D3DXMATERIAL;
mtrls = (D3DXMATERIAL*)mtrlbuf->GetBufferPointer();
for (DWORD i = 0;i < nummtrl;i++)
{
mtrls.pTextureFilename = NULL;//没有纹理
globle.playej0mtrl.Ambient = mtrls.MatD3D.Diffuse;//提示这里出错
globle.playej0mtrl = mtrls.MatD3D;
}
请高手指点一下,谢谢~ |
|