Вобщем пытаюсь загрузить Хфайл в директ уже долго и все еще безуспешно.
Компилится нормально, но сама функция наубой отказывается работать.
просто пропускает ее при трейсе
если проверку убрать, то в следующих строках выкидывает "access violation". Логично, ведь указатели заведомо пустые, и с ними ничего не делается. сопсно код:
описание переменных членов
Code
IDirect3DDevice9 *ppiD3DDevice;
ID3DXMesh *pMesh;
D3DMATERIAL9 **paMaterials;
LPDIRECT3DTEXTURE9 **paTextures;
тело конструктора, который должен подгружать из файла
Code
LPD3DXBUFFER tmpMatBufferPointer=0;
DWORD SubsetNumber=0;
if (S_OK == D3DXLoadMeshFromX("CUBE.X",D3DXMESH_MANAGED,ppiDevice,NULL,
&tmpMatBufferPointer,NULL,&SubsetNumber,&pMesh))
{
// D3DXMATERIAL* tmpMaterials = (D3DXMATERIAL*)tmpMatBufferPointer->GetBufferPointer();
(*paTextures) = new LPDIRECT3DTEXTURE9[SubsetNumber];
(*paMaterials) = new D3DMATERIAL9[SubsetNumber];
for(DWORD i=0;i<SubsetNumber;i++)
{
(*paMaterials)[i].Ambient.r=255;
(*paMaterials)[i].Ambient.g=255;
(*paMaterials)[i].Ambient.b=255;
(*paTextures)[i]=NULL;
}
}
работаю в VS2008 сопсно прошу помощи тех, кто может заставить ее работать.