cuinjune / Ofelia

A real-time cross-platform creative coding tool for multimedia development
GNU General Public License v3.0
367 stars 21 forks source link

Loading 3d models (.obj files) #3

Open virusys opened 6 years ago

virusys commented 6 years ago

Hi there,

I have been experimenting with this library for a little while and it's amazing!

I was trying to figure out how to load 3d models from .obj files today, but it doesn't seem like this feature is available yet?

If I wanted to create my own external based off of ofxAssimpModelLoader how would I go about doing this?

Thanks!

cuinjune commented 6 years ago

Hi @virusys

Thank you for your interest in ofelia. Like you said, loading 3d models is not implemented in ofelia 1.0.8. Although adding an object that simply loads and draws 3d models would be a quite simple, (https://openframeworks.cc/learning/05_3d/3d_example_how_to/) making it fully usable with other ofelia objects would be tricky. (https://openframeworks.cc/documentation/ofxAssimpModelLoader/ofxAssimpModelLoader/)

I'd suggest you wait until the next ofelia 2.0.0 is available to be used. The new version will have all features of openFrameworks core API. I'm planning to officially release it within a month or two.

The development is more or less done (it's already uploaded to Deken actually) but I need to make documents, examples and some abstractions.

virusys commented 6 years ago

Thank you for getting back to me @cuinjune!

I tried installing 2.0.0 via deken (twice, the second time deleting the entire ofelia folder before trying), and it resulted in none of the objects being able to load. Going back to v1.0.8 works fine though.

In any case, I will be patient and wait for the new version to arrive! Is this something you could use some help with?

virusys commented 6 years ago

Hi again — I noticed 2.0.0 it out now, can you tell me how I can load .obj files with the new version?

Thanks!

cuinjune commented 6 years ago

Hi @virusys I'm sorry for the delay.

Unfortunately, I just figured out ofxAssimpModelLoader which allows you to load .obj files is not part of openFrameworks core API which ofelia v2 uses. (through ofxLua) My apologies for not checking this earlier.

Therefore I need to write the binding for the addon in order for users to use the feature. For now, I don't have a specific plan but I will definitely add the feature to ofelia at some point.

grabanton commented 3 years ago

Is this feature still not added?

virusys commented 3 years ago

@grabanton No, unfortunately — I took a stab at writing the bindings myself a while back and I think I got about 75% there but it was not quite working.

MJVville commented 1 year ago

According to this , for ofxLua it is possible to use SWIG to create Lua bindings automatically for other addons. Would it be possible to use a similar process in this case? I am interested in not only ofxAssimpModelLoader, but being able to add any openframeworks addon to ofelia. Would that be possible?

Also I have been trying to build the ofelia external with Visual Studio and I've been having a lot of trouble with it. But I noticed there is a folder (OF/addons/ofxOfelia/libs) which has the addons for it to build into the external. Perhaps I'm not understanding how it works, but would it work to put any other openframeworks addon into that folder?

MJVville commented 1 year ago

@cuinjune In any case, I am very interested in getting this to work, so I am willing to learn to make the Lua bindings. Do you know where I could learn how to do that?

cuinjune commented 1 year ago

Hi, please check out these repositories:

virusys commented 1 year ago

@MJVville for what it's worth, this repository has some examples of loading 3d models in .ply format: https://github.com/60-hz/Ofelia-Fast-Prototyping.git

They also have a unique approach to Ofelia and contain many other useful examples.

@cuinjune thank you for the link to that swig-openframeworks repo! I will hopefully find it useful in the near future.