Skip to main content

Posts

Showing posts from September, 2010

A personal annotations of Veach's thesis (22)

Overview idea of Bidirectional path tracing In forward path tracing method, we don't know where the light comes from, therefore, we sample them to find them. However, light comes from light sources. Therefore, it is natural to distribute light from the light source and then sample the environment to find where is bright. This could be more efficient. How this can be done without biasing is an issue and the paper described it. There are some cases that forward path tracer hardly handles some paths. For example, a projector projects an image to a wall. Forward path tracer creates paths from a view point and hits the wall, then samples the lens of the projector. Just looking up the light source (the projector) can be done, but, it is difficult to see the image on the wall since such a dense samples must be on the lens without a direct guidance. It's not impossible for forward path tracer, but practically it is hard and mostly we could not see an image. In this case, the proj

A personal annotations of Veach's thesis (21)

Bidirectional path tracing Bidirectional path tracing connects vertices. The vertices are generated from 1. a light source, 2. an eye. My question is how these vertices are connected, this is rather an implementation question. If we connect all the generated vertices, this is combinatorial explosion and we can not handle this. Daniel answered me that 1. make two paths a pair (one comes from a light, the other comes from an eye), 2. connect vertices only from the paired paths. This is an efficient implementation. Figure 1. Connect vertices in Bidirectional path tracing The number of generated rays are the computation cost, but how many contributions we can get differs depends on how to connect them as shown in Figure 1. This figure is a simplified version (no occlusion at all). But, we could have many contribution by generating smaller number of rays. Overview idea of multiple importance sampling method This paper has a lot of interesting ideas. I will summarize them after Chapte

A personal annotations of Veach's thesis (20) pp.310-321

p.310 Special cases for short subpaths There are zero subpaths vertices and one path vertices to generate subpaths. If I draw a picture, there is one line from the lens to the light source. So, I could not distinguish the difference. Again, I asked my friend/specialist. It is quite convenient to have such friends, but, I should study more, otherwise, these friends will be bothered by me. The correct picture is shown in Figure 1.      Figure 1. Short subpath The differences are: Zero subpath vertices: The sample is done from the lens only, the probability is only related with lens, and it coincidentally hit to a light source. One subpath vertices: The sample is done on the light source with sample density probability only. Then this vertex is connected to the lens. The path's generation probability is not the same, therefore, the contribution is also not the same. Acknowledgements Thanks to Leo and Carsten. p.321 Implementation It's a bit details, but I have

Why I wrote a blog of ``A personal annotations of Veach's thesis.''

This is not a story about paper/mathematics/computer science, this is my story and I will be happy if you could find something interesting. Finally today (2010-9-15(Wed)), I finished the Veach's thesis. This is one of the best papers I've ever read. I have still many questions, but, I hope I got the main ideas. This is not exactly a paper of my area, but this is related with the basic technology I work on. My colleagues recommended me this paper. I partially read it last April and found it interesting, though, I did not continue until June. Our customers use our library, so our customers are developers. My task is helping them. When I joined the company, I worked as a developer for around two years. I was lucky to have a talented colleague and a great boss. It was fun to contribute a product. Our team had a success in 2008, for example, our optimizer made our other product more than 10 times faster. We had a demo in summer. But, at 2008 fall, the crisis came. My team just h

Bookstore and me

This article is neither about a computer nor mathematics, but bookstore. When my friends visit me from Japan, I always ask some books. I even asked books when one of my friend's sister comes from Japan. I also order books via Amazon.co.jp, but delivery cost is significant, so I could not do it so often. I am not sure nowadays Japan's bookstore. I like the bookstore concentrate the books, but, Internet bookstore also has the same books. Then, the small shops becomes obsolete. Here in Germany, many of the bookstore has a cafe, also put sofas, sometimes playground for children. When I was a kid, my parents put me a bookstore in a department store, I was quite happy. Though, I once kicked out the bookstore since I read whole books in one shelf without buying. In Muenchen, Marienplaz, there is a bookstore that has a cafe. From the cafe, you can see the famous clockworks. I visited the bookstore because of this cafe. I think next generation bookstore needs this atmosphere in

A personal annotations of Veach's thesis (19) pp.272-282

p.272 Twice brighter sample There is an example of importance sampling based Light source and BRDF in p.270, Figure 9.6. Here is the figure. In this case, to avoid biasing, importance weight is compensated by probability. This leads the following interesting equation. where,  \hat{w_2} = p_2/(p_1 + p_2). Notice that the values of  p_1, p_2  here. When  p_1  is non-zero, usually  p_2  is smaller than p_1  (p_1 >> p_2). However, the Equation is the case of  p_2  sample happens in  p_1 's non-zero region as shown as a red line in Figure1. In general, since the region of p_2  is larger than  p_1, this usually doesn't happen. But if it happens, the condition is f/(p_1 + p_2) -> f/p_1, and this is almost equal to  p_1 's contribution because  p_1 >> p_2 . Veach explains this is seen as a bright spots in Figure 9.5(c). This is interesting. Of course this problem is when the number of sample is quite low and this kind of bad luck is visible. When the number o

A personal annotations of Veach's thesis (18) pp.264-267

p.264 Balance heuristic 1 Equation 9.8's weight is quite similar to the weight used in my favorite operator, Laplacian operator. Here Veach said this is heuristic, but I see this condition is carefully chosen. There are positivity and partition of unity. Following these conditions, we can guarantee the solution's sup and inf can not be out of range of the value of the sampling values. It might be misleading, but, briefly speaking, this operator is an extension of averaging. One amazing property of average is the average never over the maximal value and never less than the minimal value. For example, the average of 5 and 10 is in-between 5 and 10, never larger than 10, never less than 10. You might hear I said something so simple in too complicated way. But, this property is still valid when these weights are applied in here. (9.8's weight gives us Affine combination of the samples.) If you think about the weights, you might need to think that these property can be kept or

A personal annotations of Veach's thesis (17) pp.227-240

p.227 Probability density When I calculate the probability density p(\overline{x}) of given path \overline{x} , density is In p.228, the author said that it is also possible to directory compute the P . I thought this is just replace p with P and I fail to see how we could compute it. Here P is a density of samples, that I should decide it. This mean I could compute directory. For example, if I sample uniformly, then the density becomes uniform. In a sense, I need to decide it or if I choose a method, then it automatically chosen. Therefore, there is no more explanation here. But it is actually difficult part for me. p.232 BSDF's value is less than infinity BSDF is a sort of transfer function (signal processing sense), that is the ratio of input light and output light. Therefore, I thought why this can be infinity. I totally forgot this is a density function. In this case, total reflection gives you the Dirac delta, therefore, the value is infinite. There are some cas