Summary: | 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.
|