I'm currently working with D3D 11 and if I understood it correctly, D3D 10 had a mesh interface built in to it which was removed in 11.
If this is correct, why was the mesh interface removed? It seems like a useful interface to have.
I'm currently working with D3D 11 and if I understood it correctly, D3D 10 had a mesh interface built in to it which was removed in 11.
If this is correct, why was the mesh interface removed? It seems like a useful interface to have.
D3D10 core didn't have a mesh class; you're probably thinking of ID3DX10Mesh, which is actually part of the D3DX API. D3DX itself was wholly deprecated with Windows 8. The relevant math bits were moved into another library. The higher-level utility interfaces, like mesh, were not ported.
The API was removed because it was a continuation of the evolving focus of D3D and its related APIs: to become narrower in scope, more representative of only the underlying graphics hardware. APIs like the mesh interface were an attempt both to provide something much higher level than the GPU actually does, and to be a one-size-fits-all solution (which is often a lowest-common-denominator solution).
Furthermore, by divorcing the graphics library from the utility library, it's easier for Microsoft to utilize separate (and more appropriate) release vehicles for both, and easier for the components to be updated and versioned independently.
All of the above factors contributed significantly to the decision to deprecate the functionality (which had been underway since the 9-to-10 transition, when the built-in functionality to load meshes from .x
files vanished).
You should look at the DirectXTK or DirectXTK12 for potential replacements to interfaces you miss from D3DX.