Approximate Ray-Tracing on the GPU with Distance Impostors László Szirmay-Kalos Barnabás Aszódi István Lazányi Mátyás Premecz TU Budapest, Hungary
GPU rendering versus Ray-Tracing Inremental rendering on the GPU Non-coherent Ray tracing
Previous work Ray-tracing on the GPU Ray-tracing on the GPU –Ray-engine (Carr et. al): Bad complexity: time rays triangles Bad complexity: time rays triangles –Regular grid (Purcell et. al): Problematic for dynamic objects Problematic for dynamic objects Environment mapping (Blinn) Environment mapping (Blinn) –Environment is at infinity –Localization with simple proxy geometry (Bjorke)
Contribution of this paper GPU friendly approximate ray tracing algorithm for casting incoherent rays needed, for example, when computing GPU friendly approximate ray tracing algorithm for casting incoherent rays needed, for example, when computing –Reflections –Refractions –Caustics –…
distance radiance Distance Impostors
Ray-Tracing with Distance Impostors
Approximation
Approximation Error 1 iteration 4 iterations8 iterations
Reflections radiance
Problems of environment map based reflections Environment mapReference
Localized Reflections distance radiance
Comparison of Localized Refrections
Refractions radiance environment
Multiple Localized Refractions distance normals environment
Comparison of Multiple Refractions
Multiple refraction results 109 FPS
Caustics distance texture u, v texture uv, power
32 x 32 Texture modulation Texture uv of photon positions Vertex shader Billboard positions filter Pixel shader Lit texture or Light map 256 x 256
Caustics Results: 180 FPS
Application: Ray-tracing effects in games
Conclusions Distance impostors to represent geometry in ray tracing Distance impostors to represent geometry in ray tracing Iterative ray tracing algorithm Iterative ray tracing algorithm Applications (100+ FPS): Applications (100+ FPS): –Localized reflections –Single and multiple localized refractions –Caustics