Getting Renderman for Houdini to render displacement

   4946   5   3
User Avatar
Member
29 posts
Joined: May 2019
Offline
Hi there,

I have been trying to get displacement to show up in renderings with PrMan for Houdini. I am using Houdini Indie 17.5 with the latest renderman non-commercial version.
I can google this question and I tried to follow the instructions to the letter and still it will not work…
I watched this video (though the workflow might be out of date in some regards:
https://www.sidefx.com/tutorials/pixar-renderman-displacement-how-to/ [www.sidefx.com]

And this one:
https://rmanwiki.pixar.com/display/RFH22/Using+Displacement [rmanwiki.pixar.com]

And this one:
https://rmanwiki.pixar.com/display/RfH/Using+Displacement [rmanwiki.pixar.com]

I have also watched the live demo with the Toy Story asset from the Pixar guys but to no avail.
I have attached 3 screenshots, which shows that the grid has UVs, my material network and my displacement shader and displacement bounds plug. All renders come out without any displacement, no matter the intensity or bound setting.
Clearly there is something I am doing wrong. Does anyone have a small sample scene with a proper setup?
And even if one of the above convoluted workflows would actually work how would it work with -say a thousand- objects? Is there no way to add displacement on a -per material basis? Would each and every object need to have its render parameters fiddled with?
Thanks in advance,

Ben

Attachments:
rman_disp.jpg (793.3 KB)

User Avatar
Member
58 posts
Joined: July 2013
Offline
i have a same problem.
Displace not working. Even if simple sphere, it work only if sphere type is primitive.
Edited by Danil Shaposhnikov - Sept. 1, 2019 10:21:49
User Avatar
Member
5 posts
Joined: Jan. 2016
Offline
Hey!

I found the issue. Unfortunately it's a bug.

Follow the instructions how to set up displacement for RenderMan 22.5 for Houdini. (no need to add displacement shader anymore).

Follow those steps:

1. Make sure your material assignment is set at obj level (not via material node)
2. Launch render using IPR Render (this will launch IT, displacement doesn't work for houdini render view)
3. Once the render has started select the object with displacement and under RenderMan>PrimVars>Shading PrimVars change value of Radius in Displacement section. It doesn't matter what the value will be, you can change it from 1 to 1.1 for example.

Once you change Radius value while rendering is already happening the displacement will kick in!

I know it's a stupid workaround but this is how I managed to get it working. Tested on Houdini 17.5.327.

Cheers,
Wojciech

Attachments:
rendermanDisplacement.PNG (1.1 MB)

https://www.artstation.com/wojciechpiwowarczyk [www.artstation.com]
User Avatar
Member
7 posts
Joined: June 2015
Offline
Nice find Wojciech. I am unfortunately having the same problem. I can use the method described to apply displacement to, say, a sphere but it doesn't work with objects that I bring in. In fact, changing the radius on my object doesn't update the IPR like changing the radius on the sphere object does.

Edited by julian_S - Nov. 1, 2019 15:05:07

Attachments:
same_shader.jpg (260.4 KB)

User Avatar
Member
5 posts
Joined: Oct. 2015
Offline
Hi, I can not get it working. Can you please tell me where do I find:
RenderMan>PrimVars>Shading PrimVars

Thanks
User Avatar
Member
6 posts
Joined:
Offline
Hi,

You need to add the Renderman tab to your geometry group first. You can do this by selecting the geometry node and then from the renderman 23 shelf select ‘AddSpareParms’


The radius is the displacements bounds and when the displacement is clipping you can raise this value to compensate.

Dave
  • Quick Links