Skip to content
DirectXMesh geometry processing library
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.nuget NuGet update Jul 1, 2019
DirectXMesh Added command-line utility to cmake project Jul 12, 2019
Meshconvert Added command-line utility to cmake project Jul 12, 2019
Utilities Added command-line utility to cmake project Jul 12, 2019
.editorconfig Added editorconfig May 10, 2018
.gitattributes Added attributes Aug 19, 2016
.gitignore Added command-line utility to cmake project Jul 12, 2019
CMakeLists.txt Added command-line utility to cmake project Jul 12, 2019
CMakeSettings.json Added command-line utility to cmake project Jul 12, 2019
DirectXMesh_Desktop_2015_Win10.sln Added PC desktop VS 2015 project for Windows 10 SDK Aug 5, 2016
DirectXMesh_Desktop_2017.sln Added editorconfig May 10, 2018
DirectXMesh_Desktop_2017_Win10.sln Added editorconfig May 10, 2018
DirectXMesh_Desktop_2019_Win10.sln Fix version number in VS2019 solution files Apr 11, 2019
DirectXMesh_Windows10_2015.sln Added VS 2015 version of Windows 10 projects Oct 12, 2017
DirectXMesh_Windows10_2017.sln Renamed DirectXMesh_Windows10.vcxproj to _Windows10_2017.vcxproj, add… Jul 1, 2019
DirectXMesh_Windows10_2019.sln Renamed DirectXMesh_Windows10.vcxproj to _Windows10_2017.vcxproj, add… Jul 1, 2019
DirectXMesh_XboxOneXDK_2015.sln Normalize line endings Aug 22, 2016
DirectXMesh_XboxOneXDK_2017.sln Added editorconfig May 10, 2018
LICENSE Updated copyright year Jan 1, 2019
ReadMe.txt June 30, 2019 Jul 1, 2019



Copyright (c) Microsoft Corporation. All rights reserved.

June 30, 2019

This package contains DirectXMesh, a shared source library for performing various geometry
content processing operations including generating normals and tangent frames, triangle
adjacency computations, and vertex cache optimization.

This code is designed to build with Visual Studio 2015 Update 3, Visual Studio 2017,
or Visual Studio 2019. It is recommended that you make use of VS 2015 Update 3,
Windows Tools 1.4.1, and the Windows 10 Anniversary Update SDK (14393) -or-
VS 2017 (15.9 update) / VS 2019 with the Windows 10 October 2018 Update SDK (17763).

These components are designed to work without requiring any content from the
legacy DirectX SDK. For details, see "Where is the DirectX SDK?"

    This contains the DirectXMesh library.

    Note that the majority of the header files here are intended for internal implementation
    of the library only (DirectXMeshP.h and scoped.h). Only DirectXMesh.h is meant as a
    'public' header for the library.

    This contains helper code related to mesh processing that is not general enough to be
    part of the DirectXMesh library.

         WaveFrontReader.h - Contains a simple C++ class for reading mesh data from a WaveFront OBJ file.

    This DirectXMesh sample is an implementation of the "meshconvert" command-line texture utility
    from the DirectX SDK utilizing DirectXMesh rather than D3DX.

    Note this tool does not support legacy .X files, but can export CMO, SDKMESH, and VBO files.

All content and source code for this package are subject to the terms of the MIT License.

Documentation is available at <>.

For the latest version of DirectXMesh, bug reports, etc. please visit the project site.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the
Code of Conduct FAQ or contact with any additional questions or comments.


* The VS 2017/2019 projects make use of /permissive- for improved C++ standard
  conformance. Use of a Windows 10 SDK prior to the Fall Creators Update (16299)
  or an Xbox One XDK prior to June 2017 QFE 4 may result in failures due to
  problems with the system headers. You can work around these by disabling this
  switch in the project files which is found in the <ConformanceMode> elements.

* The VS 2017 projects require the 15.5 update or later. For UWP and Win32
  classic desktop projects with the 15.5 - 15.7 updates, you need to install the
  standalone Windows 10 SDK (17763) which is otherwise included in the 15.8.6 or
  later update. Older VS 2017 updates will fail to load the projects due to use
  of the <ConformanceMode> element. If using the 15.5 or 15.6 updates, you will
  see "warning D9002: ignoring unknown option '/Zc:__cplusplus'" because this
  switch isn't supported until 15.7. It is safe to ignore this warning, or you
  can edit the project files <AdditionalOptions> elements.

