基于點緩存全局光照技術(shù)的研究
本文選題:全局光照 + 基于點緩存的全局光照 ; 參考:《山東大學(xué)》2014年博士論文
【摘要】:隨著動漫產(chǎn)業(yè)的發(fā)展,人們對真實感渲染的要求越來要高,全局光照做為真實感渲染中的重要組成部分,一直被廣泛關(guān)注。全局光照既需要計算從光源直接得到的光照,還需要計算經(jīng)過場景中物體反彈之后的光照,該問題描述為渲染方程的求解。目前常用的計算全局光照的算法包括了蒙特卡洛光線跟蹤算法、光子映射、多光源算法以及基于點的全局光照算法等。本文對基于點的全局光照算法(Point based global illumination簡稱為PBGI)展開研究。 PBGI算法主要用于模擬環(huán)境光遮擋、色溢、面積光以及光澤反射等效果,雖然不能保證結(jié)果的正確性,但是渲染效果是無噪聲,并且與光線跟蹤相比,具有更高效率。該算法分為兩個階段:第一階段,對場景進(jìn)行采樣并且計算每個采樣點的直接光照,形成點云,將點云組織到空間層次結(jié)構(gòu)(比如Bounding Sphere Hierarchy簡稱為BSH)中,該點云層次結(jié)構(gòu)中的每個節(jié)點,表示其子樹的平均位置、法向以及光照信息。第二階段,利用點云層次結(jié)構(gòu)計算著色點的間接光照,表里點云層次結(jié)構(gòu),找到對當(dāng)前著色點可能產(chǎn)生貢獻(xiàn)的節(jié)點,根據(jù)節(jié)點距離著色點距離的不同采用不同的策略,距離較遠(yuǎn)的節(jié)點,無需遍歷到其中的每一個點,將這些節(jié)點投影到為該著色點構(gòu)建的微緩沖區(qū)(包含節(jié)點深度和顏色信息的半球緩沖區(qū)或者立方體緩沖區(qū)),計算這些節(jié)點的可見性,最后將微緩沖區(qū)中的顏色值,與其對應(yīng)的雙向反射分布函數(shù)(Bidirectional Reflection Distribution Function,簡稱為BRDF)以及立體角等卷積后得到該著色點的間接光照值。PBGI的高效性以及無噪聲是它的主要優(yōu)勢,但是PBGI算法也存在一些問題,比如無法計算非漫反射光線傳遞,即不能模擬焦散和光澤反射表面之間的反射等效果,而這些效果在全局光照中至關(guān)重要,因此該問題限制了PBGI算法的應(yīng)用范圍。在本文中,我們針對PBGI中存在的問題展開研究,一方面提高其效率,另一方面擴(kuò)展該算法使其支持更多光線傳遞路徑,另外,我們對PBGI算法應(yīng)用到預(yù)覽渲染中進(jìn)行了初步探索。 本文提出了基于分解的點緩存全局光照算法,考慮到著色點之間的空間連貫性,通過重用樹切以及微緩沖區(qū)來提高效率。在PGBI算法中,計算每個著色點間接光照的過程是獨立的,但是我們發(fā)現(xiàn)位置和法向相近的著色點具有相似的樹切,即這些著色點的遍歷過程存在冗余。我們首先提出著色點關(guān)于位置和法向的相似性模型,并且基于k-means聚類算法將著色點進(jìn)行聚類,在每個聚類中找到聚類樹切,并且將聚類樹切中的節(jié)點分為遠(yuǎn)節(jié)點和近節(jié)點:遠(yuǎn)節(jié)點被聚類中的著色點所共用并且不再進(jìn)行遍歷,而近節(jié)點分別被每個著色點進(jìn)一步遍歷。此外,我們使用聚類微緩沖區(qū)計算遠(yuǎn)節(jié)點的可見性,著色點微緩沖區(qū)計算近節(jié)點以及更新節(jié)點的可見性,通過將這兩種微緩沖區(qū)融合得到入射輻射亮度,與BRDF卷積后得到間接光照值。該算法對樹切進(jìn)行重用,從而使得PBGI的效率提高數(shù)倍,并且產(chǎn)生的誤差較少,此外,保持了原算法的時間連貫性。 我們提出了基于小波的PGBI算法計算非漫反射表面之間的光線傳遞。在PBGI算法中,使用RGB存儲點的直接光照,使用球諧函數(shù)(Spherical Harmonics,簡稱為SH)系數(shù)來存儲點云層次結(jié)構(gòu)中的直接光照,由于只存儲了漫反射點的直接光照,因此無法模擬焦散等效果。如果采用SH來存儲非漫反射點的光線傳遞,低頻BRDF能夠使用較少的系數(shù)來表示,而高頻BRDF則需要大量的SH系數(shù),由于SH不支持非線性近似,將造成嚴(yán)重的內(nèi)存問題,而哈爾小波支持非線性近似,具有稀疏性,在內(nèi)存使用方面具有優(yōu)勢;此外,在表示高頻函數(shù)時,SH存在"ringing走樣。基于以上原因,本文中使用哈爾小波來存儲直接光照,即小波系數(shù)緩存點的出射輻射亮度,在立方體貼圖上采樣后,在每個面上進(jìn)行二維小波變換來得到小波系數(shù),并且將小波系數(shù)在點云層次結(jié)構(gòu)中進(jìn)行層次化編碼,即將小波系數(shù)再次進(jìn)行小波分析,在點云層次結(jié)構(gòu)的每個節(jié)點中計算節(jié)點近似系數(shù)和節(jié)點細(xì)節(jié)系數(shù),對于高層的節(jié)點(遠(yuǎn)離根節(jié)點的節(jié)點層數(shù)越大)只存儲節(jié)點細(xì)節(jié)系數(shù),低層的節(jié)點只存儲節(jié)點近似系數(shù),從而減少內(nèi)存占用。此外,在計算點云層次結(jié)構(gòu)的節(jié)點小波系數(shù)時,采用后序遍歷的策略來減少內(nèi)存使用。PBGI在高頻光照或者高頻BRDF情況下會出現(xiàn)走樣問題,這是由于對光照或者BRDF采樣不足造成的,該問題可以通過提高微緩沖區(qū)的分辨率來解決,但是這將嚴(yán)重影響到渲染效率,使得PBGI失去原有速度上的優(yōu)勢,因此我們提出了重要性驅(qū)動緩沖區(qū)技術(shù),只在“重要”方向增加微緩沖區(qū)的分辨率。根據(jù)BRDF和入射光照重要性構(gòu)造重要性函數(shù),細(xì)分重要性高的微緩沖區(qū)像素,通過實驗證明,該重要性驅(qū)動微緩沖區(qū)既解決了走樣問題,又保持了算法的高效性;谛〔ǖ腜BGI算法,能夠計算從漫反射到非常接近于鏡面反射的各個頻率的材質(zhì),并且與雙向路徑算法相比有更高的效率。 在以上兩個算法的基礎(chǔ)上,我們提出基于視點樹的多次反射計算方法,用于快速計算光線在場景中的多次反射。PBGI算法中,在計算多次反射時,需要計算點云中每個點的間接光照,即每個點都需要遍歷點云層次結(jié)構(gòu)以及向微緩沖區(qū)投影樹切中的節(jié)點,得到入射輻射亮度之后,再根據(jù)BRDF計算出射輻射亮度。基于空間連貫性,我們提出利用視點樹進(jìn)行遍歷的方案,即點云樹中的某些節(jié)點對于其他某些節(jié)點中包含點的貢獻(xiàn)是相似的,此時,沒有必要對這些點分別遍歷來找到該節(jié)點。在多次反射中,點云樹有兩個作用:發(fā)射和接收,為了表達(dá)的清晰,分別稱為點云樹和視點樹,基于視點樹遍歷的目標(biāo)是盡可能找到反射節(jié)點和接收節(jié)點對,使得反射節(jié)點對接收節(jié)點中所有點的貢獻(xiàn)是相似的,通過計算兩個立體角來達(dá)到該目標(biāo)。最終,重用的樹切分布在該視點樹中,這是對基于分解的PBGI算法的擴(kuò)展,從聚類內(nèi)著色點的樹切重用擴(kuò)展到層次化地重用。此外,在多次反射中的另外一個問題是如何由入射輻射亮度快速得到出射輻射亮度。假設(shè)出射方向和入射方向都在n×n的半球(投影為正方形)上采樣,即需要計算n2次BRDF與入射輻射亮度的卷積,該問題的時間復(fù)雜性O(shè)(n4)。根據(jù)小波稀疏性的特點,我們分別將入射輻射亮度和BRDF進(jìn)行小波變換,然后在頻率空間相乘,從而提高效率。本文提出了BRDF四維小波系數(shù)和入射光照二維小波系數(shù)相乘快速計算出射輻射亮度的模型。最后,我們利用緩存了多次反射光照的點云層次結(jié)構(gòu),充分使用圖形處理單元并行計算的優(yōu)勢,實現(xiàn)場景的預(yù)覽渲染,首先將點云層次結(jié)構(gòu)中包含節(jié)點近似系數(shù)的某一層節(jié)點作為采樣點,將這些采樣點向屏幕空間進(jìn)行投影,得到采樣點對每個像素所包含著色點的輻射亮度以及權(quán)重,并且將它們累加到兩個緩沖區(qū)中,再根據(jù)這兩個緩沖區(qū)計算出著色點的輻射亮度。場景中可以包含漫反射材質(zhì)以及各種頻率的光澤反射材質(zhì),并且支持視點的變化。 本文對PBGI算法進(jìn)行改進(jìn)和擴(kuò)展,一方面使其具有更高效率,另一方面,使其支持非漫反射光線傳遞,從而可以模擬焦散等效果,擴(kuò)大其應(yīng)用范圍。
[Abstract]:With the development of the animation industry, the demand for realistic rendering is getting higher and higher. Global light is an important part of the realistic rendering. The global illumination needs to calculate the illumination directly obtained from the light source and the illumination after the rebound of the objects in the scene. The problem is described as the rendering square. The commonly used algorithms for computing global illumination include Monte Carlo ray tracing algorithm, photon mapping, multi light source algorithm and point based global illumination algorithm. This paper studies the point based global illumination algorithm (Point based global illumination for short).
The PBGI algorithm is mainly used to simulate the effects of ambient light occlusion, color overflow, area light and luster reflection, although it can not ensure the correctness of the results, but the rendering effect is no noise and is more efficient than the ray tracing. The algorithm is divided into two stages: the first stage, sampling the scene and calculating each sampling point. The point cloud is formed by direct light, and the point cloud is organized to the spatial hierarchy (such as Bounding Sphere Hierarchy for short, BSH). Each node in the point cloud hierarchy represents the average position of its subtree, the normal direction and the illumination information. The second stage is used to calculate the indirect illumination of the coloring point with the point cloud hierarchy, and the interior point cloud hierarchy. To find nodes that may contribute to the current coloring point, using a different strategy depending on the distance from the node distance to the coloring point, the distant nodes, without traversing each of them, projecting these nodes to the micro buffer for the coloring point (hemispherical buffers containing node depth and color information or standing). The visibility of these nodes is calculated. Finally, the color value in the micro buffer, and its corresponding bidirectional reflectance distribution function (Bidirectional Reflection Distribution Function, BRDF), and the stereoscopic angle are convoluted, and the efficiency of the indirect illumination value.PBGI of the coloring point is obtained and the non noise is its main advantage. However, there are some problems in the PBGI algorithm, such as the inability to calculate the non diffuse reflection ray transfer, that is, the effect of the reflection between the caustic and the gloss reflected surfaces is not simulated, and these effects are very important in the global illumination. Therefore, this problem restricts the application of the PBGI algorithm. In this paper, we deal with the problems in the PBGI. On the one hand, we can improve its efficiency, on the other hand, it extends the algorithm to support more ray transmission paths. In addition, we have made a preliminary exploration of the application of PBGI algorithm to preview rendering.
In this paper, a decomposition based global illumination algorithm for point caching is proposed. Considering the spatial coherence between the coloring points, the efficiency is improved by reusing the tree cutting and the micro buffer. In the PGBI algorithm, the process of calculating the indirect illumination of each coloring point is independent, but we find that the position and method have similar tree cutting to the similar coloring points. That is, the traversing process of these coloring points is redundant. Firstly, we propose the similarity model of location and normal direction of coloring points, and cluster the coloring points based on K-means clustering algorithm, find the clustering tree in each cluster, and divide the nodes in the clustering tree into the remote nodes and the near nodes: the coloring of the remote nodes in the clustering. The points are shared and no longer traversed, and the near nodes are further traversed by each coloring point. In addition, we use the clustering micro buffer to calculate the visibility of the remote nodes. The coloring point micro buffer calculates the visibility of the near nodes and updates the nodes. The two kinds of micro flushing areas are fused to the incident radiation brightness and after the convolution with BRDF. Indirect illumination is obtained. The algorithm reuses tree cutting so that the efficiency of PBGI is increased several times, and the error is less. In addition, the time consistency of the original algorithm is maintained.
We propose a wavelet based PGBI algorithm to calculate the light transmission between non diffuse surfaces. In the PBGI algorithm, direct illumination is used to store the direct illumination of the point cloud structure using the direct illumination of the RGB storage point and the spherical harmonic function (Spherical Harmonics, abbreviated for abbreviated as SH). If SH is used to store the light transmission of non diffuse reflection points, low frequency BRDF can be expressed with less coefficients, while high frequency BRDF requires a large number of SH coefficients. Because SH does not support nonlinear approximation, it will cause serious memory problems, while har wavelet is supported by nonlinear approximation and has sparsity and is used in memory. The mask has the advantage; in addition, when the high frequency function is expressed, SH has a "ringing aliasing". Based on the above reasons, this paper uses Hal wavelet to store direct illumination, that is, the outgoing radiation luminance of the wavelet coefficient caching point. After sampling the cube map, the wavelet coefficients are obtained by two-dimensional wavelet transform on each surface, and the wavelet system is used. In the hierarchical structure of the point cloud, the hierarchical coding is carried out, and the wavelet coefficients are analyzed again. The node approximation coefficient and the node detail coefficient are calculated in each node of the point cloud hierarchy. The node details are stored only for the nodes of the high level nodes (the number of nodes far away from the root node), and the nodes in the low layer only store the nodes near the nodes. In addition, in calculating the node wavelet coefficients of the point cloud hierarchy, the post order traversal strategy is used to reduce the memory use of.PBGI in high frequency or high frequency BRDF. This is due to the lack of light or BRDF sampling, which can be improved by improving the micro buffer. The resolution of the zone is solved, but this will seriously affect the rendering efficiency, making the PBGI lose the advantage of its original speed, so we propose the importance driven buffer technology to increase the resolution of the micro buffer only in the "important" direction. According to the importance of the importance of BRDF and the importance of incident illumination, we subdivide the micro buffer with high importance. It is proved by experiments that the importance of the micro buffer solution not only solves the problem of the aliasing, but also keeps the efficiency of the algorithm. The wavelet based PBGI algorithm can calculate the material from diffuse reflection to very close to the mirror reflection, and it is more efficient than the bidirectional path algorithm.
On the basis of the above two algorithms, we propose a multiple reflection calculation method based on view tree, which is used to quickly calculate the multiple reflection.PBGI algorithm in the scene. When calculating multiple reflections, we need to calculate the indirect illumination of each point in the point cloud, that is, each point needs to traverse the point cloud hierarchy and projection to the micro buffer. The nodes in the tree cut the radiation brightness after the incident radiation, and then calculate the radiation luminance according to the BRDF. Based on the spatial coherence, we propose a scheme to traverse the point tree, that is, some nodes in the point cloud are similar to the contribution of the points in some other nodes. At this time, it is not necessary to traverse these points to find the points respectively. In multiple reflection, the point cloud tree has two functions: launch and receive, in order to express clarity, it is called point cloud tree and point tree respectively. The target based on view tree traversing is to find the reflection node and the receiving node as much as possible, so that the contribution of the reflection node to all points in the receiving node is similar, by calculating two stereoscopic points. Finally, the reused tree cut is distributed in the view tree. This is the extension of the decomposition based PBGI algorithm, extending from the tree cutting reuse to the hierarchical reuse of the coloring points in the cluster. In addition, the other problem in the multiple reflection is how to quickly get the radiation luminance from the incident radiance. Suppose the ejector is emitted. Both the direction and the direction of the incident are sampled on the n x N hemisphere (the projection is square), that is to calculate the convolution of the N2 BRDF and the incident radiance. The time complexity of the problem is O (N4). According to the characteristics of the sparsity of the wavelet, we change the incident radiation brightness and BRDF, and then multiplied in the frequency space, thus improving the efficiency. The BRDF four dimension wavelet coefficients and the two-dimensional wavelet coefficients of incident illumination are multiplied to calculate the radiation luminance quickly. Finally, we have cached the point cloud hierarchy of multiple reflection light, and fully use the advantages of the parallel computing of the graphic processing unit to realize the preview rendering of the scene. First, we include the nodes in the point cloud hierarchy. Some nodes of the point approximate coefficient are used as sampling points to projection the sampling points to the screen space, to get the radiance and weight of the color points contained in each pixel by the sampling points, and to add them to two buffers, and then calculate the radiance of the coloring point according to the two buffers. Reflective material and glossy reflective materials of various frequencies, and support the change of viewpoint.
In this paper, the PBGI algorithm is improved and expanded. On the one hand, it makes it more efficient. On the other hand, it supports non diffuse reflection ray transmission, which can simulate the effect of caustics and expand its application range.
【學(xué)位授予單位】:山東大學(xué)
【學(xué)位級別】:博士
【學(xué)位授予年份】:2014
【分類號】:O439
【相似文獻(xiàn)】
相關(guān)期刊論文 前10條
1 謝應(yīng)濤;;一種隨機(jī)光線分層表面的光能輻射方法[J];大眾科技;2010年04期
2 ;[J];;年期
3 ;[J];;年期
4 ;[J];;年期
5 ;[J];;年期
6 ;[J];;年期
7 ;[J];;年期
8 ;[J];;年期
9 ;[J];;年期
10 ;[J];;年期
相關(guān)會議論文 前1條
1 劉魯男;;三維特技鏡頭的制作——“真實”的輕松再現(xiàn)[A];2011中國電影電視技術(shù)學(xué)會影視技術(shù)文集[C];2011年
相關(guān)博士學(xué)位論文 前3條
1 任重;基于預(yù)計算的交互式全局光照明研究[D];浙江大學(xué);2007年
2 王貝貝;基于點緩存全局光照技術(shù)的研究[D];山東大學(xué);2014年
3 孫鑫;可變材質(zhì)的交互級全局光照明繪制算法的研究[D];浙江大學(xué);2008年
相關(guān)碩士學(xué)位論文 前10條
1 張桂連;室內(nèi)實時全局光照技術(shù)研究[D];山東師范大學(xué);2009年
2 楚夢渝;基于GPU的漸進(jìn)式光子松弛[D];浙江大學(xué);2014年
3 朱元龍;Light Propagation Volume全局光照算法的研究[D];杭州電子科技大學(xué);2014年
4 魏萍;點云全局光照渲染方法的優(yōu)化與擴(kuò)展[D];山東大學(xué);2014年
5 楊陽;基于點的全局光照效果的研究[D];杭州電子科技大學(xué);2011年
6 劉明;預(yù)計算光能傳輸光照下逐像素渲染的實現(xiàn)[D];電子科技大學(xué);2007年
7 鄒欣昂;動態(tài)場景的全局光照實時繪制[D];湖南大學(xué);2007年
8 姜松;包含光澤材質(zhì)復(fù)雜場景全局光照明的高效繪制[D];浙江大學(xué);2012年
9 龔懌;動態(tài)場景的全局光照實時繪制[D];浙江大學(xué);2006年
10 袁偉杰;全局光照下的動畫渲染技術(shù)研究[D];天津大學(xué);2007年
,本文編號:1984782
本文鏈接:http://sikaile.net/wenyilunwen/dongmansheji/1984782.html