Ideas on making V-Ray's sampling UI more intuitive.

This idea was born from the Understanding DMC Sampler thread - the issue came to my attention when reading through and seeing how many users (including myself at first) were having difficulty understanding how to optimize their render quality / time. It’s clear that moving beyond the universal 1min / 100max AA V-Ray settings often yields the best results… but it can be very unclear (especially to newer users) exactly how to do it.

As V-Ray is now:

  • The Image Sampler’s (AA) min/max completely dictates how many samples the DMC Sampler takes of a scene.
  • The higher the Image Sampler’s min/max values becomes, the lower the DMC sampler min/max becomes until you quickly reach only 1 DMC sample taken per AA sample.
  • Because of this connection between the Image Sampler and DMC Sampler, you run into many instances where trying to control the DMC Sampler through various values throughout your scene ( subdivs / adaptive amount / min samples / global subdivs mult ) ends up having no effect on the resulting render - especially with higher AA values. This often makes optimizing the DMC sampler difficult and unintuitive.

In example: A user has their scene’s AA set to 1 min / 25 max, and in their render they’re getting a somewhat noisy glossy reflection. So they up that material’s subdivs from 8 to 16 thinking that might help clear up the noise - but under the hood of V-Ray, going from 8 to 16 (or even 20, or 25) makes no difference to the resulting render since this DMC value gets divided down to just 1 sample taken per AA sample. The user gets confused as to why increasing the value seems to have had no effect and has to resort to the documentation / forums… It’s unintuitive.

So while we directly set the min/max of the Image Sampler (AA) for our scene, we only have indirect control over the DMC Sampler.
What I believe would be more ideal is for users to be able to set their Image Sampler (AA) according to scene requirements, and then be able to tune the DMC sampler in a logical and intuitive way - yielding the best possible render times and quality. What I had in mind as a solution would be this UI mockup:

So here V-Ray would have only 6 values to globally control all sampling:

Image Sampler (AA):
Min / Max / Color Threshold

DMC Sampler:
Min / Max / Noise Threshold

Along with those 6 values, there are 3 buttons in between the Image Samples and DMC Samples columns:

  • When either of the first two buttons are ENABLED - the DMC subdivs value gets divided by the Image subdivs value. (Old V-Ray behavior)
  • When either of the first two buttons are DISABLED - the samples are taken as is - no division of values occurs. The Image Sampler and DMC Sampler are no longer linked.
  • The last of the 3 buttons simply links the color threshold to the noise threshold.

Furthermore, underneath the sampler values is a box that provides direct feedback as to how many samples will be taken per pixel of your scene according to the current settings.
Here’s an example of what happens in the feedback box when one of the division buttons is enabled (it shows you the new resulting DMC samples amount):

With this setup we’re given direct control over both the Image Sampler (AA) and the DMC Sampler.
All settings regarding sampling are directly shown to the user in a logical, intuitive, clear and uncluttered way.
Possibly confusing values like adaptive amount / min samples / etc are eliminated.
And most importantly - there’s no longer instances where raising or lowering a value makes no difference to the resulting render.

Now all that’s left to do is replace the Subdivs values found in lights / gi / materials with a simple Multiplier value that defaults to 1.0
If you need more samples in any specific place, raise the multiplier accordingly. Double the multiplier = double the samples.
Again - intuitive and logical - always having the expected effect.

Below is a mockup of the Material Editor, where the old DMC Subdivs value is now replaced with a Samples Multiplier value which just multiplies whatever your global DMC min / max values are.
Also next to the multiplier value is a box that gives you direct feedback as to how your multiplier currently relates to the global DMC min / max values:

Here is an example of when the reflection multiplier is changed from 1.0 to 2.0:

Good idea? Terrible idea? It’s been kicking around in my head while waiting for renders to finish up. I’m sure there’s still room for improvement, but I’d be interested to hear what the user base thinks of it.
As an added bonus - I think older V-Ray scenes could be opened and translated into this new sampling setup with a bit of math… and hopefully render very closely to how they did before.

Hope that all makes sense - let me know if anything needs clarifying!

This would be awesome!

Stan

This sounds great!

I am game with this idea.

Does it make sense to have two buttons for the division of the samples (min/max)? Is there ever a case where you would want them in different states?

Best regards,
Vlado

Also another question; how would the irradiance map fit into this? Importance sampling (that depends on the material reflectance, light brightness etc)?

Best regards,
Vlado

This looks great to me. Seems a very logical approach where you can see the impact of tweaking a value. I do find it crazy at the moment that changing values can have little/no effect on end results. I just about understand it myself, but trying to explain it to other members of my team is difficult.

Brilliant response. An image says a thousand words!! lol.

I have to say that I like that approach. Would need some time to get used to it, but I think it would be an improvement.

I am for any kind of change that would bring more light in the topic, so this is very welcome activity :slight_smile: Thanks!!!

BUT

whatever is implemented in the end, it MUST be well explained and documented on sample in the VRAY online manual so everyone understands.

plus…i would really love vray UI to have explanations like CORONA has…very simple to understand!

Would it work with the multiplier on just the subdivs?

Definitely in favour of the little box telling you the ‘real’ subdivs in the materials etc.

Grant - HAHAHAHAHA that pic made my day! :slight_smile: Couldn’t have asked for a better first response.

Vlado - Yes, good point! It can be simplified further to just have one button to control connection between Image Sampler and DMC Sampler. As for the Irradience Map and Important Sampling - why would they be affected? I don’t pretend to know enough about how they work under the hood to say how to best approach it, maybe you can provide some insight? But since only the UI for sampling has changed - couldn’t the older values still be figured out based on what the new values are set to. I’m sure an ideal solution can be found!

PIXELBOX_SRO - Yes, good documentation is always important. :wink: I’d personally like a tool-tip to come up when you hover over the middle sampler buttons explaining exactly what they do as well.

Great to hear the positive responses thus far!

i have to second this, even if i dont know when we will have Vray 3 here. “Making the Complicated Simple” is always welcome!

Sounds good to me.

Arnold is commercial now. Arnold’s sampling and noise reduction workflow couldn’t be easier and people are going to love it. Side by side Vray’s current front end needs clear, unified values. This is it.

I think this would be a very welcome change to old users who are not yet mastering v-ray’s finer, deeper qualities. New users would benefit greatly. I really believe some of these interface improvements will simplify a lot of misconceptions.

I’ve used Arnold. I love Vray. The heat is on for this.

I don’t quite a agree here (and by that I mean that setting up an optimized V-Ray render is not any more slow or complicated than setting up an optimized Arnold render), but I’ve no desire to go back to that right now. We will probably revisit this again at one point, but for the moment things will stay as they are as there are some more urgent things that need attention.

Best regards,
Vlado

The question is, how to improve this, without making a bigger mess of everything… I guess we could add a hidden option that turns off the sample balancing. You can test it if works ok for you and if so, we can put it in the UI. If you don’t have access to the 3.0 nightly builds, email us to vray@chaosgroup.com - the option will be there for the next nightly and is called “dmc_balance_subdivs”, it is on by default but you can turn it off from MaxScript.

Best regards,
Vlado

Like this… I hope you will find it useful…

Best regards,
Vlado