Все разобрался оказалось даже проще:
void MoveEntity(D3DXMATRIX& m,float dx,float dy,float dz)
{
m._11 = 1; m._12 = 0; m._13 = 0; m._14 = 0;
m._21 = 0; m._22 = 1; m._23 = 0; m._24 = 0;
m._31 = 0; m._32 = 0; m._33 = 1; m._34 = 0;
m._41 += dx; m._42 += dy; m._43 += -dz; m._44 = 1;
}
Токо после инициализации D3DXMATRIX matView,matViewPos(к примеру)...
нужно обьявлять явно матрици которые инициализированы и токо тогда все будет как надо перемещаться:
НАПРИМЕР:
D3DXMATRIX matWorldPos;
matWorldPos._11 = 1; matWorldPos._12 = 0; matWorldPos._13 = 0; matWorldPos._14 = 0;
matWorldPos._21 = 0; matWorldPos._22 = 1; matWorldPos._23 = 0; matWorldPos._24 = 0;
matWorldPos._31 = 0; matWorldPos._32 = 0; matWorldPos._33 = 1; matWorldPos._34 = 0;
matWorldPos._41 = 0; matWorldPos._42 = 0; matWorldPos._43 = 10; matWorldPos._44 = 1;
dev->SetTransform(D3DTS_WORLD,&matWorldPos);