Jump to content

Mantra Surface Model equivalent of Glossiness(Vray), Roughness(arnold)


Erik_JE

Recommended Posts

As the title suggests. What would be the equivalent of Glossiness(Vray), Roughness(arnold) in the Mantra Surface Model and how does it map to them.

 

Changing the Reflection/Refraction Angles gives a similar result as adjusting Glossiness/Roughness materials but it's hard to get it right as it goes between 0 to 90 degrees and the gloss and rough attributes goes between 0 and 1.

 

Links:

http://help.chaosgroup.com/vray/help/150SP1/examples_material.htm#reflection_glossiness

http://help.chaosgroup.com/vray/help/150SP1/examples_material.htm#refraction_glossiness

 

https://support.solidangle.com/display/AFMUG/Specular

https://support.solidangle.com/display/AFMUG/Refraction

 

Someone on odforce somewhere posted that:

rough = sin(radians(angle))

 

But we could not get that to work.

 

Cheers,

Erik

Link to comment
Share on other sites

without being able to test and compare I would assume that there are 2 straightforward mappings which may make sense

1.  angle = 90*rough                                =>  rough = angle/90

2.  angle = degrees(arcsin(rough))        =>  rough = sin(radians(angle))

 

but it may highly depend on lighting model you are using as well

if you have the ability to compare then it's quite easy to find out the math behind (if exists), but be sure to compare the same lighting models

Link to comment
Share on other sites

We tried to use Phong everywhere.

 

1. This was the first I tried but it gave very different result. 0.2 roughness in arnold would be 18 degrees in mantra reflection angle but that was a lot more blurry. About 5 degrees gave a similar result.

2. 0.2 roughness if calculating angle would give ~11 degrees which also is a lot blurrier.

 

Maybe it don't map. Who knows

 

Mapping between arnold and vray seems to be:

roughness = 1 - glossiness

So 0.8 glossiness in vray gives the same result as 0.2 roughness in arnold.

 

 

It's funny how exactly the same arnold and mantra looks on diffuse surfaces.

Link to comment
Share on other sites

the only thing I can suggest is try to render out few sample images of roughness of 0 .1 .2 .3 ... .9 1 (or smaller steps)

then try to match each of them visually in Mantra and plot the values it returns into the angle/roughness graph

then see if it can be simplified with some function or not

  • Like 1
Link to comment
Share on other sites

It makes me a little sad. :(

I know we all want great new features etc but this is some thing currently in Houd could do some some house cleaning, i would sacrifice a new feature set for a release so things like these could get filled out. /rant

:)

Link to comment
Share on other sites

Some PBR shading models use the square of the roughness parameter inside, to get a more linear-feeling control to the user. This might be another source of perceived discrepancy.

 

Physically-Based Shading at Disney:

 

 

For roughness, we found that mapping alpha = roughness^2 results in a more perceptually linear change in the roughness. Without this remapping, very small and non-intuitive values were required for matching shiny materials.

Edited by eetu
Link to comment
Share on other sites

Sebkaine had studied similar topic.

 

 

 
 

 

Why?! Why, this documentation is so good!?

 

Wow that documentation is insane. I mean SESI docs are also very good and very long but that Arnold one seems like it has a professional writer doing these or something :)

Link to comment
Share on other sites

  • 2 weeks later...

Some PBR shading models use the square of the roughness parameter inside, to get a more linear-feeling control to the user. This might be another source of perceived discrepancy.

 

Physically-Based Shading at Disney:

 

Yup:

https://support.solidangle.com/display/ARP/General+FAQ#GeneralFAQ-Whatisthere-parameterizationofspecular_roughnessinthestandardshader,andwhyisitnon-linear?

Link to comment
Share on other sites

Some PBR shading models use the square of the roughness parameter inside, to get a more linear-feeling control to the user. This might be another source of perceived discrepancy.

 

Physically-Based Shading at Disney:

 

Yeah it is probably something like this.

Did some quick tests as anim suggested with trying to replicate vray glossiness with mantra reflection angle and got something like:

 

4 degrees

0,2 gloss
 
20 degrees
0,5 gloss
 
70 degrees
0,8 gloss
 
Which indeed seems very exponential.
 
Tested with:
glossiness = sqrt(angle) / sqrt(90)
 
Calculating the angle like that the values would be:
0.2 ~ 3.6
0.5 ~ 22.5
0.8 ~ 57.6
 
Which is pretty close.
Edited by Erik_JE
Link to comment
Share on other sites

Wow that documentation is insane. I mean SESI docs are also very good and very long but that Arnold one seems like it has a professional writer doing these or something :)

 

I'd imagine that as Solid Angle does rendering only, that it's docs will have to be good for rendering.  Mantra is a part of Houdini.

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