Custom Image Planes with PBR

   13203   14   2
User Avatar
Member
166 posts
Joined: Oct. 2008
Offline
Is there any way to output custom image planes with Physically Based Rendering in Houdini 10?
The way I set it up in Micropolygon doesn't seem to work in PRB.
User Avatar
Member
21 posts
Joined: July 2005
Offline
Do you mean constant shaded grids? I think all things must be “lit” to be visible in PBR.

Can you clarify?
Nathan Ortiz
CG Supervisor, Framestore Melbourne
User Avatar
Member
166 posts
Joined: Oct. 2008
Offline
Well, I'm talking about custom frame buffers in the shader. To be able to output things like specular, occlusion, masks and stuff directly from the shader just like I can in the Micropolygon renderer.

But I haven't found any way to export BSDF's from a shader just like I can export any vector to an image plane. And just trying to export a vector as usual gives a blank image.
User Avatar
Member
192 posts
Joined: Nov. 2008
Offline
Hey ya'll. Unfortunately, because of the nature of the PBR engine some of the things you're talking about (specular highlights, occlusion, etc) don't exist in pbr.

This doc pretty much has all the info you want. http://www.sidefx.com/docs/houdini10.0/rendering/understanding [sidefx.com]

If you just want to set up variable exports unrelated to lighting like id masks and flat passes and such, you can enable this in PBR by setting up the exports in the usual way and enabling the “generate surface shader exports” rendering parameter.

Good luck dude.
User Avatar
Member
166 posts
Joined: Oct. 2008
Offline
brianBurke
If you just want to set up variable exports unrelated to lighting like id masks and flat passes and such, you can enable this in PBR by setting up the exports in the usual way and enabling the “generate surface shader exports” rendering parameter.

Perfect! Just what I needed. Thank you very much.
User Avatar
Member
12469 posts
Joined: July 2005
Offline
brianBurke
Hey ya'll. Unfortunately, because of the nature of the PBR engine some of the things you're talking about (specular highlights, occlusion, etc) don't exist in pbr.

Actually, these components do exist in PBR. And they've also seemed to have undergone a name swap - but they haven't really; they're just named accurately for what they now really represent.

- “diffuse” remains “diffuse” in PBR
- “specular highlight” becomes the “glossy” component in PBR (ie, the soft reflection caused by substrate/etc)
- “reflections” becomes the “specular” component in PBR. (ie. sharp reflections)

These components can be output into deep raster layers too! There are a bunch of special names you can export now, (although I don't think I see documentation for them in the 10.0 docs). These are all vectors, and come in direct and indirect flavours:

- direct_diffuse, indirect_diffuse (viz. diffuse reflection - those color-bleeding effects)
- direct_specular, indirect_specular (viz. caustics)
- direct_glossy, indirect_glossy
Edited by - Sept. 28, 2009 12:43:04
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
166 posts
Joined: Oct. 2008
Offline
Some of them can be viewed/selected by pressing the little arrow next to the VEX Variable parameter for the Image Plane. However in my case I needed the custom outputs,

Which is now working perfect, except that I can't get them to incorporate the alpha in the Image Plane/shader buffer.
User Avatar
Member
4140 posts
Joined: July 2005
Offline
If I follow you, you don't need them. The alpha is there, you don't need another one, the existing one will work fine.

I should point out that AFAIK the PBR exports don't currently have a mechanism to deal with shadows.

Cheers,

J.C.
John Coldrick
User Avatar
Member
166 posts
Joined: Oct. 2008
Offline
JColdrick
If I follow you, you don't need them. The alpha is there, you don't need another one, the existing one will work fine.

I should point out that AFAIK the PBR exports don't currently have a mechanism to deal with shadows.

Cheers,

J.C.

That works in some cases. However, when an object with transparency ends up in front of another the alpha is solid anyway, but the object in front is covering what's behind it.
User Avatar
Member
192 posts
Joined: Nov. 2008
Offline
jason_iversen
Actually, these components do exist in PBR. And they've also seemed to have undergone a name swap - but they haven't really; they're just named accurately for what they now really represent.

I totally agree. It is worth mentioning tho that some things the original poster might be looking for aren't there. Direct and indirect occlusion (shadow) doesn't exist seeing as there is no difference from a light path and a shadow path. Specular highlights also don't exist because, as you mentioned, these highlights are computed as glossy reflections.
User Avatar
Member
5 posts
Joined: July 2008
Offline
So there is no export for shadows in PBR. I have a nice PBR setup with an environment light. The only thing I need are ground shadows, so I can comp my objects over a background plate. Is there a way to get a shadow pass which is simliar to my environment light PBR setup, with another render?
User Avatar
Member
166 posts
Joined: Oct. 2008
Offline
tjzfx
So there is no export for shadows in PBR. I have a nice PBR setup with an environment light. The only thing I need are ground shadows, so I can comp my objects over a background plate. Is there a way to get a shadow pass which is simliar to my environment light PBR setup, with another render?

You could set up another take for rendering shadows and rendering that with an other mantra connected to your primary mantra.

Create a new take and check phantom on the objects you want to cast shadows, and assign a shadow matte shader to the ground. You'll need to make overrides for the phantom and material on the ground plane.

However there´s probably/hopefully a better way to separate shadows in the shader. I've found a “hidden” node that converts a vector to BSDF in the shader so that any vector output can be rendered in PBR.

However I've noticed that using the export custom planes in PBR slows down the rendering time significantly compared to what it does in micropolygon.
User Avatar
Member
5 posts
Joined: July 2008
Offline
xtimmyx
You could set up another take for rendering shadows and rendering that with an other mantra connected to your primary mantra.
Since I only have one environment light in my scene with IBL in PBR, what should my new Mantra type be?

xtimmyx
I've found a “hidden” node that converts a vector to BSDF in the shader so that any vector output can be rendered in PBR.

However I've noticed that using the export custom planes in PBR slows down the rendering time significantly compared to what it does in micropolygon.

Care to share this “hidden” tip? 8) So the vector I want would come from the shadowmatte shader, which is derived indirect/direct occlusion.
brianBurke
Direct and indirect occlusion (shadow) doesn't exist seeing as there is no difference from a light path and a shadow path.
So said vector, with this vec to BDSF export, coming from the shadowmatte would be a combo of the light/shadow from PBR, hence expensive rendertime… am I getting this right?

In my case, render time is not a problem, it's for a still, and it's more proof of concept… one light, minimal passes, accurate results.
User Avatar
Member
166 posts
Joined: Oct. 2008
Offline
(The quotation doesn't work for some reason but I hope you get it anyway).
If it's only pure shadow you wan't I guess a normal micropolygon mantra would do. But I'm not sure. Perhaps sticking with PBR is your safest bet if you manage to get the shadowmatte material working with it.
User Avatar
Member
166 posts
Joined: Oct. 2008
Offline
For some reason my posts are cut down, so I have a little trouble answering. I'll try sending you a PM.
  • Quick Links