Jump to content
  • Advertisement
Sign in to follow this  
lucky6969b

Developing a "customized" 3D asset format involves developing a "customized" engine?

This topic is 1843 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am currently using the .X format, and if I want to be proprietary, so to speak, do I have to develop a complete new face of engine, As you know, you don't have things like D3DXLoadHierarchyMeshFromX then m_pAnimCtrl->AdvanceTime()

This requires a bit of expertise. Of course I do, but it does take some time to complete.

Thanks

Jack

Edited by lucky6969b

Share this post


Link to post
Share on other sites
Advertisement

If you want to develop your own asset format, then you will have to implement all the functions like "D3DXLoadHierarchyMeshFromX", which DirectX provides for meshes.

 

It would be better to first understand what exactly your engine can use (or does use) from the .X file. For example, I am in the process of developing an engine and I have defined a simple binary format, using which I load my meshes. As right now I am not doing any animations, so I have not updated my mesh converter to include animation data in the end format.

 

You will have to understand your engine's exact requirements and probably make an asset converter, which can convert your assets from formats like .fbx to your proprietary format. You may have to make a lot of changes in your asset loading module.

 

So, you may not require a lot of changes in your engine, but at least the loading mechanism has to be changed. Still, without knowing how you have implemented your engine, I can only speculate.

Share this post


Link to post
Share on other sites

A few years ago I had a problem where none of the exports for Blender were exporting meshes I could load, they all seemed to have little bugs (syntax issues and the like). In the end I decided to write my own mesh format and exporter for Blender. It ended up taking a few months but I was able to export a model and an animation for it and render this in a game. One of the pros are that you will know exactly what data is in the file and where it's come. But there are several cons, you will have to write an exporter which probably involves wading through sketchy documentation. You will also need to implement some new code that will be able to load the file, process it into a vertex and index buffer (just for a mesh) and then if you also need animations you will need to be able to process those into some data structure then write the code to manipulate the mesh so that it animates during run-time, something which is commonly done on the GPU which involves transferring lots of transformation matrices to the graphics card and manipulating the mesh data on a per vertex basis.

 

One of the important things to note that in order to do this you need to have a VERY solid understanding of what kind of data is actually in a mesh (ie. positions, normals, bone weights, uv coordinates, and indices) and how that data is used to build your mesh on the graphics card.

 

Overall it is a long process to implement but very rewarding, however if you can get away with using an existing system with no problems I would highly recommend saving yourself the large headache laugh.png 

 

-BiT 

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!