Sei sulla pagina 1di 1

Realtime Global Illumination via GPU-accelerated Sparse Voxel Octree:

A Magnificent Blasphemy of the Traditional Shader Pipeline

Domagoj Panda z
Motion Digital The problem of realtime global illumination has been haunting researchers for several decades, giving rise to multiple techniques for approximating multiple light bounces in the scene. Unfortunately, the intense light-scene interaction proved to be too much for runtime computation, requiring more sophisticated and creative methods of determining radiance transfer in the scene. This, in turn, requires dynamic geometry filtering. It seemed a losing battle, mostly due to the relatively conservative nature of the shader pipeline and available compute power of current generation GPUs. Today, we have access to extremely programmable GPUs with gigabytes of memory, with over 5 TFLOPS of parallelised processing power just asking to dispatch thousands of threads. Today, global illumination takes its righteous place with its local brethren. I. GLOBAL ILLUMINATION - MAKING YOU CARE

Simulating multiple bounces of light may sound like a trivial task to the uninitiated. From a conceptual level, it truly is beautiful in its simplicity. However, that observation is made from the natural perspective of tracing rays. But interactive 3D applications took a more performant route towards rendering - rasterization. Its very design serves only to map the geometry of the scene allocated within a view frustum to the screen of the user. It has no notion of shading, computing light transport across the scene and it only takes into account the things that can be seen with a particular view transform. As such, it is orders of magnitude faster than traditional approaches of marching or tracing rays. The oldest trade in the book, performance over quality. But they do not need to exist in vacuum, rasterization can be mixed conservatively with tracing and marching approaches to solve our illumination problem. This requires careful planning since it is very easy to defeat all the benefits of rasterization. And the very performance we seek so much required us to limit our attention to the local illumination model, which is just a professional way to say we only took into account the discrete lights of the scene, without considering indirect lighting coming from light interacting with the rest of the scene.

have offered many techniques that resolve diffuse illumination in a very convincing way, but failed to deliver the same in the specular department, which is basically a crucial aspect of conveying a realistic scene, determining how glossy or reflective a material is. In a realistic simulation, there is no difference between diffuse and specular calculations. When one accounts how perfect a reflector is, we can sample the rest of the scene for indirect lighting and determine the amount of lighting the surface receives. There is no special treatment and approximating various aspects of light transport separately. We are happy to report that we have a viable, realtime global illumination solution which unifies aspects of light transport under one banner. We have found a way to stochastically approximate the complex light transport equation in realtime. And no academic interactive rates. 16.67 ms per frame, on commodity hardware. How does it work? By resolving issues of the existing rasterization approaches. The first problem is overdraw, too many triangles competing for the same pixel on the screen. We have developed a GPU-accelerated structure which yields data at sampling resolution by employing a sparse octree to store the voxelized data from the scenes geometry and filters the data up the chain to provide a mipmapping analog. If we are to have indirect lighting, it is also necessary to store radiometric information in this structure, which is also accomodated. But having a structure is only a part of the solution, we need a way to represent light transport information in the scene - efficiently. We will first investigate the mathematical prerequisites in order to give the reader a better understanding of what is going on. We will discuss the light transport equation, what it means to integrate over a hemisphere and how to get rid of the nasty expression which facilitates recursion. This will involve stochastic evaluation, for which we will consult the Project Man-

A.

Understanding the problem

One must observe that the local illumination model has severe implications. Since it is a coarse approximation of light transport, it separates diffuse, specular and ambient lighting calculations, as well as the operation of shadowing from lighting. What this means is that people

Potrebbero piacerti anche