What is the MESH file format?
.mesh is a file format associated with the DirectX SDK's SDKMESH binary container. Each .mesh file contains a 3D geometric model used for rendering objects in DirectX sample applications, tutorials, and games that support DirectX technology.
SDKMESH stores vertex buffers, index buffers, mesh subsets, a frame (bone) hierarchy for skeletal animation, and material definitions that include texture file paths. The format exists in two versions: v1 uses traditional diffuse/specular materials (DirectX 9, 10, and 11 era samples), while v2 adds PBR (Physically Based Rendering) material support for DirectX 11 and 12.
DirectX is Microsoft's technology for developing applications on Windows systems and Xbox game consoles. Its main purpose is rendering graphics in games and software applications. DirectX 12 is the current version. SDKMESH was introduced around 2008 as a successor to the legacy .x format for SDK sample code, and remains in use in DirectX 12 tutorials.
SDKMESH is a developer and sample tool - not intended for production game shipping. Modern projects use glTF or FBX for asset interchange; the ContentExporter tool converts FBX to SDKMESH for use in SDK samples. Note that the .mesh extension is also used by unrelated engines such as Ogre3D and Godot with entirely different binary structures.
Security & safety
RISK: LOWSDKMESH files are pure 3D data with no executable content. Risk is very low. As with any file whose extension (.mesh) is shared by many different programs, verify the source before opening unknown .mesh files in game engine tools.
Format details
in a nutshell- Ogre3D Mesh File - Ogre3D game engine uses .mesh for its own binary 3D mesh format (magic bytes: header 'MESH' or Ogre serializer header); unrelated to DirectX SDK.
- Godot Mesh Resource (legacy) - Older Godot Engine versions used .mesh for binary mesh resources; current Godot uses .res/.tres.
- Generic 3D mesh (multiple tools) - Many 3D tools (custom exporters, game engines) use .mesh as a generic extension for binary or XML mesh data with no common standard.
Programs that open MESH files
Technical details
deep spec| Full format name | SDKMESH - DirectX SDK Sample Mesh binary format |
| Header version field | `uint32_t` Version field: `101` = SDKMESH v1 (legacy materials); `200` = SDKMESH v2 (PBR materials) |
| Byte order | Little-endian (IsBigEndian flag present in header for explicit declaration) |
| Container structure | Two-part binary layout: (1) static data section - header, vertex/index buffer descriptors, mesh records, materials; (2) buffer data section - raw vertex and index arrays |
| Index data types | 16-bit or 32-bit unsigned integers (per index buffer declaration) |
| v1 material model | Traditional diffuse/specular - used in DirectX 9, 10, and 11 SDK samples |
| v2 material model | PBR (Physically Based Rendering) - albedo, roughness, metallic maps; used in DirectX 11/12 Tool Kit samples |
| Bone hierarchy support | Frame records with parent/child relationships for skeletal animation |
| Typical size | 50 KB - 50 MB depending on polygon count and texture references |
| Associated OS | Windows, Xbox (DirectX-based consoles) |
| Creating tool | `ContentExporter` (microsoft/content-exporter on GitHub) - converts FBX to SDKMESH |
| Loading APIs | DXUT `CDXUTSDKMesh` loader; DirectX Tool Kit (`DirectXTK`) `Model` class |
| Extension collision | `.mesh` is also used by Ogre3D, Godot, and other engines with completely different binary formats |
| Released | circa 2008 (Direct3D 10 SDK samples; replacement for legacy .x format) |
| Latest version | SDKMESH v2 (introduced with DirectX Tool Kit DX11/DX12 for PBR materials) |
| Specification | github.com |
MESH conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about MESH files.