Author Topic: (un)bias mode  (Read 3627 times)

2014-12-05, 10:22:21

Christa Noel

  • Active Users
  • **
  • Posts: 911
  • God bless us everyone
    • View Profile
    • dionch.studio
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

2014-12-05, 14:45:39
Reply #1

borisquezadaa

  • Active Users
  • **
  • Posts: 615
    • View Profile
All hail Stanislaw Ulam!!!!
What i do with Corona My Corona post of random stuff rendering
WARNING: English.dll still loading...

2014-12-05, 15:00:20
Reply #2

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 6412
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Did you try to google it?
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2014-12-05, 15:10:38
Reply #3

Captain Obvious

  • Active Users
  • **
  • Posts: 168
    • View Profile
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.

2014-12-05, 15:20:37
Reply #4

Juraj Talcik

  • Active Users
  • **
  • Posts: 4005
  • Staying home, like I always did. So should you :-)
    • View Profile
    • studio website
Captain's explanation could go directly to marketing page :- ) Perfectly said and illustrated.
talcikdemovicova.com  Website and blog
be.net/jurajtalcik   Our studio Behance portfolio
Instagram   Our studio Instagram, managed by Veronika

2014-12-05, 15:46:12
Reply #5

Ondra

  • Administrator
  • Active Users
  • *****
  • Posts: 8907
  • Turning coffee to features since 2009
    • View Profile
excellent writeup... only small problem is that the "rolling every 5 rolls and interpolating" is actually probably unbiased (without the rounding)
Rendering is magic.
Private scene uploader | How to get minidumps for crashed/frozen 3ds Max | Sorry for short replies, brief responses = more time to develop Corona ;)

2014-12-06, 03:07:14
Reply #6

Christa Noel

  • Active Users
  • **
  • Posts: 911
  • God bless us everyone
    • View Profile
    • dionch.studio
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

2014-12-07, 00:33:27
Reply #7

Captain Obvious

  • Active Users
  • **
  • Posts: 168
    • View Profile
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.