Master Thesis

in videogame development were invaluable to the development of this thesis. I would also like to ...... Textures: Custom format (mip mapped) ...... [Online]. http://mynameismjp.wordpress.com/2009/03/10/reconstructing-position-from-depth/ ...
3MB Sizes 8 Downloads 406 Views
Combining Rasterization and Ray Tracing Techniques to Approximate Global Illumination in Real-Time

João Pedro Guerreiro Cabeleira

Dissertação para obtenção do Grau de Mestre em

Engenharia Informática e de Computadore s

Júri Presidente:

Professor Doutor João Madeiras Pereira

Orientador:

Professor Doutor Rui Filipe Fernandes Prada

Vogal:

Doutor Ido Aharon Iurgel

Outubro 2010

Resumo A recente evolução em termos do hardware de processamento tornou possível a utilização de efeitos de iluminação global em tempo real. Nomeadamente, diversos algoritmos clássicos de iluminação global foram recentemente adaptados de forma a serem processados no GPU assim como o algoritmo de ray tracing que também foi extensivamente estudado de forma a ser processável em tempo real no CPU. Apesar de nenhuma destas técnicas oferecer uma solução completa para a simulação realista de iluminação, cada uma delas oferece um contributo importante para atingir este objectivo. Baseada nesta ideia, esta dissertação apresenta um motor de geração de gráficos que combina a rasteriação gerada no GPU e técnicas de ray tracing processadas no CPU com o objectivo de aproximar iluminação global em tempo real. Este motor simula iluminação directa através da utilização de modelos de iluminação locais e simula também iluminação diffusa indirecta através da implementação da técnica light propagation volumes e de uma nova técnica que é apresentada nesta tese que simula a iluminação causada pelo céu. Esta iluminação é posteriormente complementada por reflecções e refracções geradas por um ray tracer híbrido que combina o poder de processamento do CPU e do GPU para gerar estes efeitos de forma eficiente e para os integrar com o resto da iluminação.

Palavras-chave: illuminação global, ray tracing, iluminação atmosférica, tempo real

Abstract With the advent of modern processing hardware, it became possible to bring global illumination effects into real-time applications. Namely, several classic global illumination algorithms were recently adapted to run in real-time on the GPU while ray tracing has also become suitable for real-time rendering on the CPU. Although none of these techniques provides a complete solution for simulating illumination in a realistic way, each one of them provides a different but complementary contribution for achieving this purpose. In this line of thought, this thesis introduces a 3D rendering engine that combines GPU rasterization and CPU ray tracing techniques in order to approximate global illumination in real-time. The engine simulates direct lighting using typical local illumination models while it simulates indirect lighting through an implementation of the light propagation volumes technique and a new sky lighting technique that is presented in this thesis which provides realistic indirect lighting for outdoor environments. These illumination effects are then complemented by sharp reflections and refractions generated by an hybrid real-time ray tracer that combines the processing power of the CPU and the GPU to generate these effects efficiently and to combine them seamlessly with the rest of the lighting.

Keywords: global illumination, ray tracing, sky lighting, real-time

Acknowledgements First, I would like to dedicate this work to my parents and brother. I would have never been able to complete it without their unconditional support and faith. I am also deeply thankful to my friend, Filipe “Filami” Amim, for having the kindness and patience to share his precious knowledge with me. His large competence and experience in videogame development were invaluable to the development of this thesis. I would also like to express my gratitude to my supervisor, Professor Rui Prada, for his contribution and guidance on the research and writing of this thesis. I am also thankful to Professor Vasco Costa for sharing is knowledge and ideas about the intricate deta