In directx8 and 8.1 sdk among mesh bounding box calculation algorithm is a function of the presence of a bug: D3DXComputeBoundingBox correct use is: LPD3DXMESH pxmesh = pMesh-> GetSysMemMesh (); BYTE * pPoints; if (D3D_OK = pxmesh-> LockVertexBuffer! (D3DLOCK_READONLY, & pPoints)) return false; DWORD dwNumVer = pxmesh-> GetNumVertices () 1; // note that this must be added 1 DWORD dwFVF = pxmesh-> GetFVF (); D3DXComputeBoundingBox (pPoints, dwNumVer, dwFVF, pMin, pMax ); Pxmesh-> unlockvertexbuffer (); this bug has been corrected in DX9.