Games for Windows and the DirectX SDK blog

Technical tips, tricks, and news about game development for Microsoft platforms including desktop, Xbox, and UWP


Project maintained by walbourn Hosted on GitHub Pages — Theme by mattgraham
Home | Posts by Tag | Posts by Month

DirectXMesh

codeplex, github

Originally 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
D3DXComputeTangentFrame
D3DXComputeTangentFrameEx
ComputeTangentFrame
ID3DX10Mesh::GenerateAdjacencyAndPointReps GenerateAdjacencyAndPointReps
ID3DX10Mesh::GenerateGSAdjacency GenerateGSAdjacency
ID3DX10Mesh::Optimize AttributeSort
OptimizeFacesEx
OptimizeVertices
ReorderIB
FinalizeIB
FinalizeVB
D3DXOptimizeFaces OptimizeFaces
D3DXOptimizeVertices OptimizeVertices
D3DXValidMesh Validate
D3DXWeldVertices WeldVertices
CompactVB
D3DXGetFVFVertexSize
D3DXGetDeclVertexSize
D3DXGetDeclLength
D3DXDeclaratorFromFVF
D3DXFVFFromDeclarator
FlexibleVertexFormat.h

vcpkg: The vcpkg C++ Package Manager has a directxmesh port available.

See also: DirectXTex, DirectXTK, DirectXMath