gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS homebrew announcements > 3D model converter released for Windows.

#147697 - Dark Knight ez - Wed Dec 26, 2007 1:22 pm

I've ported my 3D model converter to Windows as a command-line tool.
It converts 3D models in a .x format to NDS display lists.
Run it without any arguments to see how it should be used.

Go to my website to get it.

I've added all the options I could think of. Scaling, disabling normals to save space, outputting in .C format or in a .bin format, what texture size you use (default is 128x128). That sort of stuff.

So, I hope you 3D modelers out there can make use of this.
Happy holidays to everyone.
_________________
AmplituDS website

#148726 - Dark Knight ez - Wed Jan 09, 2008 12:18 pm

Just wanted to remark there's a new version out.
Only (small) change is that it now also supports .x 3D model files which have a bit of a different layout than what I was familiar with at first.
Not going to make a big deal out of it, so this post is all you'll hear of from me about it.
_________________
AmplituDS website

#148820 - PadrinatoR - Thu Jan 10, 2008 9:12 pm

Hi!

Great work! Thank you! :D

Can you recommend me a .X exporter that works right with your converter?

I'm using 3D Studio Max 9.0 + Panda DirectX Exporter and it doesn't work right :S

Thank you in advance!

Bye!
_________________
DSAmp: control Winamp with your Nintendo DS

#148825 - Dark Knight ez - Thu Jan 10, 2008 10:30 pm

MilkShape3D, and at least one other program.
Anyway, make sure it exports to ASCII .x format. If you put it in notepad afterwards, it should look structured and semi-readable.
An example of the .x format I support is available in the old model tools for NDS download.

Maybe 3D Studio Max can export to the ASCII .x format, I don't know. If not, I'm afraid you might have to use either MilkShape or another 3D modelling program.

... I hate it when I'm not much help with these things. I have 0 experience with actual 3D modelling. -_-'
_________________
AmplituDS website

#148829 - PadrinatoR - Thu Jan 10, 2008 10:40 pm

Thank you for this fast answer! :D

I export to ASCII .x format, but there may be some differences from Milkshape's format because your converter aborts the conversion while it's reading the model normals.

Anyway, I'll try with Milkshape. Thank you again!

Bye!
_________________
DSAmp: control Winamp with your Nintendo DS

#148838 - Dark Knight ez - Fri Jan 11, 2008 1:27 am

If you could upload the .x format it creates, I'll see if I can add support for it. (If it's similar enough.)
_________________
AmplituDS website

#148925 - PadrinatoR - Sat Jan 12, 2008 12:16 am

It's a simple cube and it's loaded perfectly in other mesh viewers.

http://www.box.net/shared/aq5et7osow

Where can I get more info about the display list format? I'm thinking about using some engine like Irrlicht in order to get the mesh info and then export it to a display list. It would be so useful because Irrlicht can read a lot of 3d formats. I could use your 'displaylistlib' if you authorize me to do it.

Bye!
_________________
DSAmp: control Winamp with your Nintendo DS

#148929 - M3d10n - Sat Jan 12, 2008 3:31 am

Dark Knight ez, I assume are you parsing the .x file yourself? If you don't have any plans of porting your converter to Linux or OSX, you can vastly increase the compatibility with the various .x layouts by using the DirectX SDK.

The D3DX library is a DirectX equivalent to GLU and GLUT, and provides functions for reading .x files.

#148943 - PadrinatoR - Sat Jan 12, 2008 10:53 am

M3d10n wrote:
Dark Knight ez, I assume are you parsing the .x file yourself? If you don't have any plans of porting your converter to Linux or OSX, you can vastly increase the compatibility with the various .x layouts by using the DirectX SDK.

The D3DX library is a DirectX equivalent to GLU and GLUT, and provides functions for reading .x files.


I think Irrlicht is more powerful and portable, because it provides you the same interface to accede into mesh information independently of the model format, it supports a lot of formats (.x, .mesh, .3ds, etc.) and it's portable. You only have to get rid of animations and that's all.
_________________
DSAmp: control Winamp with your Nintendo DS

#148950 - Dark Knight ez - Sat Jan 12, 2008 1:03 pm

Quote:
It's a simple cube and it's loaded perfectly in other mesh viewers.

Ah, it didn't work because there no texture coordinates were stored.
I'll see if I can get it to work without if none are found in the textfile.

Quote:
Dark Knight ez, I assume are you parsing the .x file yourself? If you don't have any plans of porting your converter to Linux or OSX, you can vastly increase the compatibility with the various .x layouts by using the DirectX SDK.

Yes, parsing it myself. I've seen other model conversion tools which use the library, but failed to work for some(?) people for reasons I am unaware of. If anyone wants to rewrite my tool to do use the library, feel free to, as the source is freely available in the download with no license attached.

Quote:
I could use your 'displaylistlib' if you authorize me to do it.

By all means, feel free to use it. Like I just said, everyone's free to use, modify and distribute it in any way.

Release edit:
And a new version is out which fixes your problem, Padrinator. Easy fix.
_________________
AmplituDS website

#148952 - PadrinatoR - Sat Jan 12, 2008 1:58 pm

Thank you very much :D
_________________
DSAmp: control Winamp with your Nintendo DS

#149908 - PadrinatoR - Sat Jan 26, 2008 9:47 pm

Hi again!

I've written my own mesh converter using your display list library (thanks!!) and Irrlicht. It converts .x, .3ds, .md2 and .mesh without any problem.

In addition, I've written an animated mesh converter and it works really good but I don't like the way it works...

It exports a display list for each animation frame, and as you could think, it generates a very big file (I save texture coordinates, normals and vertex colours but last two can be disabled), so now I have to take a decision: generate a display list for each animation frame, which is faster but generates a very big file, or create my own animated mesh format and save only the necessary data, and then use the normal gl*** commands to draw it. This last option will take worse performance but less memory will be needed.

What's your opinion? What should I do? Is there any better way to save animations for the DS? :S:S

Thank you in advance!
_________________
DSAmp: control Winamp with your Nintendo DS

#149913 - tepples - Sun Jan 27, 2008 12:36 am

Or you can push a matrix for each bone and then have the display list pop several matrices. I seem to remember a discussion about First Hunt doing this.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.