<p>I'm sadly not able to add a comment to the answer above (not enough reputation), so I will do it like this.</p>

<p>I'd like to point out that what Dragonseel describes is simply an integral equation (specifically a Fredholm equation of the second kind). There are many such equations which do have an analytic solution; even some forms of the rendering equation have one (e.g. the solution of a white furnace can be given using a simple convergent geometric series, even though the rendering equation is infinitely recursive).</p>

<p>It is also not necessary to bias the estimated solution by bounding the number of recursions. Russian Roulette provides an useful tool for giving us an unbiased solution for an infinitely recursive rendering equation.</p>

<p>The main difficulty lies in the fact that the functions for reflectance (BRDF), emitted radiance and visibility are highly complex and often contain many discontinuities. In these cases there often is no analytic solution, or it is simply unfeasible to find such a solution. This is also true in the one dimensional case; most integrals lack analytic solutions.</p>

<p>Finally I'd like to note that even though most cases of the rendering equation do not have analytic solutions, there is a lot of research in forms of the rendering equation which do have an analytic solution. Using such solutions (as approximations) when possible can significantly reduce noise and can speed up rendering times.</p>

CC BY-SA 3.0
2016-07-09T21:49:04.233Z
2017-08-17T10:30:40.403Z
2017-08-17T10:30:40.403Z
Vanbus
<p>The rendering equation is as follows:</p>

<p><a href="https://i.sstatic.net/d9L29.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/d9L29.png" alt="enter image description here"></a></p>

<p>Now, the integral is over the sphere around the point $x$.
You integrate over some attenuated light, incoming from every direction.</p>

<p>But how much light comes in? This is the light $L(x',\omega_i)$ that some other point $x'$ reflects in the direction $\omega_i$ of point $x$.</p>

<p>Now you have to calculate how much light that new point $x'$ reflects, which requires solving the rendering equation for that point. And the solution for that point depends on a huge number of other points, including $x$.</p>

<p>In short, the rendering equation is infinitely recursive.</p>

<p>You cannot solve it exactly and analytically because it has infinite integrals over infinite integration domains.</p>

<p>But since light gets weaker each time it is reflected, at some point a human simply cannot notice the difference any more. And so you do not actually solve the rendering equation, but you limit the number of recursions (say reflections) to something that is 'close enough'.</p>

CC BY-SA 3.0
2016-07-07T20:33:31.707Z
Well you probably could solve the render equation for a point analytically if youd have a stupidly simple scene. And possibly you could get an analytical solution for the entire projected image if your scene is even simpler than that. But that would be useless... :)
joojaa
CC BY-SA 3.0
2016-07-07T20:37:11.353Z
The scene would have to be really simple like only a single flat object. Since there is the integration about the whole sphere even if there are any two points which can see each other the rendering equation gets infinite. Each point includes the other in the integration domain. so Only a single reflector that cannot reflect on itself. then you could solve it. Then there would simply no global lighting effects so is comes down to local lighting. And that is solvable.
Dragonseel
CC BY-SA 3.0
2016-07-07T20:38:44.160Z
Yes that would be stupidly simple.
joojaa
CC BY-SA 3.0
2016-07-10T02:48:54.103Z
@joojaa To my understanding, it's not that the rendering equation is impossible to solve in all cases, but rather that for any time it is solvable, it's of no practical use
galois
CC BY-SA 3.0
2016-07-10T10:50:08.813Z
@jaska it is solvable whenever there is no global effect in the lighting calculation. But we want to solve it because of the global lighting. So yes, whenever it is solvable it is pretty useless.
Dragonseel
CC BY-SA 3.0
2016-07-11T02:08:31.183Z
FYI the Mathjax syntax works on this StackExchange, so if you put $ signs around your identifiers they'll look all math-y.
Julien Guertault
CC BY-SA 3.0
2016-07-07T20:01:22.897Z
2017-08-19T09:41:00.650Z
2017-08-19T09:41:00.650Z
Dragonseel
<p>Why is the rendering equation, introduced by Kajiya in 1986, not solvable directly/analytically?</p>

