Jump to content

View more

Image of the Day

#ld38 #screenshotsaturday Mimosa Fizz action gif #2 https://t.co/TUzdppvfUL
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

Sign up now

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

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
2 replies to this topic

#1 lucky6969b   Members   


Posted 31 May 2013 - 04:53 AM

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.



Edited by lucky6969b, 31 May 2013 - 04:55 AM.

#2 Prateek Malhotra   Members   


Posted 31 May 2013 - 09:04 AM

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.

#3 RnaodmBiT   Members   


Posted 31 May 2013 - 09:18 PM

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 



Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.