shadeops / houdini-pbrt-v4

Houdini exporter for pbrt-v4
BSD 2-Clause "Simplified" License
11 stars 2 forks source link

Use Packages #9

Closed renderdude closed 2 years ago

renderdude commented 2 years ago

As an FYI, the exporter seems to work fine if you use packages (https://www.sidefx.com/docs/houdini/ref/plugins.html) without having to make the directory to merge soho parameters.

If you have a test hip file, I can test it further.

shadeops commented 2 years ago

On Packages

This is a good point, I'll add a new option to the Wiki about setting up a Houdini Package along with an example.

The only time the SOHOparameter merging approach is needed is if you have multiple 3rd party renderers. If you are only using houdini-pbrt-v4, then a houdini-pbrt-v4.json or houdini.env approach should be sufficient due to the SOHOparameters already including the $HFS ones.

https://github.com/shadeops/houdini-pbrt-v4/blob/master/soho/parameters/SOHOparameters#L4-L6

However if you have another renderer like RenderManForHoudini installed and it comes first in your HOUDINI_PATH, then the Pixar SOHOparameters will win and the houdini-pbrt-v4 SOHOparameters won't get loaded even if defined by a package.

Releases

Once the pbrt-v4 book is released (at least in web form) I'll put out a proper release zip / tarball, example files and maybe a Vimeo video. The reason for not doing so currently is the interfaces and parameters are still changing some what frequently.

That said if you are looking for specific examples on how to do something just let me know.

renderdude commented 2 years ago

Actually, the merging approach seems to not be needed with packages. I use RfH and houdini-pbrt-v4, and both seem to work fine without using the merge directory.

How would I tell if one set of SOHO parameters is overriding the other?

shadeops commented 2 years ago

If you go to Edit Parameter Interface -> Render Properties, if everything is being merged correctly you should see a render_props

Or alternatively in the TextPort if you run the opproperty command you'll see

...
pbrt-v4 (57 parameters) (1 parameter lists) (Filter: "SHOP: Properties")
prman21.0 (382 parameters) (3 parameter lists) (Filter: "SHOP: Properties")
prman24cam (13 parameters)
prman24geo (66 parameters)
prman24motion (2 parameters)
...

If there is a way for these to get auto merged I would love to figure out how as this is one of the more annoying aspects of working with Houdini's SOHO setup.

renderdude commented 2 years ago

The parameters are not being merged as you suspected. I've seen several posts about RfH and Arnold not playing well together, especially when using packages.

The only method I found that works is the method you suggest, with one edit. The soho directory needs to be under the houdini18.5 directory, not next to it.

renderdude commented 2 years ago

As an update, packages work if you add the joined SOHOparameters file into at least one of the packages HOUDINI_PATH. You might need to add to both, but one worked for me.

renderdude commented 2 years ago

As an FYI, I've been going around and around with SideFX on this issue, and the final answer I got was no, it won't work without using your method. Here's there last response:


Unfortunately, Houdini looks for the first SOHOparameters file found in the HOUDINI_PATH and loads only that file. So, I don't think there's a way to get this to work without that extra file.

It might be an RFE to have a variable to make Houdini load all the instances of the file, but it's quite possible doing that might introduce other issues, since, in theory, we might end up including files multiple times (which didn't happen in the past).