An open source sdkmesh to obj converter supports multiple meshes conversion made in Intel VCE group
Visual Studio version: Vision Studio 2015 Update3
link for reference: https://github.com/StanwieCB/sdkmesh-to-obj
The .sdkmesh format is a binary format standard provided by MicroSoft exclusively for DirectX >= 9.0
Sdkmesh uses header + buffer structure. The headers contains detailed declaration for GPU device and the buffers contains consecutive binary vertex buffers and index buffers
Headers include:
- Sdkmesh header
- Sdkmesh vertex buffer headers
- Sdkmesh index buffer headers
- Sdkmesh meshes
- Sdkmesh subsets
- Sdkmesh frames
- Sdkmesh materials
More details can be found in Microsoft Definition.
There are two typical vertex structures provided in this project PosNormTexTan
and PosNormTexTan_9
To determine the actual data structure (like how many bits) used for vertex elements, postion and normal e.g, you must decode the vertex buffer header's declaration first and refer to D3DDECLTYPE for detailed discription.
The .obj format is a general text-encoded model format
More details can be found in OBJ wiki
The .mtl format is a byproduct format for .obj material discription. Meshes in the .obj file use usmtl to designate material type in the .mtl file.
Open sdkmesh-to-obj.sIn, build and run it. (my Visual Studio version: Vision Studio 2015 Update3)
Change your vertex element structure for vertex buffer vector first or implement your own vertex element structure for loading and writing! (Current supported PosNormTexTan
and PosNormTexTan_9
)
sdkmesh-to-obj.exe -i input_file_path -o output_file_path
example:
sdkmesh-to-obj.exe -i Squidroom.sdkmesh -o S_room.obj
- Limited implementation for vertex structure
- currently no support for animation
Yiheng Zhang
Visual Computing Enabling Group
Intel Asia-Pacific R&D