[Bf-usd] USD importer progress

Blazej Floch blazej.floch at tangent-animation.com
Thu Jan 21 20:56:34 CET 2021


Hi Michael,
I just wanted to point out that we merged another PR this week into our develop branch which among other things fixes the enum order in shaders:
https://github.com/tangent-devops/blender/pull/216

This particular change fixed differences we saw in Shading Network exports for HdCycles so that renders in Blender match.
Ben will be able to answer questions - I wonder if we shouldn't add this to the export branch as well - assuming that you have your work safely on a different branch.

Cheers,
Blazej
________________________________
From: Bf-usd <bf-usd-bounces at blender.org> on behalf of Michael A Kowalski <makowalski at nvidia.com>
Sent: Thursday, January 21, 2021 14:23
To: Blender USD Workgroup <bf-usd at blender.org>
Subject: Re: [Bf-usd] USD importer progress


Thank you so much, Mark!  Indeed, your feedback and suggestions are very helpful!



Michael



From: Bf-usd <bf-usd-bounces at blender.org> On Behalf Of Mark Tucker
Sent: Thursday, January 21, 2021 1:35 PM
To: bf-usd at blender.org
Subject: Re: [Bf-usd] USD importer progress



External email: Use caution opening links or attachments



Hi Michael,



I can say from experience that providing options to choose primitives from a stage is a bottomless pit of possibilities. But the ones you mention (instance proxies and filtering by purpose) are right at the top of the list. Other possibilities that were requested for Houdini are:



* Ignoring/including invisible primitives

* Ignoring/including Abstract/Class primitives

* Including only primitives that belong to a particular USD collection

* Including only geometry prims that are inside a bounding box or camera frustum



Hope that helps,

Mark

On 1/20/2021 4:47:54 PM, Michael A Kowalski <makowalski at nvidia.com<mailto:makowalski at nvidia.com>> wrote:

Hi Blazej and everyone,



I've been thinking through the features we ultimately want to support in the USD importer.  I'd like to pose some of the questions here for discussion and welcome feedback from everyone.



The first question is regarding options for traversing the USD stage for import.



