"I have the power!"
Besides: surely, you will render scene with totally uniform environment light faster without MIS, but what is the point? To have 4.95s on frame instead of 5? Hard scenes are the ones that matter.
Yes... exactly as Keymaster says... The difference is very similar to BSP vs BSP2 in MR. While old BSP can sometimes in very specific extremely simple situations be very slightly faster, new BSP2 is extremely faster in pretty much any more complex scene.
In real VFX production, you get only very rarely in contact with scenes that are uniformly lit and shaded by Lambertian materials. And in such a scenes, BSDF sampling only could be ever so slightly more efficient, but that would not justify total failure in scenes of average lighting complexity.
minizun, spec and reflect are 2 different things, except you call reflection spec.
are we talking about reflect only or are we talking about a physical correct way of rendering specs aka faked reflections of lightsources?
you want to have physical correct specs which renders like a reflections of lightsources with correct falloff over distance, so energy converving speclights?
Did you read the part that speaks about MIS in the papers I posted in the first post ?
Also I just posted a picture to show you what I mean with that vRay needs specular and that they are not the specular you are talking about. Vray calls it specular, but it's not. It's not the good old specular that we try to avoid with mentalRay. Look at the picture exemple.
as far as i know, vray has spec and reflect and spec is not reflect. the spec model from vray is more detailed then mr's, but its not a reflection like a mirror.
First, the mia_material is one of many possibilities, when speaking of mr, while vray comes with a material. There are advantages and disadvantages to controlled limitation. So when one says mental ray, when one really means the mia_material, it is not quite accurate regarding mental ray's capabilities. That shader was developed not by the whole ARC team, but by an individual team member targeting a certain type of use in a particular DCC application.
Second please note this terminology for successful communication. My terms:
direct specular/glossy reflection -> highlight pass, aka specular pass
-- light directly from lights typically gathered in a light loop for more traditional types of shading
indirect specular/glossy reflection -> reflection pass
-- light coming from objects and environment (if env not implemented as a light), typically using ray traced reflection rays
visible area lights
-- can provide both direct and indirect options for material shading, since it can behave like a direct light, and can also be hit by a raytraced reflection ray
-- in mr, shader writers can choose how much of direct or indirect contributes to the specular/glossy reflection, therefore can use the MIS concept of the mix between direct and indirect specular/glossy reflection depending on glossiness and other conditions. Its up to how much the shader writer wants to do. In mia, there is a switch for example to use direct (highlights) only if you wish.
Light Importance Sampling
-- often used in IBL implementations at the shader level, because HDR use is much more effective with it
-- in mr ibl, it comes in user ibl shaders, or the builtin IBL, or also the env part of IP (deprecated now with the other ibl options)
-- in mr, general Light IS will be coming as an option applied automatically for area lights with sample variation
Multiple Importance Sampling (MIS)
- leverages both Light Importance Sampling and Material Importance Sampling (practically requiring a bsdf for the material)
- still susceptible to issues when both light and material importance are low, but the light energy is high, given a particular incoming/outgoing angle pair
- yes, it has overhead, but that overhead can be quite small relatively (you are all right)
Personally, I think marketers (and therefore users) of renderers speak fast and loose with the MIS label, when MIS concepts are used.
In mental ray, shader writers have flexibility to implement MIS techniques, but we are developing methods to make it easier for them, utilizing the abilities of the core for true MIS, and providing shader template examples, while continuing to provide mr's natural flexibility, the flexibility on which they rely. That flexibility is typically important for production users.
Training and Special Projects, NVIDIA ARC
LAmrUG Forum Originator
@MiniZun: Your tests have been extremely informative for me and sparked my interest quite a bit. So thanks for posting here, especially Veach's thesis. It will take me quite some time (to put it mildly) to make it through that, but little pieces here and there are digestible and intriguing. Anyway, inspired by your tests between the glossiness of mia and vray mtrl I decided to do my own tests. I am planning on making a vray to mental ray and vice versa shader converter so these differences are very important in order to do as little manual tweaks to the shaders after the conversion is done as possible.
When mapping vray glossy to mental ray I got slightly different results than your chart you posted. Here is what looked correct to my eye:
Vray to mental ray refl glossiness:
0.9 to 0.6
0.8 to 0.35
0.7 to 0.2
0.6 to 0.1
0.5 to 0.01
Below 0.01 there is the cut off you mentioned where no change occurs. So 0.5 on Vray is as far as I can go.
Now doing these tests I can understand for arch vis why users would have wanted more control over the highlight region of the glossiness. When there is a highly reflective flat plane on the ground the vray material goes from shiny to highly glossy almost immediately. At 0.9 on vray material the floor is massively glossy. I can see if someone was doing lots of glossy floors in an arch vis scene why they would want more precise control over that area of the glossiness. When there is no flat plane on the ground the transition to super glossy does not seem so extreme on the vray material, but as soon as there is a flat plane it feels like it gives way to super glossy very quickly.
One other thing I noticed, the vray reflection tends to get duller than the mia as it gets wider. The mia retains a nice punchiness while the vray material dulls out in comparison. Smooth, but dull.
Curious to hear what you think about my mapping of the vray glossy to the mia since mine differs slightly from yours.
Last edited by JJJenkins; August 10th, 2012 at 06:43.
I did 't make enought tests to be very accurate on comparison.
the curve I used to convert the glossines was working well on my bullet, but it was a completely intuitive convertion so your different results dont surprise me at all. You must be right if you made more precise tests.
And now that you mention a possible raison for the glossiness scale of the mia, it looks quite good.
I still haven't done any "near perfect reflection" on vray, I'm mostly doing very blury reflection or perfect mirror so I still haven't neaded to have control over those high glossiness value.
But it there a clamp on vray ? even if yhe scale is linear, while the control is a float, you can put 0,99 etc.
My main complains was about the hard limit of 0.01 that has no sens.
For the duller thing, try to compare a mia and a bsdf arch comp with the same settings. I noted that for wide glossy reflection, the mia sayed very bright while the bsdf got dimer. The last one seams the more correct for me, the more the light diffuses, the less it's bright. The mia may be the wrong one.
But I remember someone saying that the mia was the only real microfacet's based glossy reflection.
So maybe this is the reason.
I have another question for bart about importance sampling.
Narann gave a link to a cgtalk topic talking about using importon with photon.
could it be something similar to the recent research on importance driven photon mapping ? I can't find the paper talking about it. I will try to find it today to post a link.