inexorgame-obsolete / deprecated-cube-engine-inexor

UNMAINTAINED: Please have a look at the vulkan-renderer
https://inexor.org
zlib License
12 stars 1 forks source link

Use FBX instead of IQM as standard model format in Inexor. #559

Open koppiman opened 6 years ago

koppiman commented 6 years ago

Due to the circumstance that md5 is an outdated format I suggest to migrate to FBX as standard format.

Note from IAmNotHanni: The discussion of a new player model has been separated into a new ticket. See #561.

IceflowRE commented 6 years ago

What is the point against iqm?

a-teammate commented 6 years ago

Not much, the last time we investigated on this, we found iqm to be a good choice (#499)

But there are also points against using iqm. while it is technically a good choice, it is lacking an ecosystem bigger than cube (and some really small other open source communities).

There is a format (made by Khronos, the organization making i.e. OpenGL and vulkan) for the exact same purpose (loading models fast from storage into GPU memory): https://github.com/KhronosGroup/glTF It is in contrast to IQM actively developed and hence seems to starts getting traction in the community.

Furthermore for data exchange the by far most popular model is indeed FBX. If you google for models online the majority will probably be in FBX. It had been unavailable to the open source world, since there only existed a proprietary SDK for loading/saving it and no simple description of the file format. The blender team changed that and reverse engineered that format, so now there are MIT licensed loaders for it as well. Still FBX won't be really fast to load.

Croydon commented 6 years ago

Is this now a ticket about new player models or a new model format? We need to stop mixing things up.

IAmNotHanni commented 6 years ago

Blender supports FBX export by default and it's way better documented. I've never been happy with iqm import/export scripts in Blender. They just never worked as intended.
It would be nice to use a new model loading library which is still being developed.

Fohlen commented 6 years ago

See https://github.com/assimp/assimp

a-teammate commented 6 years ago

We can use assimp as standalone tool (maybe as backend for a flex ui) to convert the models in an fast loadable format. But it is not a good choice for loading stuff fast, ive talked with their devs quite some time 3 years ago.

What they suggested fits precisely our general architecture with core being minimal: only support one model format in the backend (or at max two if there is really a specific thing a single format can not provide) https://github.com/inexorgame/inexor-core/issues/499 sums the design up. This issue here is about what the main model format should be of inexor. There can other ones be supported, but not as good as the main one probably. Assimp is just for the secondary model formats.