New Mental Ray shaders development

Discussions regarding Materials, Material-Compounds or Shaders, etc.
User avatar
Daniel Brassard
Posts: 871
Joined: 18 Mar 2010, 23:38
Location: St. Thomas, Ontario

Re: New Mental Ray shaders development

Post by Daniel Brassard » 25 Mar 2013, 18:23

Thanks Kzin, I just notice your post on MR Forum. I should have check! :)

I am working on MetaSL shaders at this time, so did not have the chance to test MILA deeply but I like the principles of layering. I am looking at transferring some of the knowledge of MILA to MetaSL.

MetaSL in the other hand is PITA. In Soft2013, we still have specification 1.1.6. Hope Soft moved to 1.2.2 as we are missing some good types, functions and methods (Color3, transform_to_local, etc)

It look like some thing are also broken in Soft interpreter as some shaders only show inputs (althought the code clearly show outputs). I found some solutions for some of them thought.

I would like to also access the geoshader attributes, but that is for an other time. I may have to go native C++ for that.

Thanks for your contribution to the MILA shaders. Your comments are very much appreciated.

Dan
Last edited by Daniel Brassard on 08 Apr 2013, 21:22, edited 1 time in total.
$ifndef "Softimage"
set "Softimage" "true"
$endif

User avatar
Daniel Brassard
Posts: 871
Joined: 18 Mar 2010, 23:38
Location: St. Thomas, Ontario

Re: New Mental Ray shaders development

Post by Daniel Brassard » 08 Apr 2013, 21:17

Update to layering shader library as of 5 April 2013. Two packages, one for 3.10. and one for 3.11.

Fixed in this version (updated April 5):
-glossy transmission lobe now matches glossy reflection lobe
-documentation updated with input argument changes in previous patches, and now includes examples

Fixed in previous versions 3.10.3.18/3.11.2.1 (updated March 12):
-scatter component, rgb all detected for maximum sample radius
-glossy reflection/transmission changed to use quality instead of samples
-bump flakes, significant experimental changes, looking for feedback
-two versions, one for 3.10 and one for 3.11
-please note that the doc is not up-to-date with these changes, in particular the car paint Phenomenon

Fixed in previous version 3.10.3.17:
- components render by themselves for shader ball rendering (note that currently the max gui declarations supplied separately in max thread)
- ao colorbleed issues fixed
- default ray cutoff much smaller, won't lose energy for high ray count glossy samples in first hit
- transparency weighting should be more consistent (still possible issue with alphas)
- more passes available, and specular transmission light passes split off

Fixed in previous version 16b:
- dark edge falloff for specular/glossy traced reflections
- roughness exponent, now actually a power exponent of roughness before translation into brdf usage, a value of 1 should match iray
- Mac OS X linkage, possibly fixed with restructured code

Known issues in this version:
- glossy roughness and roughness exponent curve control will continue to be tested for potential modification (this version has correct direction for roughness_exponent, and default of 3, better, probably somewhere between 2 and 3 should be default)
- glossy transmission usage may cause crashing issues on Linux
- mila_bump_flakes not documented, and will continue to be modified for noise pattern reduction/changes
- transparency and LPE specification not fully implemented as planned, and documentation is a bit out-of-date, for example "L<RG><TS>+E" is how you'd see direct glossy light through one or more specularly transmissive surfaces, most likely transparent
- documentation of recommended Lighting needs rewrite, and Framebuffer discussion not finished
- missing mila component code example
- components by themselves plugged directly into a material will cause a crash. This crashes when making shader ball images in 3ds max, for example.

The package comes with documentation, and we'd like to involve the community in helping us refine the documentation, so I'll start posting up some of the documentation here to start the process.

Last edited by bart; April 5th, 2013 at 12:06. Reason: update
The updates are available as per the original thread location.
Nice!

From Bart at NVidia Advanced Forum:
Just put up a new download (April 4) that makes glossy transmission lobe match the glossy reflection lobe for the same roughness value.

Also, updated the doc a little bit with car paint Phen etc., matching the current layering.mi. However, now thinking I will change some of the defaults and naming of car paint to better serve these shaders, and future work, rather than match the older car paint terms. More in the paint flakes thread.

Next download in a week or two will have some input argument name changes, just giving out a word of warning now. Hoping that will be the last name changes before a first release, and able to focus on bugs, etc. for that release.

