prman-pixar / RenderManForBlender

RenderMan for Blender render addon
MIT License
808 stars 133 forks source link

PxrTexture breaks when material node has colon in name #638

Closed breadbyte closed 2 years ago

breadbyte commented 3 years ago

Steps to reproduce:

  1. Open blender.
  2. Select the default cube.
  3. Add a RenderMan nodetree to it. I used PxrDisneyBsdf as the material.
  4. Add a PxrTexture node as the base color.
  5. Add an image. It should appear.
  6. Add a colon to the material name.
  7. Change the image. Any changes to the image will not appear.
  8. Remove the colon. An image must be set again for it to appear.
prman-pixar commented 3 years ago

Thanks for the report. We're currently using the material name as part an ID for the texture manager. Clearly this won't work if you rename the material. We'll have to come up with a better strategy for creating an ID for each texture in the texture manager.

prman-pixar commented 2 years ago

I believe I have fixed this issue. Unfortunately, this is too late to get into the upcoming 24.3 release, but it will be available once 24.4 ships.

fxjeane commented 2 years ago

I just synced to the latest in master and I can see the issue when rendering with Blender 3.0. The issue still happens whenever the material is renamed.

prman-pixar commented 2 years ago

@fxjeane Yes, the fix will be in 24.4. Currently, I don't have an ETA of when that will ship, unfortunately.

fxjeane commented 2 years ago

I see. The issue is with PRMan, and not on the Blender add-on?

prman-pixar commented 2 years ago

Yes, it's a problem with some of the core python modules in PRMan.

prman-pixar commented 2 years ago

This issue should now be considered fixed with the release of RenderMan 24.4