Chaos Corona Forum

General Category => General CG Discussion => Topic started by: Christa Noel on 2014-12-05, 10:22:21

Title: (un)bias mode
Post by: Christa Noel on 2014-12-05, 10:22:21
hi all :)
there are many article that explain about biased & unbiased render mode. some article said (un)bias mode is like this & said like that.... i just don't get it for the deep comprehension.
personally i don't care about any method used by a render engine as long as it produced correct result just like in reality.
but i think it is a must to know, what is "bias" , "unbiased"??
and especially about two words offered by corona; "slightly unbiased" by default.. what is slightly unbiased?? how much difference with biased or it is named "hybrid" in other designation.
i know that it is a classic question, sorry.
i really appreciate for any response.

thanx
Title: Re: (un)bias mode
Post by: borisquezadaa on 2014-12-05, 14:45:39
All hail Stanislaw Ulam!!!!
Title: Re: (un)bias mode
Post by: romullus on 2014-12-05, 15:00:20
Did you try to google it (http://bit.ly/1yTFkdW)?
Title: Re: (un)bias mode
Post by: Captain Obvious on 2014-12-05, 15:10:38
The word "bias," as it applied to 3D rendering, has more or less lost its meaning. The original definition is basically about statistics. Here are some analogies:

Imagine that you're rolling dice. Thousands of them. They're all six-sided and perfectly weighted. Given enough rolls, you will come to the correct average (3.5). However, imagine that you re-roll all ones. The likelihood of getting a one is 1/6th. If you re-roll it, the likelihood of getting another one is also 1/6th, which means the likelihood of rolling an actual one is just 1/36th. The average now becomes ~3.917 instead of 3.5. Your die rolling has become biased because you're selectively re-rolling. This is more or less what happens when you use adaptive sampling (like the adaptive DMC sampler in V-Ray).


Imagine that you're rolling dice again. You've got thousands of die rolls to make and write down in a book, but it's taking you much too long. Let's say you've got 10 000 die rolls to make. Instead of actually rolling 10 000 dice, you roll every 5th for a total of 2000 die rolls. For the rolls you didn't make, you just interpolate between the surrounding rolls. You start by rolling a five and write that down on a line, then you skip four rows ahead and then roll another die. It lands on a three. For the four in-between rows you now interpolated them based on the five and the three: the second line would be 4.6, the third would be 4.2, etcetera. Obviously, you can't actually roll a 4.2 so you could round these numbers off to the nearest integer (whole number). Rounded off, the in-between rows would be 5, 4, 4, 3. When the data is all entered, you have all 10 000 rows but you only made 2000 rolls. This is effectively what methods like irradiance caching (and HD Caching in Corona) do. By interpolating between existing data points you generate something that might look correct, but won't be. This is biased because there's no way of being certain how large the error is. If irradiance caching misses small details, it's because the engine didn't know that there were supposed to be details there in the first place.


When people say "unbiased engine" what they usually mean is an engine that uses brute force path tracing with plausible lighting and shading models, capable of generating advanced lighting phenomena (such as complex caustics). Strictly speaking, none of this is related to bias. It is entirely possible to make a render engine that fulfils all those requirements while still having bias, and vice-versa.


If someone says that Corona is "slightly biased," they likely refer to the fact that Corona largely behaves in a very predictable way and lacks the usual problems associated with biased rendering methods (irradiance cache flickering and detail loss, for example). It doesn't require you to mess around much with quality settings. There are no adaptive noise thresholds to set. It behaves more like Octane or Maxwell, while still having the speed of a "more biased" engine like V-Ray.
Title: Re: (un)bias mode
Post by: Juraj on 2014-12-05, 15:20:37
Captain's explanation could go directly to marketing page :- ) Perfectly said and illustrated.
Title: Re: (un)bias mode
Post by: Ondra on 2014-12-05, 15:46:12
excellent writeup... only small problem is that the "rolling every 5 rolls and interpolating" is actually probably unbiased (without the rounding)
Title: Re: (un)bias mode
Post by: Christa Noel on 2014-12-06, 03:07:14
yes romullus, of course i have googled it. that's why i said
hi all :)
there are many article that explain about biased & unbiased render mode. some article said (un)bias mode is like this & said like that.... i just don't get it for the deep comprehension.

capatin obvious, what an excellent explanation. you give me that much detailed words.
keymaster, thanx for correcting.
many thanx for you guys. :-D
Title: Re: (un)bias mode
Post by: Captain Obvious on 2014-12-07, 00:33:27
excellent writeup... only small problem is that the "rolling every 5 rolls and interpolating" is actually probably unbiased (without the rounding)
Yes, that would still actually be unbiased in this particular example. You'd just get a lower quality result.