Known issue working on right now is the alpha for a transparent beauty, including going through multiple levels of transparency. Also, trying to assess exactly how to address propagate alpha, when using mila_specular/glossy_transmission. Its more complex now as a non-monolithic shader.
Cheers!
$ifndef "Softimage"
set "Softimage" "true"
$endif

Fer
Posts: 52
Joined: 03 May 2011, 14:38

Re: New Mental Ray shaders development

Post by Fer » 08 Apr 2013, 21:40

Waiting for MR 3.11 to test these babies. Hope Light importance sampling and MIS play nicely with these shaders.

Bullit
Moderator
Posts: 2512
Joined: 24 May 2012, 09:44

Re: New Mental Ray shaders development

Post by Bullit » 09 Apr 2013, 00:48

So this needs 2014?

Kzin
Posts: 432
Joined: 09 Jun 2009, 11:36

Re: New Mental Ray shaders development

Post by Kzin » 09 Apr 2013, 01:01

Bullit wrote:So this needs 2014?
no, the mila shaderpackages are available for mr3.10 and mr 3.11 so you can use them also in 2013.

Bullit
Moderator
Posts: 2512
Joined: 24 May 2012, 09:44

Re: New Mental Ray shaders development

Post by Bullit » 09 Apr 2013, 10:52

Thanks.

Falam

Re: New Mental Ray shaders development

Post by Falam » 12 Apr 2013, 02:11

I asked this question on the nvidia forum, didn't get an answer as quick as I wanted, and a tad lazy to search this thread :D Here was my question;

The docs state
Two Reflection Nodes
One Refraction Node
One diffuse node
There are more then one reflection node which two do I plug into the layer node and which MILA layers node do I use ? I tried MILa_mix and Mila_layer, I can't plug any reflection\refraction node into either any of these layer nodes?

Kzin
Posts: 432
Joined: 09 Jun 2009, 11:36

Re: New Mental Ray shaders development

Post by Kzin » 12 Apr 2013, 09:53

Falam wrote:I asked this question on the nvidia forum, didn't get an answer as quick as I wanted, and a tad lazy to search this thread :D Here was my question;

The docs state
Two Reflection Nodes
One Refraction Node
One diffuse node
There are more then one reflection node which two do I plug into the layer node and which MILA layers node do I use ? I tried MILa_mix and Mila_layer, I can't plug any reflection\refraction node into either any of these layer nodes?
you have to use a mila_glossy_reflection node or mila_specular_reflection node and not the old mib nodes.

User avatar
Daniel Brassard
Posts: 871
Joined: 18 Mar 2010, 23:38
Location: St. Thomas, Ontario

Re: New Mental Ray shaders development

Post by Daniel Brassard » 09 May 2013, 18:32

Update to the Mila shader library on ARC.
Fixed/changed in this version (updated May 5)
-many elemental component inputs changed so that rendering related optimizations have been mostly moved from shader to string options. More MDL like.
- quality now instead of samples for scatter and diffuse
- the diffuse quality represents indirect detail samples (similar to ao samples using color bleed). The string options are "mila diffuse detail" on/off defaulted off and "mila diffuse detail distance" default 10.0
- one overall quality "mila quality" in addition to "mila diffuse quality" "mila glossy quality" and "mila scatter quality" all defaulting to 1.0
-direct and indirect scale factors added to elemental component inputs, not working yet for glossy/specular transmission
-roughness added to diffuse transmission to match reflection, but not working yet
-alpha propagated for mila_transparency
-added "mila clamp output" on/off for clamping outputs of mila_material to a luminance under 1.0
-changed most extra printed information to debug (-v 6)
Will need a proper (native) string options implementation in Softimage if this trend continue....

More about the May update and string options thinking on elemental ray:

http://elementalray.wordpress.com/2013/ ... tures-may/
$ifndef "Softimage"
set "Softimage" "true"
$endif

Nox
Posts: 108
Joined: 16 Apr 2013, 13:28

Re: New Mental Ray shaders development

Post by Nox » 10 May 2013, 13:58

Will need a proper (native) string options implementation in Softimage if this trend continue....
Is it only me, or MR devs really exist in their own universe?

User avatar
Daniel Brassard
Posts: 871
Joined: 18 Mar 2010, 23:38
Location: St. Thomas, Ontario

Re: New Mental Ray shaders development

Post by Daniel Brassard » 10 May 2013, 14:43

Is it only me, or MR devs really exist in their own universe?
Unfortunately, the "string options" issue is not a MR/NVidia issue but an AD issue. Only AD devs can provide the necessary integration into there software, that include Softimage. Their is a tendancy to blame MR but in most cases the blame is directed at the wrong culprit. There are many improvement to MR (since 3.8) that have been lacking for years now on Softimage, that is squarely on AD shoulders. :-q

MR is no different than Arnold, 3DLight, VRay, or others in this case. TDs have been asking for years for AD to open up the SDK so that tools could be developed to breach these gaps or properly integrate their renderers.

That said, the MILA layering system is a good way forward. NVidia is currently working with AD on the MR integration. Let's pressure AD to put the proper priority in Soft so that we will not miss the boat this time.

Cheers!
$ifndef "Softimage"
set "Softimage" "true"
$endif

Kzin
Posts: 432
Joined: 09 Jun 2009, 11:36

Re: New Mental Ray shaders development

Post by Kzin » 10 May 2013, 14:43

Nox wrote:
Will need a proper (native) string options implementation in Softimage if this trend continue....
Is it only me, or MR devs really exist in their own universe?
its the bad integration from ad's side.
normally you would have these settings in render option but because ad dont care, they need to expose it differently. keep in mind that si has the worst integration from the 3 tools, maya actually the best with the ui from mi. and because the si usern also dont care and dont giving feedback/feature requests, the situation will worse in si until you cannot rely on mr in general.
i think we are not far from that point.

Kzin
Posts: 432
Joined: 09 Jun 2009, 11:36

Re: New Mental Ray shaders development

Post by Kzin » 11 May 2013, 21:25

did some test with one testscene.
good news is that the arealights visibility of lights in si works now, so you can decide if the light reacts to direct and indirect reflections.
this feature and the new clamp option could reduce rendertime from 2h20min to 42min with same quality. unified settings were lowered because of better sampling (or lets say it samples less) now with clamp on.

problem is you need the buggy geo shader to enable clamp, but you also could go over it and use the direct reflection slider in the glossi reflection node to control direct light reflection contribution.

Falam

Re: New Mental Ray shaders development

Post by Falam » 21 May 2013, 01:01

Anyone else who doesn't have Mila_Material_std for framebuffers installed ? I don't, wonder if I'm the only one ? :(

Kzin
Posts: 432
Joined: 09 Jun 2009, 11:36

Re: New Mental Ray shaders development

Post by Kzin » 21 May 2013, 10:51

Falam wrote:Anyone else who doesn't have Mila_Material_std for framebuffers installed ? I don't, wonder if I'm the only one ? :(
what you mean with standard mila mat?
if you want framebuffers out of mila you have to add the mila framebuffers to the framebuffer list:
Kzin wrote:to get the framebuffers out of mila in si:
open scene render option, go to available channels.
then add new channels named like david wrotes in his elemental blog:

direct_diffuse
indirect_diffuse
direct_glossy
indirect_glossy
direct_specular
indirect_specular
diffuse_transmission
glossy_transmission
specular_transmission
front_scatter
back_scatter
emission

all as color type. then add them in pass option in the render channels output and si will ouput them.

Falam

Re: New Mental Ray shaders development

Post by Falam » 21 May 2013, 15:17

Kzin wrote:
Falam wrote:Anyone else who doesn't have Mila_Material_std for framebuffers installed ? I don't, wonder if I'm the only one ? :(
what you mean with standard mila mat?
if you want framebuffers out of mila you have to add the mila framebuffers to the framebuffer list:
Kzin wrote:to get the framebuffers out of mila in si:
open scene render option, go to available channels.
then add new channels named like david wrotes in his elemental blog:

direct_diffuse
indirect_diffuse
direct_glossy
indirect_glossy
direct_specular
indirect_specular
diffuse_transmission
glossy_transmission
specular_transmission
front_scatter
back_scatter
emission

all as color type. then add them in pass option in the render channels output and si will ouput them.
In the Mila documentation is mentions to use the Mila_Material_std. You have to toggle on what framebuffers you want to have, otherwise Softimage doesn't know, and I don't have that node installed ? My practice scene has is the mila layers then (tranmissions, etc) plugged in, there is no option for framebuffers in the mila layers node.