rayswitch in shop

   9379   13   0
User Avatar
Member
29 posts
Joined: March 2014
Offline
Hi guys , just a quick question, is there such a thing as a rayswitch node in the shop network?

Ogi.
User Avatar
Member
1390 posts
Joined: July 2005
Offline
stari
Hi guys , just a quick question, is there such a thing as a rayswitch node in the shop network?
Ogi.

Such functionality is scattered across many nodes (and VEX functions). Take a look on:

http://www.sidefx.com/docs/houdini13.0/nodes/vop/isshadow [sidefx.com]
http://www.sidefx.com/docs/houdini13.0/nodes/vop/raybounce [sidefx.com]

also this [forums.odforce.net]thread discusses the usage of message passing and ray labeling in Mantra, which is generalization of ray switching mechanism.
User Avatar
Member
29 posts
Joined: March 2014
Offline
That looks very powerful, will check it out now.

Cheers,
Ogi.
User Avatar
Member
29 posts
Joined: March 2014
Offline
One more thing that has me interested. Can i use some sort of overide to inject a shader tree into the output connection of a number of selected shop networks where the displacement and displacement properties are left untouched but the surface output is replaced with a tree where the primary ray is a holdout but all secondary rays are still calculated?
User Avatar
Member
1390 posts
Joined: July 2005
Offline
stari
One more thing that has me interested. Can i use some sort of overide to inject a shader tree into the output connection of a number of selected shop networks where the displacement and displacement properties are left untouched but the surface output is replaced with a tree where the primary ray is a holdout but all secondary rays are still calculated?


If I am not mistaken you ask about phantom scenario? That's your objects are seen by all but primary rays. If so, you can turn on phantom mode permanently either on object parameters, or overwrite it on Mantra Rop.

One thing though is that you can't mix matte mode with phantom on single object. You would have to duplicate the object and change setting for matte for one of them (also on object level). Alternatively you could, as you've anticipated, wire a custom shader making black for primary rays and usual stuff for the rest. But this would require custom shaders applied by Takes or python filtering of ifs files. There is no way to procedurally alter materials' content. You should alter its state ( via parameters) instead (or replace whole thing).
User Avatar
Member
655 posts
Joined: Feb. 2006
Offline
SYmek is totally right, the only way I have managed to do what stari asks (ando more) is via takes.

This is the one thing from Softimage I miss because it's inheritance design rather than specific parameter override via takes.

:-P
User Avatar
Member
29 posts
Joined: March 2014
Offline
Sorry if im asking this the wrong way but im still learning and my understanding of takes is very limited as im still going through the interface and some other basic stuff… But would it be possible to do this way?

To modify the mantra surface shader, inside make some sort of Boolean switch node in between the output and the surface where it has just your standard shading network in one port and the holdout/rayswitched network in the other, then use takes in conjunction with say a bundle to overide that switch on all shaders in the bundle?

Cheers.
User Avatar
Member
12457 posts
Joined: July 2005
Offline
Unfortunately Houdini/Mantra really only have “Masks” (Scopes) like Shadow Mask, Reflection Mask/Shadow Selection etc, and two special-case properties: Matte and Phantom.

You can always work a way to render what you need to with those parameters, but sometimes it's not terribly convenient nor intuitive.

What Houdini really is missing that other packages have are easy material properties like:
- Visible In Camera Rays
- Visible In Reflection Rays
- Visible In Refraction Rays
- Visible In Shadow Rays

This is more of a reversed material/object-based approach to what Houdini uses currently, but rest assured you can definitely get there with the Masks.
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
29 posts
Joined: March 2014
Offline
I do believe you are correct, but in some situations i just believe there are something that should be simplified concerning this.

Take for example i have some crazy shader that has sss, refractions, two layers of specular reflections and half of those components are toned by some raydepth shader, and all of that takes a long time to compute… I might not want that same shader to be sampled in other reflection rays in the scene,but i might need it in refraction , or a hair shader with opacity, i always cull it down to just the camera rays and gi having opacity. It would mean a world to be able to cut half of those calculations and throw them away. Also how would i take a environment light, and use a second blurred map just for diffuse contribution, is that possible in Houdini. Generally i don't always use it, but sometimes it can help cut down on render times.
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Hi,
There is the switch node at the shop level to switch between materials, you can use the pre / post render script tab of the mantra rop to drive the switch using a simple custom global variable. Next there is a switch VOP in the shader context if you want to get even more complex.
Takes are great but not good out of the box for rippling into multiple shot set ups as you cannot make a asset out of them, much like bundles.

Rob
Gone fishing
User Avatar
Member
29 posts
Joined: March 2014
Offline
Hi guys, so i rolled up my sleeves today and downloaded the apprentice version and hacked up a quick scene to illustrate my point about the matting of shaders. I made a quick hack to one mantra surface shader and plugged it into a object in my scene. I also promoted a switch to the shader properties that has 3 states.

state 1 = standard shading, no modifications
state 2 = 1st ray matte / 2nd visible / shadow / no alpha
state 3 = 1st ray matte / 2nd visible / no shadow / no alpha

And i see i can make a take and change that on a per shader basis. Now what i am interested in, is if i were to use this from now on because it seams quite natural to me. Would this make an ok workflow as i have a fear of branching out into new workflows in a software i dont know that well yet, and there could be a better solution out there and this could come back and bite me in the *** some time later on.

Cheers,
Ogi.

Attachments:
shaderTest.hipnc (2.3 MB)

User Avatar
Member
29 posts
Joined: March 2014
Offline
Got round to playing with Houdini today, just noticed that the matte parameter actually does what i was doing the whole time, really feel like a idiot now sorry for all the noise, i was pretty sure something was wrong but it was my mistake all along. Back to the tutorials i guess.
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
You really have to throw away that XSI thinking…. :roll:
Gone fishing
User Avatar
Member
29 posts
Joined: March 2014
Offline
Easier said then done
  • Quick Links