0
$\begingroup$

When ray tracing, I find it intuitively clear that deeper paths have a lower contribution to the overal picture than shorter paths. This is the main reason why it is generally okay to render a picture only to a certain depth, but I am currently not able to prove this.

Formally, we can write the rendering equation as

\begin{align*} L_o(\vec{p}_0, \omega_0) &= L_e(\vec{p}_0, \omega_0) \\ &+ \int_{\Omega} f_r(\vec{p}_0, \omega_0, -\omega_1) \cos{\theta_1} L_e(\vec{p}_1, \omega_1) \text{d} \omega_1 \\ &+ \int_{\Omega^2} f_r(\vec{p}_0, \omega_0, -\omega_1) \cos{\theta_1} f_r(\vec{p}_1, \omega_1, -\omega_2) \cos{\theta_2} L_e(\vec{p}_2, \omega_2) \text{d} \omega_1 \text{d} \omega_2 \\ &+ \dots \,, \end{align*} where $\vec{p}_{j+1}$ is defined as the intersection of a ray with origin $\vec{p}_j$ and direction $-\omega_{j+1}$ and $\theta_{j+1}$ is the angle between the normal of the surface at $\vec{p}_j$ and $-\omega_{j+1}$. Each term represents the radiance contribution of respectively paths with depth 0, 1, 2, and so on. Let's denote the contribution of depth $d$ with $L_o^{(d)}(\vec{p}_0, \omega_0)$. I suspect that, under mild conditions on the scene, the contributions of these terms will asymptotically decrease exponentially: $$L_o^{(d)}(\vec{p}_0, \omega_0) = \mathcal{O}(t^d) \,\text{ as } d \rightarrow \infty$$ for some $t$ with $0 < t < 1$, where I have used the big-O notation.

Of course, I expect this only to hold when the scene is somehow "realistic", which I define as follows.

Firstly, all light sources should have only a limited amount of power. Note that infinite radiances, like with point lights, should be permitted, as long as their power is finite.

  1. The total power of all light sources should be finite.

Secondly, we should exclude scenes that consists only of mirrors or diffuse white materials, or any other material that perfectly conserves energy. In other words, the scene should always absorb a little energy. These materials should still be permitted though, as long as their reflected light eventually ends up in materials that do not conserve the energy. I tried to formalize this the following way.

  1. There exists an integer $k$ with the following property: for every point $\vec{p}$ in the scene there should be a path of length $k$ that starts in $\vec{p}$ and which has a throughput smaller than 1.

Questions.

Using these assumptions, is it possible to prove my suspicion? How would you do it?

If it isn't possible, are there other "realistic" conditions that will make it proveable? Any conditions you come up with should not limit scenes that are used in practice in any way. (I know, sometimes people create materials that transmit more light than what comes in. You can ignore these materials).


What I tried so far.

I was able to prove this with some stronger conditions, namely

  1. There is an upper bound $L_{max}$ on emitted radiance $L_e$.
  2. There is an upper bound $t < 1$ on the percentage of energy that materials conserve.

With these conditions, the prove is straightforward, but they do not allow point lights or perfectly white diffuse materials and such.

Proof. \begin{align*} L_o^{(d)}(\vec{p}_0, \omega_0) &= \int_{\Omega^d} \left(\prod_{j=1}^d f_r(\vec{p}_{j-1}, \omega_{j-1}, -\omega_j) \cos{\theta_j} \right) L_e(\vec{p}_d, \omega_d) \text{d} \omega_1 \dots \text{d} \omega_d \end{align*} Using condition (1): \begin{align*} &\leq L_{max} \int_{\Omega^d} \prod_{j=1}^d f_r(\vec{p}_{j-1}, \omega_{j-1}, -\omega_j) \cos{\theta_j} \text{d}\omega_j \\ &= L_{max} \int_{\Omega} \text{d}\omega_1 f_r(\vec{p}_{0}, \omega_{0}, -\omega_1) \cos{\theta_1} \int_\Omega \dotsm \int_{\Omega} \text{d}\omega_d f_r(\vec{p}_{d-1}, \omega_{d-1}, -\omega_d) \cos{\theta_d} \end{align*} By applying condition (2) recursively on the innermost integral: \begin{align*} &\leq L_{max} \tau^d \end{align*}

