Jump to content

  • Log In with Google      Sign In   
  • Create Account


#ActualMatias Goldberg

Posted 12 July 2013 - 06:39 PM

It's because the energy conservation considers the integration across the hemisphere, while you're talking about a single ray.

 

To explain in simple terms, imagine a rectangle of 5x1 in size where the height is the amount of energy going out of from a single ray, each sub-millimeter of the width is a single ray (infinite rays means infinitely small increments across the width), and the area of the rectangle is the total energy going out (the sum of all rays)

 

Now with this analogy, the area of the rectangle is the one that must be equal to one, and your question would be like asking why do you need to change your formula if the height at any given point is 1. The thing is, we need the area to be 1, not the height.

 

If height = 1 and width = 5; then the rectangle area is not energy conserving because it's equal to 5x1 = 5.

Thus, you need to divide your output by 5 (or multiply by 0.2) from each ray so that the area is now 1 --> 5 * 1 * 0.2 = 1

 

This is a simple analogy in 2D terms using a basic rectangle. BRDF is exactly the same thing but over a hemisphere in 3D space. To mathematically obtain the right factor you need to be familiar with limits of integration.

An example of analytically obtaining the right factor can be seen here; and you can look at an even harder example from Fabian Giesen.

 

Note that integration is an advanced topic, usually taught in University-level courses. Some integrals are so hard to solve that we scratch our head multiple times, or just turn to Monte Carlo solutions (a fancy word for saying try multiple times until you start approaching the result)


#2Matias Goldberg

Posted 12 July 2013 - 06:35 PM

It's because the energy conservation considers the integration across the hemisphere, while you're talking about a single ray.

 

To explain in simple terms, imagine a rectangle of 5x1 in size where the height is the amount of energy going out of from a single ray, each sub-millimeter of the width is a single ray (infinite rays means infinitely small increments across the width), and the area of the rectangle is the total energy going out (the sum of all rays)

 

Now with this analogy, the area of the rectangle is the one that must be equal to one, and your question would be like asking why do you need to change your formula if the height at any given point is 1. The thing is, we need the area to be 1, not the height.

 

If height = 1 and width = 5; then the rectangle area is not energy conserving because it's equal to 5x1 = 5.

Thus, you need to divide your output by 5 (or multiply by 0.2) from each ray so that the area is now 1 --> 5 * 1 * 0.25 = 1

 

This is a simple analogy in 2D terms using a basic rectangle. BRDF is exactly the same thing but over a hemisphere in 3D space. To mathematically obtain the right factor you need to be familiar with limits of integration.

An example of analytically obtaining the right factor can be seen here; and you can look at an even harder example from Fabian Giesen.

 

Note that integration is an advanced topic, usually taught in University-level courses. Some integrals are so hard to solve that we scratch our head multiple times, or just turn to Monte Carlo solutions (a fancy word for saying try multiple times until you start approaching the result)


#1Matias Goldberg

Posted 12 July 2013 - 06:34 PM

It's because the energy conservation considers the integration across the hemisphere.

 

To explain in simple terms, imagine a rectangle of 5x1 in size where the height is the amount of energy going out of from a single ray, each sub-millimeter of the width is a single ray (infinite rays means infinitely small increments across the width), and the area of the rectangle is the total energy going out (the sum of all rays)

 

Now with this analogy, the area of the rectangle is the one that must be equal to one, and your question would be like asking why do you need to change your formula if the height at any given point is 1. The thing is, we need the area to be 1, not the height.

 

If height = 1 and width = 5; then the rectangle area is not energy conserving because it's equal to 5x1 = 5.

Thus, you need to divide your output by 5 (or multiply by 0.2) from each ray so that the area is now 1 --> 5 * 1 * 0.25 = 1

 

This is a simple analogy in 2D terms using a basic rectangle. BRDF is exactly the same thing but over a hemisphere in 3D space. To mathematically obtain the right factor you need to be familiar with limits of integration.

An example of analytically obtaining the right factor can be seen here; and you can look at an even harder example from Fabian Giesen.

 

Note that integration is an advanced topic, usually taught in University-level courses. Some integrals are so hard to solve that we scratch our head multiple times, or just turn to Monte Carlo solutions (a fancy word for saying try multiple times until you start approaching the result)


PARTNERS