VRay is a typical renderer with the MC distributed ray tracing as the core, we often meet in the rendering process for many different types of computing processes, many of which are inseparable from MC distributed ray tracing. Below I list the features and sub function blocks that need to invoke the MC distributed ray tracing process:
The 1:fixed type of Image anti-aliasing (when its value is greater than 1 o'clock) invokes the MC distributed process to anti-aliasing each pixel. )
2:adaptive DMC Sampler Type image anti-aliasing (old version called Adaptive QMC Sampler, the only difference between it and the fixed type is the adaptive process)
Calculation of fuzzy reflection and fuzzy refraction in 3:vray MTL material (when you turn glossy values in the Reflection Panel or refraction panel in Vray MTL to any value less than 1, the glossy is turned on The process of effect (fuzzy attribute) computation, which invokes the MC distributed process. )
4:vray Dirt Map Mapping process (that is, we often say Vray AO, this process needs to call the MC distributed ray tracing to launch a large number of detection light to collect the blocking around each pixel. )
The soft shadow calculation process of 5:vray surface light source (unlike the blunt shadow edge of the traditional ray tracing), the vray surface light relies on the secondary light emitted by MC distributed ray tracing to touch the shadow of the light source. )
The motion blur of 6:vray relies on the distributed ray tracing algorithm to compute the time domain, so this process relies entirely on the MC distributed process. )
7:vray's camera depth effect (the depth of field depends on the discrete computation of spatial distances by distributed ray tracing). )
The calculation process of 8:irradiancemap (during the calculation of Irmap, when the image is analyzed by Prepass and the sampling point is lowered, distributed light is required to be emitted from the sampling point to the virtual hemisphere space of the surrounding environment to detect and collect the information, thereby calculating the final GI result of the pixel of the sampling point itself, This process is called the MC distributed ray tracing to complete, and HSPH subdivs decision is actually the process of emitting hemisphere distributed light quantity. )
9:brute force algorithm to calculate the GI process (brute force is the old version of the QMC GI algorithm, whether you are in the VRay indirect lighting panel of the main GI engine or secondary GI engine to open brute force, are directly called MC Distributed process to the image of each pixel on the GI calculation)
According to the features listed in the table above that depend mainly on the MC distributed process, it is not difficult to see the dominant position of MC distributed ray Tracing algorithm in VRay, so please remember at least the several situations I mentioned in the table above, because their calculation is related to the parameters provided in this panel. That is Vray DMC Sampler (Vray DMC Core sampling manager).
Originally the name of this panel is called "Vray QMC Sampler", Vray from version 1.5 began to change its name to "DM C", where many friends have puzzled, in the end DMC and the difference between the QMC? There is no difference, mentioned in this, I first for everyone to understand a few concepts:
First of all, understand the MC, that is, Monte Carlo (Monte Carlo), Monte Carlo is actually a distributed integration, and the Monte Carlo algorithm specifically used this integration generated by the distribution of the probability to produce a variety of fuzzy data, in fact, the characteristics of the table involved are to solve the fuzzy effect, Anti-aliasing is in order to blur the image, the fuzzy inverse refraction is also to produce fuzzy but from the real situation of the inversion of refraction imaging, motion blur is in order to allow imaging based on the speed and time of the relationship between the fuzzy effect, and so on.
And what is QMC? The full name is Quasi-monte Carlo (quasi-Monte Carlo), which is actually a variant of the Pure Monte Carlo algorithm, which reduces the range of algorithm sampling, the random samples produced by QMC all come from a low differential data sequence, rather than the large pseudo random number generated by the traditional MC, but in fact, VRay in the new version has abandoned the QMC distributed characteristics, the use of a new MC variant algorithm, which is the next we will say DMC.
DMC's full name is: Deterministic Monte Carlo (deterministic Monte Carlo), DMC as a variant of the MC, the difference is that the MC generated for the fuzzy results of sampling points from a large random dataset, Even if our calculations or considerations do not change at all, the fuzzy results of the calculations are different each time. DMC is different, DMC first according to some rules to consider the importance of computing and the characteristics of the content, a set of data sequences is then determined beforehand, and the sample is generated from the set of determined data sequences, so multiple computations are consistent, which is beneficial to the computation of the animation and better reduction of the possible noise. The difference between DMC and QMC is that the two choose to produce a sample sequence set of data different, considering the rules are different. In fact, QMC is only a subset of DMC.
OK, we don't need to waste too much time on these pure theoretical definitions, just to make a point, and I'm going to explain how this core DMC, VRay, affects how these functions are implemented in the table above.
Let's take a look at the following panel, which is the core of VRay DMC Sampler,vray: