Search - User list
Full Version: rayswitch in shop
Root » SI Users » rayswitch in shop
stari
Hi guys , just a quick question, is there such a thing as a rayswitch node in the shop network?

Ogi.
symek
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.
stari
That looks very powerful, will check it out now.

Cheers,
Ogi.
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?
symek
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).
jordibares
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
stari
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.
jason_iversen
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.
stari
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.
circusmonkey
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
stari
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.
stari
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.
circusmonkey
You really have to throw away that XSI thinking…. :roll:
stari
Easier said then done
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB