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!
$RENDERPASS variable
6554 8 0- David Gary
- Member
- 74 posts
- Joined: July 2005
- Offline
- JColdrick
- 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.
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
- David Gary
- 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
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
- stevenong
- Member
- 1634 posts
- Joined: July 2005
- Offline
- JColdrick
- 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
- David Gary
- 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!
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!
- jason_iversen
- 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:
:twisted:
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
also, http://www.odforce.net [www.odforce.net]
- edward
- Member
- 7868 posts
- Joined: July 2005
- Offline
- David Gary
- Member
- 74 posts
- Joined: July 2005
- Offline
-
- Quick Links