CC BY-SA 4.0
2023-11-28T12:54:26.660Z
Because over the hemisphere, there is an infinity of random points possible, each leads to a single light path (sample). However, the computers have finite computational ability. So, instead of solving the equation analytically we estimate the outcome with the finite solution.
bim
CC BY-SA 3.0
2016-07-08T05:43:47.840Z
Good question, no research effort.
ivokabel
CC BY-SA 3.0
2016-07-10T01:38:40.420Z
How much do you know about integral equations in general? Are you asking about an analytical solution to it?
galois
<raytracing><rendering><lighting><brdf><global-illumination>
Rendering equation - why unsolvable directly?
Blongphong
# Rendering equation - why unsolvable directly?

(Asked by: username_0 on 2016-07-07)

Why is the rendering equation, introduced by Kajiya in 1986, not solvable directly/analytically?

**Tags:** raytracing, rendering, lighting, brdf, global-illumination

> **Comments:**
> **username_2**: Good question, no research effort.  
> **username_3**: How much do you know about integral equations in general? Are you asking about an analytical solution to it?  
> **username_1**: Because over the hemisphere, there is an infinity of random points possible, each leads to a single light path (sample). However, the computers have finite computational ability. So, instead of solving the equation analytically we estimate the outcome with the finite solution.  

---

## 2 answers

### Answer by username_4 on 2016-07-09. Score: 15

I'm sadly not able to add a comment to the answer above (not enough reputation), so I will do it like this.

I'd like to point out that what username_5 describes is simply an integral equation (specifically a Fredholm equation of the second kind). There are many such equations which do have an analytic solution; even some forms of the rendering equation have one (e.g. the solution of a white furnace can be given using a simple convergent geometric series, even though the rendering equation is infinitely recursive).

It is also not necessary to bias the estimated solution by bounding the number of recursions. Russian Roulette provides an useful tool for giving us an unbiased solution for an infinitely recursive rendering equation.

The main difficulty lies in the fact that the functions for reflectance (BRDF), emitted radiance and visibility are highly complex and often contain many discontinuities. In these cases there often is no analytic solution, or it is simply unfeasible to find such a solution. This is also true in the one dimensional case; most integrals lack analytic solutions.

Finally I'd like to note that even though most cases of the rendering equation do not have analytic solutions, there is a lot of research in forms of the rendering equation which do have an analytic solution. Using such solutions (as approximations) when possible can significantly reduce noise and can speed up rendering times.


---

### Answer by username_5 on 2016-07-07. Score: 13

The rendering equation is as follows:

[![enter image description here](https://i.sstatic.net/d9L29.png)](https://i.sstatic.net/d9L29.png)

Now, the integral is over the sphere around the point $x$.
You integrate over some attenuated light, incoming from every direction.

But how much light comes in? This is the light $L(x',\omega\_i)$ that some other point $x'$ reflects in the direction $\omega\_i$ of point $x$.

Now you have to calculate how much light that new point $x'$ reflects, which requires solving the rendering equation for that point. And the solution for that point depends on a huge number of other points, including $x$.

In short, the rendering equation is infinitely recursive.

You cannot solve it exactly and analytically because it has infinite integrals over infinite integration domains.

But since light gets weaker each time it is reflected, at some point a human simply cannot notice the difference any more. And so you do not actually solve the rendering equation, but you limit the number of recursions (say reflections) to something that is 'close enough'.

> **Comments:**
> **username_6**: Well you probably could solve the render equation for a point analytically if youd have a stupidly simple scene. And possibly you could get an analytical solution for the entire projected image if your scene is even simpler than that. But that would be useless... :)  
> **username_5**: The scene would have to be really simple like only a single flat object. Since there is the integration about the whole sphere even if there are any two points which can see each other the rendering equation gets infinite. Each point includes the other in the integration domain. so Only a single reflector that cannot reflect on itself. then you could solve it. Then there would simply no global lighting effects so is comes down to local lighting. And that is solvable.  
> **username_6**: Yes that would be stupidly simple.  
> **username_3**: @username_6 To my understanding, it's not that the rendering equation is impossible to solve in all cases, but rather that for any time it is solvable, it's of no practical use  
> **username_5**: @jaska it is solvable whenever there is no global effect in the lighting calculation. But we want to solve it because of the global lighting. So yes, whenever it is solvable it is pretty useless.  
> **username_7**: FYI the Mathjax syntax works on this StackExchange, so if you put $ signs around your identifiers they'll look all math-y.  

---