$\endgroup$
  • $\begingroup$ You might be interested in reading this: reedbeta.com/blog/the-radiance-field which goes a bit into global convergence conditions for the whole light field in the scene; though I'm not sure it proves anything you haven't already established. More broadly, though, I suspect looking this via backward paths from camera to light is simply the wrong direction—there is no guarantee their contribution will fall off over bounces. Looking at foward paths from light to camera, though, it should be possible to establish with mild conditions on the scene materials. $\endgroup$ – Nathan Reed May 11 at 17:24
  • $\begingroup$ @NathanReed An interesting read. From the blog: "Is the absorption inequality a necessary condition for convergence? No; it’s possible to “break the rule” of absorption in careful ways and still have a convergent scene." This is exactly the thing I want to formalize. My two conditions are attempts to formulate precisely when it is okay to 'break the rule' without having a divergent radiance. $\endgroup$ – Safron May 11 at 17:40
  • $\begingroup$ For your second point, I do not agree. I my question I did not talk about concepts like forward or backward paths. These are simply implementation details about how to compute $L_o(\vec{p}_0, \omega_0)$, but don't change it's definition. There is only one rendering equation. $\endgroup$ – Safron May 11 at 17:43
  • $\begingroup$ I think Guibas had some papers on this, I am not sure though. If I remember correctly you could violate energy conservation and still get a convergent scene (for example if there's a "hole" in your scene through which enough energy can escape). For the standard formulation it is enough that the scattering operator $T$ is a contraction: $\|T\|<1$. $\endgroup$ – lightxbulb May 12 at 15:35
  • $\begingroup$ See A Course of Modern Analysis by E. T. Whittaker, G. N. Watson for details on convergence of the Liouville-Neumann expansion. $\endgroup$ – lightxbulb May 12 at 15:43
1
$\begingroup$

If you are asking whether:

$$ \int fr(...) cos\theta_1Le_1 > \int fr(...)cos\theta_1 fr(...)cos\theta_2 Le_2 $$

(simplified terms from the render equation you posted above), I don't think you could prove this. Le_2 could just be much greater than Le_1.

For example you could have a set of mirrors which only hit a light source after two bounces. Then all the light would come from the second integral.


EDIT: Updating answer after your response.

If you are trying to prove that, ignoring the layout and lights of the scene, deeper paths contribute less to the overall equation, then you could try ignoring Le and assuming it is always 1. You are then trying to prove:

$$ \int_\Omega fr(...)cos\theta_1 > \int_{\Omega^2}fr(...)cos\theta_1fr(...)cos\theta_2 $$ or $$ \int_{\Omega_1} fr(...)cos\theta_1 dw_1 > \int_{\Omega_1} fr(...)cos\theta_1\int_{\Omega_2} fr(...)cos\theta_2 dw_2 dw_1 $$

We also know that if the fr is energy conserving:

$$ 0 \leq \int fr(...) \leq 1 $$

And if 0 < cos < 1 we can say that:

$$ 0 \leq \int fr(...)cos\theta \leq 1 $$

Substituting this knowlege into the equation into the inner integration of the right hand side doesnt give us much, as it could always be equal to 1 which would give us:

$$ \int_{\Omega_2} fr(...)cos\theta_2 dw_2 = 1 $$ $$ \int_{\Omega_1} fr(...)cos\theta_1 dw_1 > \int_{\Omega_1} fr(...)cos\theta_1 dw_1 $$

which disproves your idea. However if your bxdf is never perfectly energy conserving, eg:

$$ 0 \leq \int fr(...) < 1 $$

I think subsitituting this in does prove the above as we get something like:

$$ 0 \leq n(w) < 1 $$ $$ \int_{\Omega_1} fr(...)cos\theta_1 dw_1 > \int_{\Omega_1} fr(...)cos\theta_1 n(w)dw_1 $$

As each term can only be less than the integral on the left.

Hopefully my math is okay here I might have made a mistake. You may need to clean it up and do some more formal proofs. I am sorry if this still doesnt help answer your question.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Agreed, but that's not what I'm asking. I'm asking whether this sequence of terms is bounded by above by a exponentially decreasing function, but by all means, a specific deeper path can still have a greater contribution than a specific shorter one. Saying something about the asymptotic behaviour of a sequence says nothing about two specific terms. $\endgroup$ – Safron May 11 at 17:22
  • $\begingroup$ Each contribution at depth i will be multiplied by, (fr * cos) ^ i ? I think if you consider the recursive equation for the render equation this might help you prove this. $\endgroup$ – Peter May 11 at 17:34
  • $\begingroup$ I appreciate the attempt, but still not what I'm trying to prove. As stated in the question, I want to prove that $L_o^{(d)}(\vec(p), \omega_0) = \mathcal{O}(t^d)$, and nothing else. Note that it must be true that $L_o^{(d)}$ converges to 0, otherwise the total radiance $L_o$ would be infinite! $\endgroup$ – Safron May 12 at 15:14
  • $\begingroup$ Although your post is not an answer to my question, still two remarks. (1) For what I'm trying to prove, you don't need to assume that $L_e$ is constant. See for example my proof in "what I tried so far". (2) Saying that $f_r$ is energy conserving is not equivalent with the condition on $f_r$ you posted. (see for example the wikipedia page about BRDF's) Still, you make it right by adding the $\cos$ factor, so only a minor mistake. $\endgroup$ – Safron May 12 at 15:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.