Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creating libiqm #14

Open
schulzch opened this issue Mar 3, 2015 · 3 comments
Open

Creating libiqm #14

schulzch opened this issue Mar 3, 2015 · 3 comments

Comments

@schulzch
Copy link

schulzch commented Mar 3, 2015

I really like IQM for being simple, yet some aspects are quite a pain:

  1. Validation is not specified (ofs_ may not be within file bounds)
  2. Some fields are undocumented (semantics of flags, num_*, etc.)
  3. How to deal with models split into geometry and animation files?

Those issues could be resolved by providing a standard implementation, that deals with:

  • Iteration
  • Reading (endian swapping and validation)
  • Writing (endian swapping and computing some numbers)
  • Endian swapping
  • Optional: mesh optimization (see AMD Tootle)
  • Optional: compression (see OpenCTM)
  • Optional: file migration

I think this should be done using ANSI C to keep things simple. Any thoughts on this?

@graphitemaster
Copy link
Contributor

The file format is extremely simple. I see no reason other than convenience to have this. Mesh optimization need not apply here, that is the job of the artist, the exporter already optimizes indices indexing order for cache. Compression can be done with any existing standard generic compression technique (deflate for instance.) The IQM toolkit otherwise provides you with all the information needed to write your own reader / writer.

@schulzch
Copy link
Author

schulzch commented Jul 8, 2015

Yes and no: this is about convenience and correctness - there is virtually no reason to have independent implementations other than getting things W3C approved ;-)

@jansol
Copy link

jansol commented May 5, 2017

Another reason to have a library for this would be that it might make it easier to get native blender support to avoid the exporter breaking every other release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants