針對蒙地卡羅路徑追蹤鏡面反射之路徑重複使用方法
全文
(2) 摘 要 物理性質影像生成致力於產生逼真的影像,此技術被廣泛運用在許多產業之中, 例如:電影產業中的電腦特效、建築與設計業中的 3D 模型預視;當然,還有電 玩產業中的 3D 畫面。. 光線的資訊在現實世界中是無限的,所以我們必須透過採樣的方式來進行估測。 處理全域照明(Global Illumination)的方法,對於產生的影像是否看起來真實佔 了很重要的腳色,不同的採樣方法會對場景的呈現產生不同的結果。雙向路徑追 蹤(Bidirectional Path Tracing)是基於蒙地卡羅路徑追蹤(Monte Carlo Path Tracing) 的許多方法之一,為一種對於場景運算可以快速收斂的方法;然而,因為先天上 的限制,此方法無法處理某些特定狀況,例如:路徑有鏡面至粗糙面又再到鏡面 (specular-diffuse-specular)的情況,會影響產出影像的品質。在此篇論文中,我 們提出了一個基於雙向路徑追蹤方法,藉由路徑重複使用來處理此狀況的折衷對 策。. 關鍵字:路經追蹤、全域照明、蒙地卡羅方法.
(3) Abstract Physically based image synthesis aims to render realistic images. It is widely used in many industries, e.g., Computer-generated imagery (CGI) in the movie industry, 3D models preview in the architecture and the design industry, and of course, 3D scenes in the computer gaming industry.. In the real world, the information of light is infinite; therefore, we must do sampling to estimate it. How to deal with the global illumination effect plays an important role in whether the rendered image looks real or not. There are many sampling methods that reveal different features of the scene. Bidirectional path tracing, which is one of the Monte Carlo path tracing methods, is known for its quick convergence; however, due to innate limitation, it cannot handle some difficult cases, such as specular-diffuse-specular (SDS) paths. In this thesis, we introduce an alternative path reuse method while facing the SDS problem during the operation.. Keywords: path tracing, global illumination, Monte Carlo integration.
(4) 誌 謝 在這一年時間,完成了碩士的修課和這本論文,對我來說就像做夢一樣。首先, 我要感謝張鈞法老師,從大三開始的計算機圖學課程,到後來大四的科技部大專 生研究計畫,最後進入實驗室正式成為張老師的研究生,非常感激在張老師的指 導下能一窺電腦圖學的大門並以此做為我未來的發展方向。另外,我還要謝謝系 上的蔣宗哲老師、賀耀華老師以及陳柏琳老師所分享的學術經驗及研究態度,對 我十分受用。 在工研院打工的時間雖然很短,但我很幸運地遇到許多貴人,感謝李潤容老師容 忍我許多不敢對張老師提出的笨問題,同組的豐勝和進男大哥以過來人的身分, 對我在撰寫論文上給予指導。 再來,我要感謝實驗室的同學及身邊的朋友,浩庭、威豪、毓偉大家一起趕論文; 謝謝柏元讓我在學期結束時有暫住的地方;佑欣總是能以比較完善的角度提出一 些事情的看法,也是聽我抱怨比較多的人;高中十五班的同學們我就不個別說了, 清交團的感謝你們總是讓我在新竹可以免費借宿;李岑佑祝你出國求學順利,跟 你聊天的過程中也健全了我對未來的規劃;游斯涵你在北京微軟加油! 最後,我要感謝我的家人和女朋友沛盈,家是永遠的避風港,雖然我趕論文的時 候往往大多的時間都待在實驗室,但是,每當我拖著疲憊的身體回家休息後,都 像充滿了電一樣可以重新出發;沛盈,這陣子我可能抱怨變多而且偶爾脾氣有點 差,謝謝你的包容還幫我檢查論文中的英文詞句。 因為要感謝的人太多了,如果有所遺漏還請多包涵。我的學術之路還未完,三年 後再攻博士!. 唐昌宇 iv. 中華民國壹佰零伍年柒月.
(5) Contents. List of Tables ................................................................................................................ vii. List of Figures ............................................................................................................. viii. 1. 2. Introduction ........................................................................................................... 1 1.1. Motivation ................................................................................................... 1. 1.2. Contributions............................................................................................... 2. 1.3. Thesis Organization .................................................................................... 3. Background............................................................................................................ 4 2.1. 2.2. 2.3. Measurement of Light Transport ................................................................ 4 2.1.1. Irradiance and Radiance .................................................................. 4. 2.1.2. Bidirectional Reflectance Distribution Function ............................ 5. 2.1.3. Rendering Equation ........................................................................ 6. Monte Carlo Integration .............................................................................. 6 2.2.1. Importance Sampling ...................................................................... 8. 2.2.2. Multiple Importance Sampling ....................................................... 8. Path Sampling Methods ............................................................................ 10 2.3.1. Photon Mapping ............................................................................ 10. 2.3.2. Path Tracing .................................................................................. 11 v.
(6) 2.3.3 2.4. 3. 4. Vertex Connection and Merging ............................................................... 13. Implementation ................................................................................................... 16 3.1. SmallVCM ................................................................................................ 16. 3.2. Bidirectional Path Tracing Algorithm ....................................................... 17 3.2.1. Naïve Way ..................................................................................... 17. 3.2.2. Implementation in Practice ........................................................... 17. 3.2.3. Vertex Connection ......................................................................... 18. 3.3. The Specular-diffuse-specular Problem .................................................... 20. 3.4. A Path Reuse Method................................................................................ 21. Results .................................................................................................................. 23 4.1. Test Scenes ................................................................................................ 23. 4.2. Anylisis ..................................................................................................... 24. 4.3. 5. Bidirectional Path Tracing ............................................................ 12. 4.2.1. Empty Cornell Box ....................................................................... 24. 4.2.2. Cornell Box with Spheres and Mirrors ......................................... 25. Performance .............................................................................................. 27. Conclusions and Future Work ........................................................................... 29. Bibliography ................................................................................................................ 31. vi.
(7) List of Tables. 4.1 Empty Cornell Box……………………………………………………………….24 4.2 Modified Cornell Box……………………………………………………………27. vii.
(8) List of Figures. 1.1 Radiance and Irradiance…………………………………………………………...5 1.2 f(x) and probability density function……………………………………………….7 1.3 A multimodal function…………………………………………………………….9 2.1 Photon mapping………………………………………………………………….10 2.2 Measurement contribution function……………………………………………...12 2.3 Different kinds of path tracing……………………………………………………13 2.4 Vertex connection and merging…………………………………………………15 3.1 Naïve bidirectional path tracing………………………………………………….17 3.2 MIS bidirectional path tracing……………………………………………………18 3.3 SDS situation…………………………………………………………………….20 3.4 A path reuse method……………………………………………………………22 4.1 Empty Cornell Box……………………………………………………………….25 4.2 Modified Cornell Box……………………………………………………………26. viii.
(9) Chapter 1 Introduction. There are three basic techniques of rendering: rasterization, radiosity, and ray tracing. Rasterization is the most used technique for producing real-time 3D computer graphics scenes. Though rasterization is fast, the drawback is that it only draws objects on the image without considering further effects, e.g., shadows and lighting. The basic idea of radiosity [Kel97] [Fau10] is from the engineering field of heat transfer, and it is typically used on lighting effects of diffuse surfaces. Ray tracing [Gla89] is a physically based method of image synthesis by tracing the path of light through pixels on an image plane.. 1.1 Motivation In the field of physically based image synthesis [LW94], photon mapping [JC07] and path tracing [Vea98] are two popular methods which are used to approach global illumination effects. Photon mapping uses density estimation and path tracing samples the space of light carrying paths. Each of them has its own pros and cons. Photon 1.
(10) mapping is known for dealing with caustics, but it suffers in the presence of highly glossy materials. Path tracing is versatile. By multiple importance sampling (MIS) [Vea98], it can handle lots of illumination and scene configurations, but it would take a long time to make the result converged without proper modifications.. Bidirectional path tracing, as the name suggests, is a way of path tracing that starts the path from the eye and the light source respectfully and then connects the two paths (vertex connection) when they reach the limited length. The advantage of bidirectional path tracing is it guarantees each traced path contains the information of light in common situations which makes the image converge quicker; however, the step of connection will fail if it encounters the specular-diffuse-specular (SDS) situation, but it is exactly what photon mapping is good at. Many people have tried to combine bidirectional path tracing with photon mapping recently.. 1.2 Contributions. In recent years, Toshiya Hachisuka, et al. [HPJ12] [HKD14] and Iliyan Georgiev, et al. [GKDS12] have introduced a few methods to combine the benefit of bidirectional path tracing and photon mapping based on a concept generally called vertex connection and merging, but it would contain tedious probability, statistics, and other mathematical calculations. Nevertheless, the connection point of eye sub-paths and light sub-paths is 2.
(11) still the key whether the whole path would receive the contribution of light or not. In this thesis, we just keep it simple by using bidirectional path tracing as a fundamental rendering algorithm. While facing the SDS situation, unlike the original bidirectional path tracing method which just abandons invalid paths, we make a compromise to bypass the situation and get the contribution of light by MIS.. 1.3 Thesis Organization The thesis is organized as follows. In chapter 2, we address some fundamental background for understanding the implementation in chapter 3. First, we talk about the measurement of light and rendering equation. Then, the Monte Carlo integration and a few path sampling methods will be introduced. At last, we spend a little time on the concept of vertex connection and merging. In chapter 3, we describe the detail implementation of bidirectional path tracing with MIS and our path reuse way when encountering the SDS situation. In chapter 4, some figures and tables are shown to make comparisons among path tracing, bidirectional path tracing, vertex connection and merging method and our method. Finally, we summarize what has been achieved in the thesis and describe a few ideas of possible areas of future improvements.. 3.
(12) Chapter 2 Background. 2.1 Measurement of Light Transport. 2.1.1. Irradiance and Radiance. The energy of light passes through the space is called flux, denoted Φ. Irradiance E is the radiant flux received by a surface per unit area E ( x) . d . dA. (2.1). Radiance L is the radiant flux received by a surface, per unit projected area per unit solid angle. L( x, ) . d 2 . d dA. (2.2). By using angle θ between surface normal and reversed (or reflected) light direction, the projected area can be derived as A A cos . Therefore, radiance L can be written as 4.
(13) L( x, ) . d 2 . d dA cos . (2.3). Figure 1.1 shows the relation among these definitions.. Figure 1.1: Radiance and Irradiance.. 2.1.2. Bidirectional Reflectance Distribution Function. We are able to distinguish between a plastic chair and a wooden chair even though they are the same color is because that each material has its own reflection properties called bidirectional reflection distribution function (BRDF) [DBK13]. The definition of BRDF is the exitant radiance from direction ωe over the incident irradiance ωi at a point x. f r x, i , e . dLo x, e dLo x, e = . dE x, i dLi x, i cos i d i. Physically based BRDFs has three conditions [DBK13]:. 1.. f r x, i , e 0 (Positivity). 2.. f r x, i , e f r x, e , i (Helmholtz’s reciprocity). 5. (2.4).
(14) 3.. e , f r x, i , e cos i di 1 (Conservation of energy) . The first condition is BRDFs must be greater than or at least equal to 0. The second condition is no matter which the incident and exitant are of the two constant directions, the amount of the reflected light is always the same. The third condition is the integration result of all the reflected light at a point x cannot be greater than 1.. 2.1.3. Rendering Equation. The rendering equation, which was introduced by Kajiya [Kaj86], is based on the conservation of energy. The equation states that the exitant radiance is equal to the emitted radiance and the integral of radiance from all incident directions. Lo ( x, e ) Le ( x, e ) Li ( x, i ) f r ( x, i , e ) cos i di . . (2.5). 2.2 Monte Carlo Integration Suppose we have a real number domain x and codomain f(x) and we are going to calculate the integration result of integrand f(x). Sometimes, due to reality considerations, we do not use all the data to compute the result. We only randomly sample some of them and expect to get the acceptable approximation. This is the basic idea of Monte Carlo integration [GRS96] [Vea97] [KPR12]. 6.
(15) To estimate the integration result, we are going to use the estimator f(x)/p(x), and the estimation for the integral I f ( x )dx is. I N . 1 N. N. f xi . px , i 1. (2.6). i. where N is the number of samples and xi is the sampled data. Each xi has its own possibility to be sampled which is called the probability density function (PDF) denoted by p(xi). Figure 1.2 shows the relationship among xi, f(xi), and p(xi).. Figure 1.2: f(x) and probability density function. We say an estimator is unbiased when the expected value of it equals to the value of the integration result being estimated which means on average it produces the correct result. E I f x dx .. 7. (2.7).
(16) 2.2.1. Importance Sampling. In general, the bigger the number of samples, the better the result is. However, the purpose of using MC integration is to reduce the cost. Importance sampling [Vil14] is a sampling technique which makes the approximation converge quicker by choosing PDF p(x) similar to the integrand f(x) [Vea98]. It is known that the best choice is p(x)=cf(x). The constant c can be written as. c. 1. . f x dx. .. (2.8). Then the value of estimator will become. f x 1 f x dx , p x c . (2.9). which is exactly the value we are trying to estimate. Unfortunately, to do so, we must know the value of the integral in advance, but it is not possible in reality. Typically, we use an approximated function g(x) which is obtained by f(x).. 2.2.2. Multiple Importance Sampling. Though importance sampling is a good way to choose an estimator, it is hard to find a PDF that fit a complex multimodal integrand f(x), like Figure 1.3. 8.
(17) Figure 1.3: A multimodal function. There are two peaks in function f(x). Two PDFs pa(x) and pb(x) mimic each of the peaks. It is obvious that choosing only one of the PDFs would cause an extremely high variance. Veach and Guibas introduced a way called multiple importance sampling (MIS) [VG95]. It combines different PDFs to obtain a new estimator to do MS integration. f X i ,i 1 ni wi ( X i , j ) , pi X i , j i 0 ni j 1 m. I. MIS. (2.10). where m is the number of sampling techniques, ni is a number of samples of a technique, and wi is a weighting function. In order to get the correct result, the weighting function must follow two conditions [Vea98]: n. 1.. w ( x) 1 whenever f x 0 i 1. 2.. i. wi ( x) 0 whenever pi x 0. 9.
(18) 2.3 Path Sampling Methods. 2.3.1. Photon Mapping. Photon mapping is a two-pass method which estimates the global illumination by collecting little quanta of energy called photon [Jen01] [JC07]. In the first pass, photons are emitted from the light source and transported through the scene. When the photon hits a surface, mostly diffuse surfaces, the information of energy is stored in a data structure called the photon map.. In the second pass, the eye ray is casted from the view point into the scene. We estimate the exitant radiance at any surface location x according to the formula. L( x, e ) . 1 N f ( x, i , e )i ( x, i ) , r 2 i 1 r. Figure 2.1: Photon mapping. 10. (2.11).
(19) where r is the radius of the disk which contains N photons, as shown in Figure 2.1. What needs to be noticed is that photon mapping is a biased approach because of this formula do the interpolation. The image rendered by photon mapping is often blurry. Hachisuka, T., et al. and Vorba, J. [HOJ08] [Vor11] have made some research on this topic.. 2.3.2. Path Tracing. The path integral formulation [VG95] [Vea98] [KGKC14] evaluates the value of a pixel in an image as an integral over all light transport paths of all lengths in the scene.. I j f j x d x . . (2.12). In the equation, j denotes a pixel, x means a full path from the light source x0 to the eye xk , and f(x) is the measurement contribution function for a pixel.. The definition of the measurement contribution function is defined as the emitted radiance Le at the first vertex, times the sensitivity or called the emitted importance We at the last vertex, times the path throughput T f x Le x0 x1 T x We xk 1 xk .. 11. (2.13).
(20) After expanding T, the equation becomes. k 1 f x Le x0 x1 G x0 x1 f s xi G xi xi 1 We xk 1 xk , (2.14) i 1 . where fs is the BRDF and G xi 1 xi V xi 1 xi . cos i 1,i cos i ,i 1 xi 1 xi. 2. is the. geometry factor where V xi 1 xi is the visibility term, as shown in Figure 2.2.. Figure 2.2: Measurement contribution function.. 2.3.3. Bidirectional Path Tracing. It is easy to implement the path tracing, but if a ray passes through the scene and does not hit any light source, the pixel would still be black. In bidirectional path tracing, we divide the entire path into eye sub-paths and light sub-paths. Besides this, other calculations remain the same. Once the connection between eye sub-paths and light subpaths succeeds, it guarantees the pixel will get the illumination from the light source, which helps to improve the efficiency of the process. Choosing different connection 12.
(21) points will get various results, as shown in Figure 2.4, so how to pick a good connection point is crucial.. Figure 2.3: Different kinds of path tracing. (a)(b) Light tracing. (c) Virtual point light. (d) Bidirectional Path Tracing. (e)(f) Path tracing.. 2.4 Vertex Connection and Merging The vertex connection and merging method was introduced by Iliyan Georgiev, et al. [GKDS12], aiming to deal with the SDS problem. It is approached by combining vertex connection from bidirectional path tracing with vertex merging from photon mapping by MIS.. The vertex connection part in this algorithm is the same as it was in bidirectional path tracing. The PDF of the connected path with s light and t eye vertices as. 13.
(22) pvc , s ,t x ps y pt z ,. (2.15). where y and z are light and eye sub-path PDFs.. Vertex merging path sampling technique determines whether light and eye sub-path vertices should be merged by checking if eye path vertex is within the acceptance radius. The PDF of the path uses vertex merging is pvm, s ,t x pvc , s ,t x Pacc , s ,t x ,. (2.16). px. (2.17). and. . Pacc , s ,t x Pr xs xs* r . s 1. x r 2 p xs 1 xs* ,. AM. where Pacc, s ,t x is the path acceptance probability, xs is the last vertex of eye subpath, which is the connection point, and xs* is the photon (light vertex) from the light sub-path, as shown in Figure 2.5. By MIS, the multi-sample estimator would look like. I. VCM. 1 nvc 1 nvm. nvc. . l 1 s 0,t 0. nvc. . l 1 s 2,t 2. wvc , s ,t xs ,t I. wvm, s ,t xs ,t I. 14. VC. VM. x s ,t. x s ,t. (2.18).
(23) xs-1. xs *. xs. Figure 2.4: Vertex connection and merging.. 15.
(24) Chapter 3 Implementation. 3.1 SmallVCM SmallVCM is a small physically based renderer that implements the vertex connection and merging algorithm from the paper, Light Transport Simulation with Vertex Connection and Merging [GKDS12]. Though SmallVCM is a light renderer, we chose it as a tool because it had already implemented the basic part of bidirectional path tracing, so we could just focus on modifying the algorithm. Except bidirectional path tracing and vertex connection and merging method from the paper, SmallVCM also contains some common path sampling methods, such as path tracing and photon mapping, which lets us easily verify our result with the others. SmallVCM uses a data structure called bounding box to accelerate the ray intersection test. OpenMP is the abbreviation of Open Multi-Processing is an API used in the program to implement the parallel computing by CPU. 16.
(25) 3.2 Bidirectional Path Tracing Algorithm. 3.2.1. Naïve Way. Without using the MIS, the naïve approach of bidirectional path tracing is sampling by the BRDF, which means that it only samples according to the law of reflection and refraction. Unfortunately, if the vertex connection position is at a specular surface, it is very likely that the connection would fail. There would be no energy contributes from the light source to the eye.. Figure 3.1: Naïve bidirectional path tracing.. 3.2.2. Implementation in Practice. To avoid the situation of tracing over the scene for nothing, we use the MIS to sample the BRDF and the light source at the same time. First, we generate the light sub-path that walks through the scene, and then the eye sub-path starts from the eye. Each vertex. 17.
(26) from the eye sub-path is connected to each vertex of the light sub-path.. Figure 3.2: MIS bidirectional path tracing.. 3.2.3. Vertex Connection. In this session, we are going talk about the detail of vertex connection in bidirectional path tracing. The rendering is divided into two stages. In the first stage, we trace the light sub-path from light sources and store their vertices by performing a random walk. We use the same number of the light sub-path as the number of pixels. The vertices are stored only on the diffuse surface since only this kind of type can be connected. The specular surface PDF for any arbitrary direction is zero, except for exactly the one of specular reflection direction.. In the second stage, we trace the eye sub-path for each pixel. Upon sampling a vertex on a light source, we accumulate the emitted radiance. If the sampled vertex is not on a light source, it is connected to all vertices of a light sub-path.. 18.
(27) Pseudocode for vertex connection. function VertexConnection() // Light path sampling for i = 0 to numPixel do lightVertex = TraceRay(SampleLightPoint()) while lightVertex is valid do if lightVertex is not specular then if lightVertex is not first then lightPaths[i] += lightVertex end if // Vertex connection: project light vertex to camera pixel lightVertexOnCamera = ConnectToCamera(lightVertex) Accum(lightVertexOnCamera, r, GetPixel(lightVertexOnCamera)) end if lightVertex = ContinueRandomWalk(lightVertex) end while end for // Eye path sampling for j = 1 to numPixel do cameraVertex = TraceRay(SamplePixel(j)) while cameraVertex is valid do // Vertex connection: random light hit, unidirectional sampling if cameraVertex is emissive then Accum(cameraVertex, j) end if // Vertex connection for lightVertex in lightPaths[j] or SampleLightPoint() do Accum(Connect(cameraVertex, lightVertex), j) end for cameraVertex = ContinueRandomWalk(cameraVertex) end while end for end function function Accum(path, i) contrib = MeasurementContribution(path) 19.
(28) pdf = Pdf(path) weight = PowerHeuristic(path, pdf) image[i] += weight * contrib / pdf end function. 3.3 The Specular-diffuse-specular Problem Though bidirectional path tracing is much more powerful than other rendering methods, it still struggles with some lighting effects, the most common of which are SDS paths corresponding to reflected caustics. As shown in Figure 3.3, there are three surfaces, one is diffuse and the rests are specular. Due to the law of reflection, only the black path can receive the illumination form the light source. Once we sample other directions, the light sub-path and eye sub-path would not be able to connect each other.. Figure 3.3: SDS situation.. 20.
(29) 3.4 A Path Reuse Method We have known to exert the full strength of vertex connection. The saved vertices in light sub-paths and eye sub-paths is better mostly on the diffuse surface in order to higher the opportunity of successful vertex connection.. When the eye sub-path exceeds the maximum length and it cannot connect to the light sub-path to obtain the energy, rather than abandoning the two paths, we take over the information the eye sub-path has gained, and continue tracing it until it reaches the maximum length of light sub-path. The total length of the whole path remains unchanged. In the process, we sample the BRDF and the light source at the same time according to MIS.. There are two situations we expect to happen while reusing the eye sub-path. The first situation is as shown in Figure 2.4 (a). After hitting the specular surface, the ray obey the law of reflection, which means it samples the BRDS, and hit the light source. This is more likely to happen if the light source is not a point light. The second situation is as shown in Figure 2.4 (b). In the real world, scenes are complicated. Just a little adjustment, the ray will not hit the specular surface traced by the light sub-path. If the ray hit a diffuse surface, we can sample the light source to gain the illumination.. 21.
(30) (a) Sample the BRDF. (b) Sample the light source Figure 3.4: A path reuse method.. 22.
(31) Chapter 4 Results. This chapter presents the results obtained by our modified path tracer. All renderings were performed on a PC running Windows 10 x64 with Intel Xeon E4405 2.13GHz CPU and 6GB DDR3 1333MHz RAM.. 4.1 Test Scenes There are two test scenes used to show our method and also compared with other rendering methods. The first one is a general empty Cornell Box. The second scene is a Cornell Box with two spheres in it, one is made of mirror and the other is made of glass. The scene has been slightly modified. The right wall of the Cornell box has been changed to a mirror in order to show the SDS problem. Although the Cornell Box is a simple scene, it is a classic benchmark for rendering.. 23.
(32) 4.2 Analysis In the tests, the resolution of images is 512x512, and we set the maximum length of paths at 8, which means that we would force the tracing process to stop when it exceeds the maximum length and shows what it has got. We set the maximum light sub-path length and eye sub-path length of bidirectional path tracing at 3 and 4 respectively. After the vertex connection, the whole path length will remain 8 because the extended path is added to the light sub-path and eye sub-path.. 4.2.1. Empty Cornell Box. Figure 4.1 shows empty Cornell Box scene images generated by renderers using 100 iterations. Each image is rendered by a different rendering technique, which are path tracing, bidirectional path tracing, vertex connection and merging, and our path reuse method respectively. The rendering time is shown as Table 4.1. Rendering Technique. Time. Path Tracing. 55.35 sec. Bidirectional Path Tracing. 103.72 sec. Vertex Connection and Merging. 170.19 sec. Our Path Reuse Method. 105.57 sec. Table 4.1: Empty Cornell Box. 24.
(33) (a) Path tracing. (b) Bidirectional path tracing. (c) Vertex connection and merging. (d) Our path reuse method. Figure 4.1: Empty Cornell Box.. 4.2.2. Cornell Box with Spheres and Mirrors. Figure 4.2 shows the Cornell Box scene with a mirror replacing the right wall. The mirror sphere is placed on the ground of the box and the glass sphere is floating to generate a caustic. 25.
(34) We show the rendering results of path tracing, bidirectional path tracing, vertex connection and merging, and our path reuse method by using 200 iterations per pixel. Because we have modified the scene to reveal the SDS problem, we not only record the rendering times of each technique, but also the amount of failed vertex connection in bidirectional path tracing.. (a) Path tracing. (b) Bidirectional path tracing. (c) Vertex connection and merging. (d) Our path reuse method. Figure 4.2: Modified Cornell Box. 26.
(35) Rendering Technique. Time. Path Tracing. 90.22 sec. Bidirectional Path Tracing. 136.00 sec. Vertex Connection and Merging. 234.57 sec. Our Path Reuse Method. 155.12 sec. Table 4.2: Modified Cornell Box.. 4.3 Performance In the first test scene, according to Figure 4.1 and Table 4.1, the scene generated by path tracing consumes less time than the others, but we can see obvious noise on the ceiling. Though the rest methods take more time, noise is hardly seen in the results. Due to no SDS situation, the path reuse method is not triggered. The time taken by bidirectional path tracing and our path reuse method are almost the same. Vertex connection and merging method consumes the most time among the others.. In the second test scene, as shown in Figure 4.2, we just focus on the images rendered by bidirectional path tracing, vertex connection and merging, and our path reuse method. Because of the SDS problem, the vertex connection of bidirectional path tracing cannot work properly. Thus, the reflected caustic cannot be seen in the mirror, and the reflection on the mirror sphere of the glass sphere is much darker than it should be. The resolution of the image is 512x512, and we made 200 iterations for each pixel, which means there 27.
(36) are 52,428,800 paths generated, but according to our record, 419,430,400 paths failed in vertex connection step, which is roughly 12.5% of generated paths. With our path reuse method, more time is spent, as shown in Table 4.2, but we can render what the scene should be. It is worth mentioning that the whole path length remains to be 8. Though the image rendered by vertex connection and merging method looks better than our path reuse method, the time consumption of it is about 51.22% more than ours.. 28.
(37) Chapter 5 Conclusions and Future Work. This thesis has provided an overview of basic concepts related to physically based image synthesis and some popular sampling techniques. From the way of measuring the energy of light to the sampling method based on statistics, and then some popular practical implementations. At last, we introduced an alternative way to deal with the SDS problem while the bidirectional path tracing method does not work.. Though we have used the MIS to higher the contribution from the light source, it still fails in some situations. The idea called Light Propagation Volume, which is used by non-physically based rendering to achieve the global illumination effect, comes to mind.. By using Light Propagation Volume, the space is divided into grids. The information of light sources is spread into space, just like the first step in photon mapping. The spread information is compressed and stored in grids by Spherical Harmonics. The energy of light propagates from grid to grid and get the balance at last. While implementing 29.
(38) bidirectional path tracing, we can take these grids as a part of samples according to MIS. It is also convenient to reuse the grids structure to implement some acceleration data structure, e.g., bounding box and k-d tree.. 30.
(39) Bibliography. [DBK13]. B. Duvenhage, K. Bouatouch, and D. G. Kourie, "Numerical verification of bidirectional reflectance distribution functions for physical plausibility," presented at the Proceedings of the South African Institute for Computer Scientists and Information Technologists Conference, East London, South Africa, 2013.. [Fau10]. W. Faure, "Quality improvement in interleaved shading to solve the many light problem," M.S. thesis, Dept. Computer Science and Information Engineering, National Taiwan Normal University, Taiwan, 2010.. [GKDS12] I. Georgiev, J. Krivánek, T. Davidovic, and P. Slusallek, "Light transport simulation with vertex connection and merging," ACM Trans. Graph., vol. 31, p. 192, 2012. [GRS96]. W. R. Gilks, S. Richardson, and D. J. Spiegelhalter, "Introducing markov chain monte carlo," Markov chain Monte Carlo in practice, vol. 1, p. 19, 1996.. [Gla89]. A. S. Glassner, An introduction to ray tracing: Elsevier, 1989.. [HKD14]. T. Hachisuka, A. S. Kaplanyan, and C. Dachsbacher, "Multiplexed metropolis light transport," ACM Trans. Graph., vol. 33, pp. 1-10, 2014.. [HOJ08]. T. Hachisuka, S. Ogaki, and H. W. Jensen, "Progressive photon mapping," ACM Trans. Graph., vol. 27, pp. 1-8, 2008.. 31.
(40) [HPJ12]. T. Hachisuka, J. Pantaleoni, and H. W. Jensen, "A path space extension for robust light transport simulation," ACM Trans. Graph., vol. 31, p. 191, 2012.. [Jen01]. H. W. Jensen, Realistic image synthesis using photon mapping vol. 364: Ak Peters Natick, 2001.. [JC07]. H. W. Jensen and P. Christensen, "High quality rendering using ray tracing and photon mapping," presented at the ACM SIGGRAPH 2007 courses, San Diego, California, 2007.. [Kaj86]. J. T. Kajiya, "The rendering equation," SIGGRAPH Comput. Graph., vol. 20, pp. 143-150, 1986.. [Kel97]. A. Keller, "Instant radiosity," presented at the Proceedings of the 24th annual conference on Computer graphics and interactive techniques, 1997.. [KPR12]. A. Keller, S. Premoze, and M. Raab, "Advanced (quasi) Monte Carlo methods for image synthesis," presented at the ACM SIGGRAPH 2012 Courses, Los Angeles, California, 2012.. [KGKC14] J. Krivánek, I. Georgiev, A. S. Kaplanyan, and J. Canada, "Path integral methods for light transport simulation: theory and practice," in Eurographics (Tutorials), 2014, p. 5. [LW94]. E. P. Lafortune and Y. D. Willems, "A theoretical framework for physically based rendering," in Computer Graphics Forum, 1994, pp. 97107.. [Vea97]. E. Veach, "Robust monte carlo methods for light transport simulation," Ph.D. dissertation, Stanford University, 1997.. [VG95]. E. Veach and L. J. Guibas, "Optimally combining sampling techniques for Monte Carlo rendering," presented at the Proceedings of the 22nd annual conference on Computer graphics and interactive techniques, 1995.. 32.
(41) [Vil14]. V. Vilcans, "GPU-based global illumination - vertex connection and merging using optix," M.S. thesis, Dept. Digital Media Engineering, Technical University of Denmark, Denmark, 2014.. [Vor11]. J. Vorba, "Bidirectional photon mapping," in Proc. of the Central European Seminar on Computer Graphics (CESCG'11), 2011.. 33.
(42)
相關文件
Wang, Solving pseudomonotone variational inequalities and pseudocon- vex optimization problems using the projection neural network, IEEE Transactions on Neural Networks 17
Light travels between source and detector as a probability wave.
Private Sub Dir1_change() File1.Path = Dir1.Path updatePath.
Through despair and hope Through faith and love Till we find our place On the path unwinding In the circle. The circle
Private Sub Dir1_change() File1.Path = Dir1.Path updatePath.
• By Lemma 2, for any vertex v, the longest path start on one side of the midpoint edge and go to the opposite end of the diameter... Group the Swap
This thesis focuses on path dependent, with the critical event of “Basic Wage”, and listing into “election path” “cost down path” and “protection path” etc., and then
The advantages of using photonic crystal fibers (PCFs) as gas sensors include large overlap and long optical path interaction between the gas and light mode field and only a