-
-
Notifications
You must be signed in to change notification settings - Fork 231
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
Add support of Quake 1 MDL files. #1310
Comments
http://tfc.duke.free.fr/coding/mdl-specs-en.html Looks like a pretty simple and open format. If youd like to contribute, I suggest joining our discord, we will assist you with the contribution:) |
Note that Assimp is supporting MDL files: https://github.com/assimp/assimp/blob/master/doc/Fileformats.md f3d/plugins/assimp/CMakeLists.txt Line 69 in f0ecafb
Can you try and tell us if it works fine with your files? |
Thank you for the Discord link. I'll join the discussion here.
I'll try that right away and tell you that! |
I have tried adding the following into
I may be missing a trivial step that I'm not aware of. |
Can you open a PR with the changes ? it would help us identify the issue. |
How do you run F3D in that case ? could you share the output and the errors ? Run with |
Hey @malespiaut , need any help with that ? Please open a PR so we can help :) |
After a quick investigation by @malespiaut , it looks like assimp will not cut it. We need a dedicated implementation. |
@malespiaut any news on that front ? :) |
hey @malespiaut , any news on that issue ? |
Hello @mwestphal Yes, I've copied A Quake1 MDL header look as follows: // identity ("IDPO"): 4 chars (4 bytes)
// version: 1 int (4 bytes)
//
// scaling factor: 3 floats (12 bytes)
// translation vector: 3 floats (12 bytes)
// bounding radius: 1 float (4 bytes)
// eye position: 3 floats (12 bytes)
//
// number of textures: 1 int (4 bytes)
// texture width: 1 int (4 bytes)
// texture height: 1 int (4 bytes)
//
// number of vertices: 1 int (4 bytes)
// number of triangles: 1 int (4 bytes)
// number of frames: 1 int (4 bytes)
//
// sync type (0: synchron, 1: random): 1 int (4 bytes)
// state flags: 1 int (4 bytes)
// position: 3 floats (12 bytes)
// scale: 3 floats (12 bytes)
// rotation: 4 chars (4 bytes)
// color+opacity: 4 chars (4 bytes) I'm sure it's dead simple, but I'm a C developper, and I'm quite new to the C++ synthax. I understand that you are using a C++ template to make arrays? Vectors? |
Let's communicate on the PR, I'll help you there. You can just use the C code for now if you're more familiar with it and we'll move that to C++ later. |
hey @malespiaut , what is the status of this ? |
With no feedback from @malespiaut , I'm remove the assignee |
Hello, I will look into this issue. |
Is someone still working on this issue? If not maybe I can work on it. |
no feedback, opening to contribution |
Is your feature request related to a problem? Please describe.
I would like to open Quake 1 MDL files with F3D, because it would be much simpler than importing the models in Blender, just to view them.
Describe the solution you'd like
Support of Quake 1 MDL files in F3D.
Describe alternatives you've considered
As of today, this simplest solution is to import the MDL in Blender. It's not difficult, but it take unnecessary time for a simple task.
It's also possible to use assimp to convert MDL to another format that F3D supports.
Additional context
n/a
Contribution
I'm a C developper. I would be happy to contribute this feature myself, but I know nothing about 3D programming, and very little about C++ programming.
The text was updated successfully, but these errors were encountered: