Thread: 3ds importer
View Single Post
Old 25th October 2003, 09:23 AM   #1
Junior Member
Join Date: Sep 2003
Posts: 13
Default 3ds importer

I am tired of using my programs to convert .3ds in ac3d usable .3ds format and then back to for-me-usable format, so I have started writing a .3ds import plugin using lib3ds.
A few problems have come up by now:
I started by copying the dxf importer and then modified for my needs, i.e. I have a line
ac_register_file_importer(".3ds", "3ds files", do_lib3ds_load, "plugin, version 0.1, by Andreas Beckermann");
In it. Unfortunately, when I click "import" in ac3d, select the entry "3ds files" and then import a file, my plugin is definitely not used (there are textures visible, although its not yet implemented). The default .3ds code of ac3d is used. If I replace the above line by
ac_register_file_importer(".3ds1", "3ds1 files", do_lib3ds_load, "plugin, version 0.1, by Andreas Beckermann");
(3ds -> 3ds1)
and rename my file to *.3ds1, it works perfectly. Any way around this?

A few (smaller, more code relevant) questions:
- ac_plugin.h contains a fuction object_clone(). What does this do? Is it copying/cloning all vertices of that object, or does it just clone the object which then references the original vertices?
- Is there a way to set a matrix for an object? Do translate_object_*() and friends change the vertices or do they change the vertices of the object? (atm I am simply transforming all vertices by the 3ds matrices and then apply the final values to ac3d - I'd like to change this)
- how to apply a material to an object?

andi is offline   Reply With Quote