基于点缓存全局光照技术的研究 - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Thèse Année : 2014

Research on Point based Global Illumination

Recherche sur le point de base de Global Illumination

基于点缓存全局光照技术的研究

Beibei Wang

Résumé

As the development of animation industry, there are more and more requirements for the realistic rendering. Global illumination (GI) is an significant part of realistic rendering, and it has been focused by researchers for many years. Not only the lighting directly from the light sources but also the lighting reflected by other objects in the scene is required to be computed, so it's complicated to solve the GI problem that can be described as the rendering equation. Several algorithms can be used to solve this problem, such as Monte Carlo based ray tracing, photon mapping, many lights based approaches, point based global illumination and so on. This thesis is about Point Based Global Illumination (PBGI). PBGI is a popular rendering algorithm in movie and motion picture productions. This algorithm provides a diffuse global illumination solution by caching radiance in a mesh-less hierarchical data structure during a pre-process, while solving for the visibility over this cache, at rendering time, for each receiver, using a microbuffer, which is a localized depth and color buffer inspired from real time rendering environments. As a result, noise free ambient occlusion, indirect soft shadows and color bleeding effects are computed efficiently for high resolution image output and in a temporally coherent fashion. PBGI has attracted increasing attention nowadays because of its efficiency and noise free quality. However, there are still some problems, such as it can not simulation non-diffuse light transport, that makes it have limited applications. My thesis aims to solve these issues in PBGI and extend it to support more light transport path. Based on the spatial coherency, we propose a factorized solution of PBGI to make it more efficient by reusing the tree cut and the microbuffers. In PBGI, each receiver traverse the point cloud tree independently, but we observe that the similar receivers have the similar tree cut, that means there is redundancy during the traversal process. A similar model of the receivers is proposed at first, and then it is used to cluster the receivers. The point cloud tree is traversed for a cluster instead of for each receiver, and a cluster tree cut is obtained. The far nodes in the cluster tree cut are shared directly by all the receivers in this cluster without further traversing, while the near nodes are traversed for each receiver independently. A cluster microbuffer is proposed to solve for the visibility of the far nodes, while the receiver specific microbuffer is used to solve for the visibility of the near nodes and the refined nodes. The final microbuffer by combining these two microbuffers is convolved with the bidirectional reflection distribution funcion (BRDF) of the receiver to get the final indirect illumination. Our algorithm offers a significant rendering speed-up for a negligible and controllable approximation error and it inherits the temporal coherence of PBGI. We also propose a wavelet based solution to PBGI to compute the non-diffuse light transport.As only the diffuse lighting of the point is baked in PBGI, it can not simulate the non-diffuse light transport, such as caustics. PBGI tree nodes uses spherical harmonics (SH) to represent outgoing radiance. Unfortunately, even using a larger number of coefficients, SH are not able to capture high frequencies efficiently, which translates in our case to non-diffuse reflections or refractions. Consequently, caustics stemming from metals, plastics, glass and other reflective or refractive materials are not handled with classical PBGI frameworks. Even when ignoring the performance issue induced by a larger number of SH coefficients, ringing artifacts quickly appear. Compared with SH, haar wavelets support non-linear approximation, so the the representation is compact. So we propose to represent the outgoing radiance of the non-diffuse point with wavelet coefficients by sampling according to a cube map firstly and wavelet transforming each face of this cube map. The coefficients are further encoded hierarchically in the point cloud tree to decrease the memory usage, that means the coefficients themselves are wavelet transformed, generating two kinds of coefficients: node approximation coefficients and node detail coefficients. The node approximation coefficients are stored for the low level nodes (close to the root), and the node detail coefficients are stored for the high level nodes. To avoid storing the entire list of nodes vectors at any intermediate state, we compute this compressed representation during a post-order depth-first traversal of the PBGI tree. Further more, according to the artifacts problem that appears when there is high frequency BRDF or lighting in the scene, we propose to use the importance driven microbuffer. The importance function that includes the incoming lighting importance and the BRDF importance is used to drive the microbuffer, that means when one pixel has high frequency information (lighting or BRDF), it will be subdivided. Finally, our rendering algorithm allows to handle non-diffuse light transport, reproducing caustics with a similar quality to bidirectional path tracing for only a fraction of the computation time, with an intuitive control on the approximation error. Based on the previous two algorithms, we propose a view-tree based approach to compute the multiple bounces reflection. In PBGI, the indirect illumination of each point in the point cloud needs to be evaluated by traversing the point cloud tree and splatting the nodes in the tree-cut, so each point is treated a receiver. We propose to organize all the receivers into a view tree, and the point cloud tree is traversed for the view tree instead of for each receiver. The view tree approach is based on the observation some nodes in the point cloud tree contribute similarly to all the points in other nodes, that means we don¡¯t need to traverse for these points respectively but only for the node that contains these points. This is an extension to the factorized PGBI from one level (cluster) to a hierarchical structure (tree). Another problem for multiple bounces computation is how to evaluate the outgoing radiance from the incoming radiance efficiently. As the outgoing radiance needs to be computed for each sampling direction, the time complexity is $O(n^4)$, where $n\times n$ represents the resolution of the hemisphere or square according to which the incoming direction and the outgoing direction are sampled. The wavelet representation is sparse that improves the performance, so we decide to wavelet transform the incoming radiance and the BRDF and multiply them in the frequency domain. We propose a novel outgoing radiance computation model by doing product between 4D BRDF wavelet coefficients and 2D incoming radiance wavelet coefficients. Finally, the point cloud tree with multiple bounces reflection stored is used to offer a preview rendering of the scene by utilizing the GPU computing efficiently. We can support scenes that include diffuse materials and all frequency glossy materials with a changing camera. My thesis improves and extends the PGBI algorithm so that it can be used in more applications.
Comme le développement de l'industrie de l'animation, il ya de plus en plus d'exigences pour le rendu réaliste. L'illumination globale (IG) est une partie importante de rendu réaliste, et il a été porté par les chercheurs depuis de nombreuses années. Non seulement la lumière directement à partir des sources de lumière, mais aussi l'éclairage réfléchi par les autres objets de la scène doit être calculé, de sorte qu'il est compliqué de résoudre le problème de l'IG qui peut être décrit par l'équation de rendu. Plusieurs algorithmes peuvent être utilisés pour résoudre ce problème, comme le traçage basé Monte Carlo ray, le photon mapping, beaucoup de lumières approches fondées, le point sur la base de l'illumination globale et ainsi de suite. Cette thèse est basé sur des points sur Global Illumination (PBGI). PBGI est un algorithme de rendu populaire en cinéma et productions cinématographiques. Cet algorithme fournit une solution d'illumination globale diffuse en mettant en cache l'éclat dans une structure de données hiérarchique maille moins lors d'un pré-traitement, tout en résolvant pour la visibilité sur ce cache, au moment du rendu, pour chaque récepteur, en utilisant un microbuffer, qui est un localisée profondeur et tampon de couleurs inspirée des environnements de rendu en temps réel. En conséquence, le bruit ambiant sans occlusion, ombres douces indirects et des saignements de couleur effets sont calculés de manière efficace pour la sortie image haute résolution et d'une manière temporellement cohérente. PBGI a attiré une attention croissante de nos jours, en raison de sa qualité, sans l'efficacité et le bruit. Cependant, il ya encore quelques problèmes, comme il ne peut pas la simulation de transport de lumière non diffuse, ce fait avoir des applications limitées. Ma thèse vise à résoudre ces questions dans PBGI et l'étendre à soutenir chemin de transport de plus de lumière. Basé sur la cohérence spatiale, nous proposons une solution factorisée de PBGI à faire plus efficace en réutilisant la coupe des arbres et les microbuffers. Dans PBGI, chaque récepteur parcourir l'arborescence point de trouble indépendamment, mais nous observons que les récepteurs semblables ont la coupe d'arbre similaire, cela signifie qu'il ya une redondance au cours du processus de traversée. Un modèle similaire de récepteurs est proposé dans un premier temps, puis il est utilisé pour regrouper les récepteurs. L'arbre de nuage de points est traversé d'un cluster au lieu de pour chaque récepteur, et un arbre coupé de cluster est obtenu. Les nœuds loin dans l'arbre coupé du cluster sont partagés directement par tous les récepteurs de ce groupe sans autre déplacement, tandis que les nœuds proches sont traversés pour chaque récepteur indépendamment. Un microbuffer de cluster est proposé à résoudre pour la visibilité des nœuds loin, tandis que le microbuffer spécifique récepteur est utilisé à résoudre pour la visibilité des près de noeuds et les noeuds raffinés. Le microbuffer finale en combinant ces deux microbuffers est convoluée avec le funcion de distribution de réflexion bidirectionnelle (BRDF) du récepteur pour obtenir l'éclairage indirect finale. Notre algorithme offre un rendu accélération significative pour une erreur d'approximation négligeable et contrôlable et il hérite de la cohérence temporelle de PBGI. Nous proposons également une solution d'ondelettes basée à PBGI pour calculer les transport.As lumineuses non diffuses que l'éclairage diffus du point est cuit dans PBGI, il ne peut pas simuler la non-diffus transport léger, comme les caustiques. Nœuds d'arbre PBGI utilise des harmoniques sphériques (SH) pour représenter le rayonnement sortant. Malheureusement, même en utilisant un plus grand nombre de coefficients, SH ne sont pas en mesure de capturer efficacement les hautes fréquences, ce qui se traduit dans notre cas à des réflexions ou réfractions non-diffuses. Par conséquent, caustiques découlant de métaux, les plastiques, le verre et d'autres matériaux réfléchissants ou de réfraction ne sont pas traitées avec des cadres de PBGI classiques. Même lorsque ignorant la question de la performance induite par un plus grand nombre de coefficients SH, sonner artefacts apparaissent rapidement. Par rapport aux SH, les ondelettes de Haar supportent approximation non linéaire, de sorte que la représentation est compact. Donc, nous proposons de représenter le rayonnement sortant du point de non-diffuse avec des coefficients d'ondelettes par échantillonnage selon un cube map abord et ondelettes transformer chaque face de ce cube map. Les coefficients sont en outre codées hiérarchiquement dans l'arbre de nuages ​​de points pour réduire l'utilisation de mémoire, cela signifie que les coefficients sont eux-mêmes transformés en ondelettes, générer deux types de coefficients: noeud coefficients d'approximation et coefficients de détail de noeud. Les coefficients d'approximation noeud sont stockées pour les nœuds de bas niveau (à proximité de la racine), et les coefficients de détail de noeud sont stockées pour les nœuds de haut niveau. Pour éviter de stocker la liste complète des noeuds vecteurs à tout état intermédiaire, nous calculons cette représentation comprimé lors d'un post-order profondeur d'abord la traversée de l'arbre de PBGI. De plus, selon le problème des artefacts qui apparaît quand il ya BRDF haute fréquence ou de l'éclairage de la scène, nous proposons d'utiliser l'importance entraîné microbuffer. La fonction d'importance qui comprend l'importance de l'éclairage entrant et l'importance BRDF est utilisé pour entraîner le microbuffer, cela signifie quand un pixel dispose d'informations à haute fréquence (éclairage ou BRDF), elle sera découpée. Enfin, notre algorithme de rendu permet de gérer le transport de la lumière non diffuse, la reproduction caustiques avec une qualité similaire à la trajectoire bidirectionnelle traçage pour seulement une fraction du temps de calcul, avec un contrôle intuitif sur l'erreur d'approximation. Basé sur les deux algorithmes précédents, nous proposons une approche basée vue arbre pour calculer la rebonds réflexion multiple. Dans PBGI, l'éclairage indirect de chaque point dans le nuage de points doit être évaluée en parcourant l'arborescence point de trouble et splatting les nœuds de l'arbre-coupe, de sorte que chaque point est traité un récepteur. Nous proposons d'organiser tous les récepteurs dans un arbre de la vue, et l'arbre de nuage de points est traversée pour l'arbre de vue au lieu de pour chaque récepteur. L'approche de l'arbre de la vue est basée sur l'observation des noeuds de l'arbre de nuage de points contribuent de manière similaire à tous les points dans d'autres nœuds, cela signifie que nous ¡¯ t besoin de traverser pour ces points, respectivement, mais seulement pour le nœud qui contient ces points. Ceci est une extension de la PGBI factorisée d'un niveau (cluster) à une structure hiérarchique (arbre). Un autre problème pour de multiples rebonds calcul est comment évaluer le rayonnement sortant du rayonnement entrant efficacement. Comme le rayonnement sortant doit être calculé pour chaque direction d'échantillonnage, la complexité est en O $ (n ^ 4) $, où n $ \ times n $ représente la résolution de l'hémisphère ou carré selon laquelle le sens entrant et sortant direction sont échantillonnés. La représentation en ondelettes est clairsemée qui améliore la performance, donc nous avons décidé de la transformée en ondelettes le rayonnement entrant et la BRDF et les multiplier dans le domaine de fréquence. Nous proposons un modèle roman de calcul de rayonnement sortant en faisant produit entre 4D BRDF coefficients d'ondelettes et 2D radiance entrant coefficients d'ondelettes. Enfin, l'arbre de nuage de points avec de multiples rebonds réflexion stockée est utilisée pour offrir un rendu d'aperçu de la scène en utilisant efficacement le GPU computing. Nous pouvons soutenir scènes qui comprennent des matériaux diffuses et toutes les fréquences matériaux brillants avec une caméra changer. Ma thèse améliore et prolonge la PGBI algorithme de sorte qu'il peut être utilisé dans plusieurs applications.
Fichier principal
Vignette du fichier
thesis_final.pdf (31.73 Mo) Télécharger le fichier

Dates et versions

tel-01252659 , version 1 (07-01-2016)

Licence

Copyright (Tous droits réservés)

Identifiants

  • HAL Id : tel-01252659 , version 1

Citer

Beibei Wang. 基于点缓存全局光照技术的研究. Computer Science [cs]. Shandong University, 2014. Chinese. ⟨NNT : ⟩. ⟨tel-01252659⟩
367 Consultations
182 Téléchargements

Partager

Gmail Facebook X LinkedIn More