-
Notifications
You must be signed in to change notification settings - Fork 151
Geometry formats
The DirectXMesh library does not include file I/O operations for reading or writing geometry, and is focused on processing memory buffers of indices and vertices. The primary reason for this design decision is that there are numerous geometry formats all of which have various pros and cons, and it is extremely difficult to write a policy-neutral, generally useful mesh library that presumes specific formats are in use.
There are a number of geometry container formats that are in common use with Direct3D:
The Autodesk FBX file format is an interchange format for 3D assets. It is extremely useful as a source file format, but makes a poor runtime format as it's far too heavy-weight. The most common use of the FBX SDK is to create exporters that extract the needed data and writing to the a custom runtime format.
Compiled Mesh Object (CMO) is a simple runtime format that is supported by the Visual Studio content pipeline (VS 2012, VS 2013). This support provides the ability for Visual Studio to build a CMO from an Autodesk FBX, Collada DAE, or Wavefront OBJ file.
CMO is supported as a runtime format for DirectXTK's Model class.
Visual Studio content pipeline
To aid in debugging, here is a simple console program for dumping out the content of a CMO in a human-readable form.
cmodump.cpp
Collada DAE is a interchange format for 3D assets that is useful as a source format, but makes a poor choice as a runtime format.
The SDKMesh format is a sample runtime format that was created for Direct3D 10 as a replacement for the legacy X File format for use in the DirectX SDK samples.
SDKMESH is supported as a runtime format by DXUT's CDXUTSDKMesh loader class and DirectXTK's Model class.
To aid in debugging, here is a simple console program for dumping out the content of a SDKMESH/SDKMESH_ANIM file in a human-readable form.
sdkmeshdump.cpp
See SDKMESH
Vertex Buffer Object (VBO) is an extremely simple mesh format originally defined by the Windows 8.0 Resource Loading sample.
VBO is supported as a runtime format for DirectXTK's Model class.
To aid in debugging, here is a simple console program for dumping out the content of a VBO in a human-readable form.
vbodump.cpp
See VBO
All content and source code for this package are subject to the terms of the MIT License.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
- Universal Windows Platform apps
- Windows desktop apps
- Windows 11
- Windows 10
- Windows 8.1
- Xbox One
- Xbox Series X|S
- Windows Subsystem for Linux
- x86
- x64
- ARM64
- Visual Studio 2022
- Visual Studio 2019 (16.11)
- clang/LLVM v12 - v18
- GCC 10.5, 11.4, 12.3
- MinGW 12.2, 13.2
- CMake 3.20
DirectX Tool Kit for DirectX 11