Purpose/Application of Properties VOP

   2191   4   0
User Avatar
Member
2047 posts
Joined: Sept. 2015
Offline
Hello,

I was hoping someone could offer insight into what the role and purpose of the properties vop node is in the attached file.

**

In this recent thread - https://www.sidefx.com/forum/topic/51508/ [www.sidefx.com] - Konstatin provides a hip file as an example ( which I've posted here with a sticky note on the vop property node in the material network. )

I've started looking into learning using vops in material builders for shading and displacement, so I found some elements of Konstatins example intriguing.

Getting the corrugated ‘wave’ displacement seems straight forward in what he is doing with a number of the vop nodes.

But I am puzzled about the role of the properties vop.

And the properties vop seems very importent because when I remove it the effect basically becomes ‘filled’ with gaps and is discontinuous.

I've noticed something about the property vop that he has done that I haven't seen before with any type of node:

He is making use of the tags section of the node when you open it in ‘Edit Parameter Interface’, which has the following settings:


spare_category || Shading
mantra_name || displacebound
mantra_class || object

Another thing I've noticed is that ( still talking about the setup within ‘Edit Parameter Interface’ ) the ‘Name’ parameter is defined as ‘vm_displacebound’.

I don't see ‘vm_displacebound’ being used elsewhere(like in the mantra node) as a reference and I was thinking this because displacebound being referenced besides ‘mantra_name’, so I was thinking the prefix 'vm_" might have some significance.

But at this point it appears it just might be his personal naming convention for the node.

Feedback is appreciated - Thank you.

Attachments:
shader_waves.hipnc (178.8 KB)

User Avatar
Member
2047 posts
Joined: Sept. 2015
Offline
Thanks jsmack for the references….it makes more sense now, especially the reference http://www.sidefx.com/docs/houdini/props/mantra#vm_displacebound [www.sidefx.com] shows me where vm_displacebound is coming from.

But from the sources above the docs are saying there are default values that mantras uses for parameters like vm_displacebound.

And in the hip file it looks like ( because he's using a channel reference ), he is simply ‘overiding’ the default vm-displacebound to match any displacment applied in his displacement vop.

But if one removes the properties vop, and according to the docs it seems a default value should ‘kick’ in. But no matter what value I try adjusting the displacement too, there is no value ( even zero ) that gives a smooth render.

It's like this prorperty node is required and there isn't a default value.

But of course you gave lots of links there and perhaps I just need to do some more reading.

Thanks for the point in right direction
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
vm_displacebound is a mantra render property required to be defined using the property inheritance rules in order for Mantra to evaluate the surrounding surface and properly displace and fill in any holes and tears in the geometry. In shaders it makes sense to either add this property in/on the material (most sense), the object or the Mantra ROP.

The units are in camera scene space and should be set to the maximum anticipated displacement value and then dial back until you don't see holes if you wish.

Not setting the render property vm_displacebound will in effect set it to 0 and therefore none of the surrounding geometry is considered. You get tears and holes in your geometry around the displaced buckets as none of the surrounding surface is evaluated.
There's at least one school like the old school!
User Avatar
Member
2047 posts
Joined: Sept. 2015
Offline
Thank you very much Jeff for your input.

Definitely very usefull info as I start to look into using displacement with shaders.
  • Quick Links