Jump to content

Felt or Velvet Shader in PBR


jumper

Recommended Posts

Hi,

Any pointers on how to create a felt or velvet shader with PBR? I was hoping to just modify the standard mantra surface shader. If I was doing this in micro-poly rendering I would run a diffuse function through a facing-ratio and ramp get to this look. But I am not sure what to do with the "phyically based diffuse" node as this outputs a bsdf. Any ideas would be a great help!

Thanks

S

Link to comment
Share on other sites

You can still do your ramp setup and just multiply the BSDF by the resulting weight or color.

This is actually the standard way of doing it as the BSDF is just a function that - once it gets evaluated - returns the raw irradiance at the sampled point. The function itself has no knowledge about color or intensity and thus it has to be multiplied by a scaling/weighting factor.

Just take a look inside the surface model VOP and you will see how it's done. You can also mix and add different BSDFs just like you would with vectors and floats.

-dennis

Edited by dennis.weil
Link to comment
Share on other sites

Hey,

Thanks for the info ....

I need to add some light to the edges/glancing angles to create a velvet look - so I made a color from multyplying a color with "(1-edgefalloff node)" - which I would like to add to the bsdf network. Adding a color to the bsdf network doesn't seem to work. (I know you said multiply ....but I need to add light to the edges). I found this link ....

http://www.sidefx.com/docs/houdini9.5/nodes/vop/vectobsdf

which might be usefull but I can't find it in Houdini 11... is there an alternative method for this?

Thanks

S

Link to comment
Share on other sites

In this case the easiest way would be to make that an emissive component of your shader. Plug the resulting color (it has to be a vector in this case i think) into a parameter node named Ce and set it to "export always" (check the constant material for reference). This way you can also easily get an extra image plane for this part of your shader while rendering.

If you are also using the surface model VOP in your shader you can simply plug it into emission intensity or emission color which will also do the trick.

-dennis

Edited by dennis.weil
Link to comment
Share on other sites

One quick ugly trick is to try above-one values for diffuse roughness to get some of that retro-reflective velvety look.

It works a little bit differently in different apps, depending on how Oren-Nayar is implemented. In Houdini it kinda semi-works, might work as one component of the solution.

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...