Jump to content

Translucency with PBR ?


Recommended Posts

Hi everyone

a while back we discussed doing translucent material in houdini, and that was solved in the following thread

by just inverting the normal, and feeding it to the lighting model, that works well for MP and RT but when it comes to PBR (i connect the F output of the lighting model to the F of the output node) all it gives is black :S:S

so what if i want to have to translucency with PBR :| , in fact in the vex code i have this function

f = vop_lighting_bsdf("lambert", nf, ii, {0.0, 0.0, 0.0}, { 0, 0, 0 }, { 0.9, 0, 0 }, { 0, 0, 0 }, 0.05, 0.05, 0, 1);

which is taking nf and ii as arguments so i supposed it should work just as for the MP and RT which are evaluated with

clr = vop_lighting("lambert", nf, ii, {0.0, 0.0, 0.0}, { 0, 0, 0 }, { 0.9, 0, 0 }, { 0, 0, 0 },0.05, 0.05, 0);

so is this the way to go ? or is there some things i'm not understanding well ? ...

Your help is much appreciated, (maybe Jason can enlighten me about this one ?)

Thanks in advance

Regards

Link to comment
Share on other sites

Honestly I'd output translucency as an MP/RT pass and stay away from PBR until it supports native SSS.

That said, there was a thread on a now-closed beta forum back in the days (I'm sorry, forgot who it was, please remind me if you know it) that showed an SSS hack for PBR. It's clever but extremely hack-ish and I would not recommend it for production work whatsoever at all to be honest. It is based on the approach that Brian outlined, using glossy refractions. You have to close the loop with a global ray level check to avoid ugly and costly ray explosions, and even then it still is SLOOOOW. So again, I recommend going with MP/RT for translucency.

post-1116-124826478593_thumb.jpg

post-1116-124826479368_thumb.jpg

cheers,

Abdelkareem

Link to comment
Share on other sites

Oh, and BTW before I forget. There's a different approach that is just as hacky but a tad bit quicker. Put an isotropic volume shader on your highly tesselated geometry. Doesn't sound like it makes any sense but here's what happens:

post-1116-124871266763_thumb.jpg

File attached for your amusement.

cheers,

Abdelkareem

iso_transl.hip.zip

Link to comment
Share on other sites

Hi all,

I'm actually having a problem related to this very topic so I figure it's best to just post here. At the moment I'm working on a shader for the label of a bottle. It has a little bit of translucency to it, typical of stickers and the like. I was having good results using the lambert-with-inverted-normals method, until I tried to get the effect from bounced light only. It seems the lambert BSDF doesn't pick up any bounced light when you feed it negated normals. Maybe I'm missing something obvious, is there a way around this?

As far as the construction of the shader, I've followed Brian's example with negative normals --> Lambert clr --> vector cast to BSDF --> output. And here's a couple of renders, the first with an actual lightsource behind the label, the second one with light bouncing off the wall. As you can see, blackness...

post-37-124918651891_thumb.png

post-37-124918653201_thumb.png

Cheers.

Link to comment
Share on other sites

I might sound too obvious :) but when using the micropoly engine for shading (which you are doing when you extract a color and convert to a BSDF) you lose indirect lighting, so the bounces would not contribute to your lighting model.

cheers,

Abdelkareem

Link to comment
Share on other sites

Oh lord, big "duh!" moment over here. :lol:

Thanks anamous. Basically then this brings me to the same issue nmn was having, that the BSDF output from the lambert can't be used for this hack. Okay, I'll see what can be done, thanks again.

Link to comment
Share on other sites

  • 2 years later...

Its certainly not physically based or elegant, but you can fake it by computing it in the same way as MP or RT and then just turning the result into a BSDF.

Attached.

You could also use highly glossy refraction for a less hack approach perhaps?

faketransluscency.hip

Digging up this old thread. Have anyone got this method to work with PBR in H11? I get total blackness.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...