Implicit Field Plugin renderman

   3527   2   1
User Avatar
Member
28 posts
Joined: July 2005
Offline
Hello guys,

I am trying to setup a renderman Implicit Field Plugin.
It defines a volume sphere.
I want to call it in the rib like this inside houdini.

Volume “myplugin.dso” -args

Is there anyway to use it like a dynamic load procedural in houdini. What would be the best approach. Thanks.
User Avatar
Member
320 posts
Joined: Aug. 2007
Offline
sabotage3d
Hello guys,

I am trying to setup a renderman Implicit Field Plugin.
It defines a volume sphere.
I want to call it in the rib like this inside houdini.

Volume “myplugin.dso” -args

Is there anyway to use it like a dynamic load procedural in houdini. What would be the best approach. Thanks.

The best way I found to do this, is by writing a small procedural runprogram that writes your RIB snippet. (python, C++, or whatever) You'll want to use the RunProgram Geometry SHOP, and make an HDA out of it. You can then attach parameters to this HDA that you wish to pass down as arguments to your ImplicitField DSO. (assuming you have any)

This is a complex example showing the RIB format for attaching a DSO to RiVolume() with prman. Note, how you pass float and string args, and how N=2. This is essential if your ImplicitField DSO subclasses ImplicitVertexValue. (you must pass exactly 8 empty values to additional vertex fields… assuming they're scalar)

Volume “blobbydsousr/local/devkit/prman/ImplicitField.so” "constant float blobbydso:floatargs" "constant string blobbydso:stringargs" “constant float blobbydso:threshold” “varying float fuel” “varying float temperature” “varying float heat”


The hardest part about writing that snippet is computing accurate bounds. (Not to be confused with the bounds you pass to RunProgram)

Alternatively, you could try modifying soho to write this markup. As of Houdini 12.1, you can render true volume primitives in prman.
www.alan-warren.com
User Avatar
Member
28 posts
Joined: July 2005
Offline
Thank you very much Alan. I made simple python script to add the Volume call with the plugin and arguments and it is working.
  • Quick Links