TagStudio icon indicating copy to clipboard operation
TagStudio copied to clipboard

feat: Add 3d object rendering using open3d

Open JonatanNevo opened this issue 1 year ago • 8 comments

Implementation for issue #351

This is a WIP, I cannot get open3d to behave nicely with multithreading so I am rendering each image one at a time and it takes a while.

If anyone has any suggestions I would love to hear it

JonatanNevo avatar Jan 08 '25 20:01 JonatanNevo

I'm afraid that this appears to almost instantly segfault for me, so I'm unable to test or help out with this implementation as it is... The new core imports also need to be prepended by src., so they'll look something like "from src.core.utils.singleton import Singleton" - this was something I needed to do in order for the program to even start.

Also related, but there's a new thumbnail cacher being added in #694 which also touches the renderer codebase quite a bit, which should at least alleviate some of what you were trying to do here.

CyanVoxel avatar Jan 14 '25 11:01 CyanVoxel

I'm afraid that this appears to almost instantly segfault for me, so I'm unable to test or help out with this implementation as it is... The new core imports also need to be prepended by src., so they'll look something like "from src.core.utils.singleton import Singleton" - this was something I needed to do in order for the program to even start.

Also related, but there's a new thumbnail cacher being added in #694 which also touches the renderer codebase quite a bit, which should at least alleviate some of what you were trying to do here.

Yeah I will wait for the caching mechanism and then continue working on this, this is why I put this as a draft

JonatanNevo avatar Jan 14 '25 11:01 JonatanNevo

In case anyone else runs into problems with this on wayland, it only works if you have the env variable XDG_SESSION_TYPE=x11 It looks like it's a bigger problem with open3d as far as I can tell.

Lunarient avatar Feb 16 '25 22:02 Lunarient

Hi! What's the current status; is this still being worked on?

xarvex avatar Mar 12 '25 09:03 xarvex

Hi! What's the current status; is this still being worked on?

Hi! Ive been working on this off and on. I currently have it working with a final bug of the render thread not shutting down properly on program exit. I'm hoping to have it done within the next few days but I welcome any help.

Lunarient avatar Mar 12 '25 16:03 Lunarient

Hi! What's the current status; is this still being worked on?

Hi! Ive been working on this off and on. I currently have it working with a final bug of the render thread not shutting down properly on program exit. I'm hoping to have it done within the next few days but I welcome any help.

That's great to hear! If you want, what you could do to get some help and eyes on it is create a new PR (you can make a draft like here), and state in the description that it supersedes this one. That should tell people that it exists and is needing attention.

xarvex avatar Mar 12 '25 17:03 xarvex

Hi! What's the current status; is this still being worked on?

Hi! Ive been working on this off and on. I currently have it working with a final bug of the render thread not shutting down properly on program exit. I'm hoping to have it done within the next few days but I welcome any help.

That's great to hear! If you want, what you could do to get some help and eyes on it is create a new PR (you can make a draft like here), and state in the description that it supersedes this one. That should tell people that it exists and is needing attention.

Okay! I wasn't sure what the github etiquette for situations like this was. I'll do that later tonight, thank you.

Lunarient avatar Mar 12 '25 17:03 Lunarient

Hi! What's the current status; is this still being worked on?

Hi! Ive been working on this off and on. I currently have it working with a final bug of the render thread not shutting down properly on program exit. I'm hoping to have it done within the next few days but I welcome any help.

That's great to hear! If you want, what you could do to get some help and eyes on it is create a new PR (you can make a draft like here), and state in the description that it supersedes this one. That should tell people that it exists and is needing attention.

Okay! I wasn't sure what the github etiquette for situations like this was. I'll do that later tonight, thank you.

If you want I can close this PR after you'll open the new one

JonatanNevo avatar Mar 12 '25 18:03 JonatanNevo

Closing, see discussion post #1231

CyanVoxel avatar Nov 26 '25 05:11 CyanVoxel