Tangent's importer (ta-usd-import branch on https://github.com/tangent-opensource/blender) currently supports filtering the traversal based on primitive types (i.e., cameras, curves, lights, meshes and volumes), which is an excellent feature.  What do you think about adding the following options as well?



  *   An option to import instance proxies.  Enabling this would allow importing instanced USD prims as unique Blender objects.  (This would not implement actual instancing in Blender yet.  I've started experimental work on implementing instancing, but this can be the topic of another discussion.)



  *   Options to filter USD prims by "purpose", i.e., "proxy", "guide" or "render".



  *   An option to skip importing hierarchies consisting entirely of Blender empties.  This can happen, for example, if the USD has nested Xforms or Scopes that contain materials, since the importer traversal logic currently creates placeholder "empty" objects for such material definitions.  An option to prune these "empty" hierarchies can help reduce clutter and conserve memory.



Please let me know what you think.  Incidentally, the features I’ve listed are straightforward to add and I’ve implemented them in my local branch, so I could contribute that part of the code.



Thanks,

Michael





From: Bf-usd <bf-usd-bounces at blender.org<mailto:bf-usd-bounces at blender.org>> On Behalf Of Michael A Kowalski
Sent: Monday, November 23, 2020 5:41 PM
To: Blender USD Workgroup <bf-usd at blender.org<mailto:bf-usd at blender.org>>
Subject: Re: [Bf-usd] USD importer progress



External email: Use caution opening links or attachments



Hi Blazej and everyone,



I've been stepping through and testing your importer/exporter code.  It's really great work!  I'll probably finish studying the code over the next few days, and I look forward to further discussions on how we can combine our efforts.



I also wanted to update the latest state of branch usd-importer-T81257.  The following features were either already done or in progress when you announced your release last week, and these were recently committed:



  *   Importing lights and cameras.
  *   Experimental support for importing USDPreviewSurface shaders as Principled BSDF node networks.  (This is just a proof of concept at this stage and needs more work to be production ready.)



The first item above overlaps with your implementation, but I don't believe the second one does.



Thanks!



Michael



From: Bf-usd <bf-usd-bounces at blender.org<mailto:bf-usd-bounces at blender.org>> On Behalf Of Blazej Floch
Sent: Tuesday, November 17, 2020 5:04 PM
To: Blender USD Workgroup <bf-usd at blender.org<mailto:bf-usd at blender.org>>
Subject: Re: [Bf-usd] USD importer progress



External email: Use caution opening links or attachments



Good catch!

Thanks.

________________________________

From: Bf-usd <bf-usd-bounces at blender.org<mailto:bf-usd-bounces at blender.org>> on behalf of Michael A Kowalski <makowalski at nvidia.com<mailto:makowalski at nvidia.com>>
Sent: Tuesday, November 17, 2020 15:42
To: Blender USD Workgroup <bf-usd at blender.org<mailto:bf-usd at blender.org>>
Subject: Re: [Bf-usd] USD importer progress



Hi Blazej,



Is this the link you meant to share?



https://github.com/tangent-opensource/blender/wiki



This is very exciting!  Thanks very much for the updated and for sharing these branches!  We’re very much looking forward to studying and testing your implementation.



Thanks,

Michael





From: Bf-usd <bf-usd-bounces at blender.org<mailto:bf-usd-bounces at blender.org>> On Behalf Of Blazej Floch
Sent: Tuesday, November 17, 2020 2:20 PM
To: Blender USD Workgroup <bf-usd at blender.org<mailto:bf-usd at blender.org>>
Subject: Re: [Bf-usd] USD importer progress



External email: Use caution opening links or attachments



Hi everyone,



It took some time but we finally got our USD Import and Export branches public.



Detailed information can be found here (please the "Info" links for more details, we've updated the text based on our current state):



https://github.com/tangent-opensource/hdcycles/wiki



We are sorry this took longer than anticipated to get through the process. It means that meanwhile we have some duplication on the import part.

I hope we can coordinate how our work ties into:

http://developer.blender.org/T81257



Take your time to go through the material.



I think the important part will be understanding how we want to treat the upstream development on the importer. Are there features that we see useful from either implementations, and which base do we feel confident to use for future work so we can eliminate the duplication of work moving forward.



For the exporter we will probably push the additions for review to the bf next. So far, our code is based on 2.83, which is our stable production build for the upcoming project requiring this work.



Looking forward to hear your feedback!

Thanks,

Blazej



________________________________

From: Bf-usd <bf-usd-bounces at blender.org<mailto:bf-usd-bounces at blender.org>> on behalf of Francesco Siddi <francesco at blender.org<mailto:francesco at blender.org>>
Sent: Monday, November 9, 2020 14:49
To: Blender USD Workgroup <bf-usd at blender.org<mailto:bf-usd at blender.org>>
Subject: Re: [Bf-usd] USD importer progress



Hi Michael,



Thank you for sharing your progress! I did a quick test (including instancing) and so far the importer works as expected.

I left a comment on developer.blender.org/T81257<http://developer.blender.org/T81257> with some pictures.



Besides the usual “Attic", “Kitchen" and other simple demo scenes it would be very useful to have some production samples to test the current implementation. Suggestions and contributions are welcome! I’m particularly interested in content distributed with a permissive (CC-BY or similar) license so that the files can be shared on blender.org<http://blender.org>.



Everyone is welcome to share links here or directly with me.



Regards,

Francesco



--------------------------------------------------------------

Francesco Siddi  -  francesco at blender.org<mailto:francesco at blender.org>   -  www.blender.org<http://www.blender.org/>

COO at Blender and Producer at Blender Studio

Buikslotermeerplein 161 - 1025 ET Amsterdam - The Netherlands



On 9 November 2020 at 17:39:24, Michael A Kowalski (makowalski at nvidia.com<mailto:makowalski at nvidia.com>) wrote:

Hello everyone,



To follow up on Francesco’s email from last week, I’d like to briefly report the status of the work on the USD importer.  The task description can be found here:



https://developer.blender.org/T81257



The corresponding git.blender.org<http://git.blender.org> branch is usd-importer-T81257.



This is very much a work in progress.  As per the task description, the initial implementation is loosely based on the design of the Alembic importer.  In fact, in many places the USD importer code follows the corresponding Alembic implementation very closely.  The basic strategy is to iterate over the USD stage to instantiate “reader” classes that translate USD primitives to Blender objects.



Here are the main features implemented so far:



  *   Basic support for importing USD meshes with UVs and normals.
  *   Work in progress on material import:  creation of material slots and assignment of material indices.  Existing Blender material matching the names of USD materials will be automatically assigned to the corresponding slots.
  *   Experimental support for instancing:  instanceable USD mesh primitives can be imported as shared meshes in Blender.  (However, the importer doesn’t yet handle converting USD point instancer primitives.)



I consider this work to be a prototype which can be used to motivate discussion of the design.   I’m quite open to redesigning and refactoring the code as needed based on feedback and testing, of course.   Needless to say, many features are missing and there are opportunities for optimization.



No doubt, this code overlaps with the importer implemented by Tangent, as previously described by Blazej.



I very much welcome everyone’s feedback and questions, and will continue to post status updates on this project in the coming weeks.



Thank you!



Michael



--
Bf-usd mailing list
Bf-usd at blender.org<mailto:Bf-usd at blender.org>
https://lists.blender.org/mailman/listinfo/bf-usd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.blender.org/pipermail/bf-usd/attachments/20210121/75231d4b/attachment-0001.htm>


More information about the Bf-usd mailing list