$RENDERPASS variable

   6553   8   0
User Avatar
Member
74 posts
Joined: July 2005
Offline
This is a very simple question (i suppose). :?:
How do i use the $RENDERPASS variable?


Additionnaly:
how can it be incremented (for example each time i launch
a new render).
And generally, how can i render multiple passes without asking explicitly
Houdini to re-render a scene for each pass?
( in any case, i'm going to learn hscript!)

thx for help!
User Avatar
Member
4140 posts
Joined: July 2005
Offline
Sorry for being thick, but I'm not aware of the $RENDERPASS variable - I suspect it's probably in an example somewhere that I've never seen.

If I understand what you refer to as a “pass” - you mean a separate layer of the same animation that would contain different elements, such as various objects, or perhaps separate specular and diffuse passes? This is fairly trivial, but yup - it really helps to know a bit of hscript. We have honkin' big scripts here that change the babies' diaper and make toast at the same time, but it doesn't need to be so complex. Typically you want something that will set some basic things like resolution, etc. - but most importantly will display only the things you want to see - typically using the “opset” command. You *do* want to re-render the scene for each pass, if this is indeed what you're talking about.

If you look in Tutorials/learningData/scripts/render on the tutorials disk, there's a script called “rencomplex.csh” that uses opset to determine what is displayed - search for that command.

Lots of beginner/mid users use the graphic interface to houdini to build ROPs that contain all the different pass information, then call them from a script. Here we assume *nothing* about the state of any given hip file when it's been saved - that way we save those endless errors when a user was quickly looking at something and leaves the hip in a state that's incorrect for final render. Well, most of the time, anyway. We build a brand new ROP using scripts on the fly each time, using a call to our scripts which set whatever params you want, then submits to the farm. Fair bit of work to setup, but I can't tell you how much time it's saved since it's been installed. Can't live without it now!

Cheers,

J.C.
John Coldrick
User Avatar
Member
74 posts
Joined: July 2005
Offline
I found that the $RENDERPASS variable could be used with the shader SwitchOP. :roll:
in order to switch between shaders depending on the “pass number”.
I don't want to re-create a new Scene at each “pass”, just to change the shader.
But i'm gonna create a little tcl/tk-hscript utility to do this kind of things
(when i've got the time).

Anyway, thx for your answer
User Avatar
Member
1634 posts
Joined: July 2005
Offline
Hi there,

I believe you saw the $RENDERPASS variable in the Switch SHOP help. The variable is just an example of how you can use it to set a value for the Switch SHOP. It is not a fixed or default Houdini variable. You can use $FOO as the variable if you want to.

Cheers!
steven
User Avatar
Member
4140 posts
Joined: July 2005
Offline
I don't want to re-create a new Scene at each “pass”, just to change the shader.

Terminology can be confusing. I'm not sure what you mean by “re-create a new Scene”. And I'm still not sure we agree on what a “pass” is. A “pass” to me is another render of an element or aspect of the entire scene(which requires an entire pass at the scene). I suspect this comes from different backgrounds. Anyway, what Steven said.

If you have a more specific question feel free to ask… If what you mean is “can I smoothly animate between two different shaders on a single object during a single pass” - that's another question. I'm guessing at this point.

Cheers,

J.C.
John Coldrick
User Avatar
Member
74 posts
Joined: July 2005
Offline
ok sorry !
But english is not my native tongue.


Let's suppose i want to render an object non-photorealistically.
I want to apply one shader that holds the texture and another which
encodes (normal-eye)-(z-depth)-id to use for an edge detection in the compositer.
I want then to composite the two images…

I thought that i could lauch the two renders, one after the other, “in one click”.
And i thought that the $renderpass variable would tell Houdini to change the
shader for the second pass.
But ok! i was too lazy! i'm gonna create two Mantra Outputs and click two times!
(aoow! my finger!).
I just wondered how to automate this task: the answer is definitely the hscript.

thanks all!
User Avatar
Member
12626 posts
Joined: July 2005
Offline
to save clicking twice, create a ROP SubNetwork with the 2 mantra ROPs in it and click the render button on the Subnet just once!
:twisted:
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
7868 posts
Joined: July 2005
Offline
In the example cited above, I don't think render passes are even necessary? Can one not go to the Deep Raster tab and add those things as extra “planes” to output?
User Avatar
Member
74 posts
Joined: July 2005
Offline
Thanks, guys!
Both replies are helpful!
  • Quick Links