DirectXMesh
codeplex, githubOriginally posted to Chuck Walbourn's Blog on MSDN,
A number of my projects over the past few years have been to provide modern replacements for the full range of functionality provided in the now legacy D3DX library: DirectXMath in the Windows 8.x SDK, DirectX Tool Kit and the DirectXTex texture processing libraries on CodePlex. To round out that set, I’ve created DirectXMesh for geometry processing functionality such as computing triangle adjacency, computing normals and tangent frames, and vertex cache optimization.
DirectXMesh is hosted on CodePlexGitHub. The latest version of the library, documentation, notes on future work, release history, and other information is available there.
Platforms: The code is designed to build with the Windows 8.x SDK using Visual Studio 2010, 2012, or 2013 and works on Windows Vista, Windows 7, Windows 8.x Win32 desktop, Windows Store apps, and Xbox One.
Update: Meshconvert, a sample using DirectXMesh that is a command-line tool replacement for the DirectX SDK sdkmesh conversion utility, is now available on GitHub.
Porting Notes
Here’s a handy table of equivalents for D3DX (see Living without D3DX for a complete listing):
D3DXCleanMesh |
Clean |
D3DXComputeNormals |
ComputeNormals |
D3DXComputeTangent |
ComputeTangentFrame |
ID3DX10Mesh::GenerateAdjacencyAndPointReps |
GenerateAdjacencyAndPointReps |
ID3DX10Mesh::GenerateGSAdjacency |
GenerateGSAdjacency |
ID3DX10Mesh::Optimize |
AttributeSort |
D3DXOptimizeFaces |
OptimizeFaces |
D3DXOptimizeVertices |
OptimizeVertices |
D3DXValidMesh |
Validate |
D3DXWeldVertices |
WeldVertices |
D3DXGetFVFVertexSize |
FlexibleVertexFormat.h |
vcpkg: The vcpkg C++ Package Manager has a directxmesh port available.
See also: DirectXTex, DirectXTK, DirectXMath