Hacker News new | ask | show | jobs
by coldtea 1054 days ago
Does anybody know if the Blender project is involved / working towards this in any capacity?
4 comments

Just finished writing [0] about Blender's USD import issue.

[0] - https://news.ycombinator.com/item?id=36947946

That improvement sounds great. Any chance that’s up as a PR to blender?
Excited to see this potentially integrated into FreeCAD. It is already very good at utilizing assets from other applications like Blender, and producing assets that can be used in other applications.

It would really help smooth out some wrinkles in the building industry if we could freely interoperate with each other while using different applications. I can't afford (stomach) anything but FreeCAD for my building projects. All the engineers I work with use autocad.

I didn't submit the PR yet, but opened an issue which has not been picked up. Maybe most of the USD files used in Blender do not trigger the O(N^2) behavior.
Possibly. Do you have a link to the PR handy?
I don't think a PR is ready. My solution does not fully solve the problem. It requires more thoughts. Thanks.
Interesting. Since the list is sorted, is the insertion still a linear search (O(N)) or now a binary search (O(log(N))? Or did I misunderstand something? Also, why is it not a hash table (almost O(1))?
Good point, I have the same doubt. Even if it is sorted, you still cannot do binary search on it unless using some skip list ideas. In fact, the code right now is doing linear search to find the ID given a name.

TBH, I don't fully understand how the ID linked list is utilized in Blender and why it needs to be sorted by names. It seems some other data structure could also work, unless I missed something.

Oh is it an actual linked list and not an array?
Yes, actually it is a doubly linked list.
This was a great read, thanks for sharing.
Wow, thanks!
Blender has USD support, but I think it would be difficult for them to contribute to OpenUSD directly. They're more of an "downstream user".

It's similar to SideFX and Houdini, which is an extremely common way to author USD scenes. SideFX isn't a member either, just a downstream user.

SideFX are a member. They’re listed on the main site under General Members.
Should have looked first. Blender should buy in at that level too.
Blender could in theory join the Alliance, but a lot of the companies in the Alliance do already contribute for USD support in Blender as well as other features. NVIDIA and Apple do quite a bit.
They support USDZ (Blender includes support for USD export.[6] Import support from version 3.0. )