Import Displacement Variable

   5865   8   1
User Avatar
Member
710 posts
Joined: July 2005
Online
What is the analog to using the Import Displacement Variable node with the Material Shader Builder workflow?

I want to apply different shading to the displaced parts of a surface, nothing fancy. I can't imagine this functionality has been overlooked. How is it done nowadays?
User Avatar
Member
8539 posts
Joined: July 2007
Offline
just use the same pattern you are plugging into displacement amount to drive your surface part of the shader
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
519 posts
Joined:
Offline
If you are developing your shader in vops you can use the new material setup from houdini which basically is One Shader That Rules Them All, or rather context. You still have to output the displacement on the displacement output and the volume on the volume output etc. But this way you can reuse parts of your network more easily, no need to copy them around.

In vex you do have to copy text around or use include files to reuse code from the displacement shader or use the dimport function.
User Avatar
Member
1390 posts
Joined: July 2005
Offline
tamte
just use the same pattern you are plugging into displacement amount to drive your surface part of the shader

That way you're computing the pattern twice, tamte, which might be ok., but that's what's happening.

@DaJuice: Import Disp. Variable Vop works the same way, except, export and import are in the same network in gui.
User Avatar
Member
8539 posts
Joined: July 2007
Offline
SYmek

That way you're computing the pattern twice, tamte, which might be ok., but that's what's happening.
….

oh, I didn't know that, thanks SYmek
it's kind of logical since they are used separately by mantra anyway
I am not a big fan of new unified shader builder, I am still using good old modular way
And if what you are saying is true, then I don't know really why it is unified
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
1390 posts
Joined: July 2005
Offline
ah, Pagefan was faster…
tamte
And if what you are saying is true, then I don't know really why it is unified

I think sesi's intension was what Pagefan mentioned. Less nodes, less subnets, less hassle. But this is only Houdini. Soho still exports single material as a separated shaders, thus inter-shaders communications stayed in old fashon, what I personally consider as an advantage.

I think this all is kind of step towards bigger leap, perhaps slim-like editor. I can imagine unified network leads easier into material layering, what people demand for years.
Edited by - May 3, 2011 11:33:55
User Avatar
Member
8539 posts
Joined: July 2007
Offline
ok, lets see where this is heading
but for now I am not seeing great advantage in merging surface and displacement into a single container
I like to reuse one displacement with many surface shader, of course with some overrides
I know this is still possible with Shader Builder workflow (when I use it in Disp Shader Rendering Parameter, only disp part will be used), but it seems to me like kind of blackboxing

being able to plug surface shop , displacement shop, … into some material shop then that material shop into some layer shop seems more logical and clean to me, that way no artist will ever need to dive inside vops it he/she dont want to
simply make SHOP context useable and consider Surface SHOP/Displace SHOP as a building block
but this is for different threat I guess
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
519 posts
Joined:
Offline
hmmm in rsl/rib/prman you can merge the displacement shader and the surface shader in one which is nice, saves a lot of typing.

If you want to use only bump displacements you could do that in the surface shader as well since it doesn't involve writing N (N is a read only variable in the surface shader context).
User Avatar
Member
710 posts
Joined: July 2005
Online
I freaking love you SYmek.
I tried that before and was disappointed when it didn't work. Turns out I overlooked the ‘Export in Context’ field which needs to be changed to displace. Pure and simple user error. Thank you.

Just for reference, here's the result when you pipe the displace pattern into your colors, and when you use the imported displacement variable. It's easier to see the difference when you flipbook between them.

Attachments:
foo1.jpg (60.1 KB)
foo2.jpg (60.1 KB)

  • Quick Links