1 |
Global Illumination for Dynamic Voxel Worlds using Surfels and Light ProbesPrintzell, Dan January 2020 (has links)
Background. Getting realistic in 3D worlds has been a goal for the game industry since its creation. With the knowledge of how light works; computing a realistic looking image is possible. The problem is that it takes too much computational power for it to be to able render in real-time with an acceptable frame rate. In a paper Jendersie, Kuri and Grosch[8] and in a thesis by Kuri [9] they present a method of calculation light paths ahead-of-time, that will then be used at run-time to get realistic light. The problem with this is that only allows for static world. Objectives and Research questions. The objective of this thesis is to continue the work of the previously mentioned paper to allow the lighting system to be used for a dynamic voxel world. Where it will update the internal data structures when the world changes. Furthermore, this thesis will also answer how this lighting system is adapted for a voxel world, and additionally it will give suggestions of what can be done next. The questions this research will answer are: How can the creation algorithms of a Surfel and Light Cache GI system be optimized so it can be used in real-time while having interactive frame-rates? In what aspects does a voxel world, compared to a vertex world, influence the implementation of this GI system? Methods. The research questions will be answer by implementing the lighting system into a voxel engine and then optimizing it to allow it to be use at run-time with interactable frame-rates. Results. The result gather shows that a speedup of about 2.5 can be achieved by parallelizing the tasks into their own thread, and by allowing the lighting data to be a few frames behind. Conclusions. The experiment was successful and it shows that the lighting system can be optimized so it can be used at run-time. Additionally it explains how a voxel world influences the implementation of this lighting system. There is future work that can be done. For example, making a replication study where the algorithms are implemented into more engines to validate the results, exploring more optimization techniques, etc.
|
2 |
Placement automatique de sondes d’irradiancePolard-Perron, Joël 05 1900 (has links)
Nous proposons une méthode pour placer automatiquement des sondes dans une scène par minimisation d’une fonction d’erreur. Nous guidons les sondes vers les sites d’échantillonnage optimaux en appliquant la descente de gradient à une fonction d’erreur qui représente la similarité entre la structure en construction et un ensemble de référence. En utilisant la pondération inverse à la distance comme fonction interpolante, nous avons construit avec fiabilité des ensembles de sondes dans trois scènes. En comparant nos résultats avec ceux produits par un ensemble de sondes de référence placées sur une grille régulière, nous atteignons théoriquement notre objectif dans une des trois scènes, où nous obtenons des valeurs d’erreur inférieures à la référence avec beaucoup moins de sondes. Nous avons eu des succès partiels dans les autres scènes, selon le nombre d’échantillons utilisés. / Diffuse global illumination within a 3D scene can be approximated in real time using irradiance probes. Probe placement typically relies on significant human input, and final quality of the approximation is often left to the subjectivity of a lighting artist. As demand for realism in rendering increases, the need to enhance the quality of such approximations is greater. We propose a method to automatically place probes in a scene by minimizing an error function. We guide probes to optimal sampling locations by applying gradient descent to an error function that represents similarity between our interpolated results and reference irradiance values. Using weighted nearest neighbour interpolation, we were able to reliably construct probe sets with minimal input in three scenes. Comparing our results to those produced by a set of probes placed on a 3D grid, we were theoretically successful in one scene, in which we could obtain lower error values with fewer probes. We obtained partial success in the other scenes, depending on the number of samples used.
|
Page generated in 0.0768 seconds