* The UWP projects include configurations for the ARM64 platform. These require
  VS 2017 (15.9 update) or VS 2019 to build.


June 30, 2019
    Clang/LLVM warning cleanup
    Renamed DirectXMesh_Windows10.vcxproj to _Windows10_2017.vcxproj
    Added VS 2019 UWP project

May 30, 2019
    Added CMake project files
    Code cleanup

April 26, 2019
    Added VS 2019 desktop projects
    Officially dropped Windows Vista support
    WaveFrontReader utility header updated for RMA texture in MTL

February 7, 2019
    meshconvert: added -sdkmesh2 switch for PBR materials
    WaveFrontReader utility header updated for some extended material textures

November 16, 2018
    VS 2017 updated for Windows 10 October 2018 Update SDK (17763)
    ARM64 platform configurations added to UWP projects

October 25, 2018
    Use UTF-8 instead of ANSI for narrow strings
    Minor project fix

August 17, 2018
    Updated for VS 2017 15.8
    Code cleanup

July 3, 2018
    Code and project cleanup
    meshconvert: added -ib32 switch

May 31, 2018
    VS 2017 updated for Windows 10 April 2018 Update SDK (17134)

May 11, 2018
    Updated for VS 2017 15.7 update warnings
    Code and project cleanup
    Retired VS 2013 projects

April 23, 2018
    Code and project cleanup

February 7, 2018
    New functions: WeldVertices, CompactVB
    Added new optional parameter to OptimizeVertices
    Fixed bug in remap functions which were applying vertex remaps backwards
    - FinalizeIB, FinalizeVB, and FinalizeVBAndPointReps
    meshconvert: added -oplru switch
    WaveFrontReader utility header made more robust
    Minor code cleanup

December 13, 2017
    Updated for VS 2017 15.5 update warnings
    Support building library with _XM_NO_XMVECTOR_OVERLOADS_
    Added support for relative face indices to WaveFrontReader.h utility header

November 1, 2017
    VS 2017 updated for Windows 10 Fall Creators Update SDK (16299)
    Code reformat and cleanup

September 22, 2017
    Updated for VS 2017 15.3 update /permissive- changes
    meshconvert: added -flist option
    Minor code cleanup

July 28, 2017
    Code cleanup

April 24, 2017
    VS 2017 project updates

April 7, 2017
    VS 2017 updated for Windows Creators Update SDK (15063)
    VBReader/VBWriter GetElement adapter for GetElement11

January 31, 2017
    DirectX 12 support for VBReader, VBWriter, IsValid, and ComputeInputLayout
    *breaking change*: VBReader/VBWriter method GetElement method now named GetElement11 for DirectX 11

October 27, 2016
    x2bias optional parameter for VB reader/writer
    Code cleanup

September 14, 2016
    meshconvert: added wildcard support for input filename and optional -r switch for recursive search
    Code cleanup

August 2, 2016
    Updated for VS 2015 Update 3 and Windows 10 SDK (14393)

July 19, 2016
    meshconvert command-line tool updated with -flipu switch

June 27, 2016
    Code cleanup

April 26, 2016
    Retired VS 2012 projects and obsolete adapter code
    Minor code and project file cleanup

November 30, 2015
    meshconvert command-line tool updated with -flipv and -flipz switches; removed -fliptc
    Updated for VS 2015 Update 1 and Windows 10 SDK (10586)

October 30, 2015
    Minor code cleanup

August 18, 2015
    Xbox One platform updates

July 29, 2015
    Updated for VS 2015 and Windows 10 SDK RTM
    Retired VS 2010 projects
    WaveFrontReader: updated utility to minimize debug output

July 8, 2015
    Minor SAL fix and project cleanup

March 27, 2015
    Added projects for Windows apps Technical Preview
    Fixed attributes usage for OptimizeFacesEx
    meshconvert: fix when importing from .vbo
    Minor code cleanup

November 14, 2014
    meshconvert: sample improvements and fixes
    Added workarounds for potential compiler bug when using VB reader/writer

October 28, 2014
    meshconvert command-line sample
    Added VBReader/VBWriter::GetElement method
    Added more ComputeTangentFrame overloads
    Explicit calling-convention annotation for public headers
    Windows phone 8.1 platform support
    Minor code and project cleanup

June 27, 2014
    Original release
You can’t perform that action at this time.