Procedural textures for displacement.

   6264   1   2
User Avatar
Member
2 posts
Joined: April 2008
Offline
I am a new Houdini user who has been doing 3D CGI since 1994. So far everything in Houdini makes sense to me and I wish I had begun using it sooner.

One area still has me flummoxed. In nearly any other 3D app (that supports it), doing displacement mapping with any old input, either procedural or a bitmap, requires barely a couple mouse clicks and they all work in pretty much the same way: pipe the luminance of your map (bitmap or procedural) into the displacement channel of a shader and voila, displacement!

In Houdini, I can't even make it work. I can get bitmaps to work. I can even get any of the built in displacement nodes, burlap, cavities, cellular cracks, etc., to displace my geometry at render time (sort of…mostly).

But what if I wanted to use a procedural map, like wood, stone wall, or stripes, or even better, the results of something from the built in houdini compositor? I just can't seem to make the cognitive leap necessary to figure this out and would appreciate any help.

Attachments:
Screen Shot 2011-07-20 at 11.30.08 AM.png (283.0 KB)

User Avatar
Staff
2540 posts
Joined: July 2005
Offline
The Cavities Shader already has a Displace Along Normal VOP inside driving the Displace P and Displace N outputs. Feeding these in to another Displace Along Normal won't do anything unless you add the render property “Redice Displacements” with a Property VOP wired up to the Output Collect VOP.

You will get the same result by wiring the Cavities VOP's Displacement Amount in to your Displace Along Normal VOP's Displacement Amount input parameter. The hints are in the names of the inputs and outputs.

If an input or output is named the same as complementary inputs or outputs, assume that they can be wried up together. So the theory goes…


The Displace Along Normal works at it's best when you feed it a float in to the Displacement Amount. Position should default to global P and normally you will wire a Rest Position VOP in to it and then add “rest” position attributes to your geometry with a Rest SOP. If you don't wire anything in to P it defaults to P. Same goes for Normal input as it defaults to N. I leave N Normal alone for the most part.


You answered your own question above. Use the Luminance VOP to convert the Blended Colour output vector in to a float value suitable for driving the Displace Along Normal VOP's Displacement Amount input parameter.
There's at least one school like the old school!
  • Quick Links