Real-Time Screen-Space Scattering in Homogeneous Environments [2013]

In this project we tried to approximate light scattering in homogeneous media (most notably water and fog) by an image-space post-processing algorithm (requiring just a depth buffer as an additional input). This is possible because the high-level behaviour of scattering is similar to blurring. The result is a very fast post-processing procedure that takes only a couple of milliseconds for HD images and generates results comparable to path tracing in the given conditions. As such it can be seamlessly integrated into game engines as a better substitute for the standard exponential fog. The article will be a part of a special 'Scattering' issue of the IEEE Computer Graphics and Applications journal.

[pdf]Article (preprint)                 [bib]BibTeX entry

This work presents an approximate algorithm for computing light scattering within homogeneous participating environments in screen space. Instead of simulating the full global illumination in participating media we model the scattering process by a physically-based point spread function. To do this efficiently we apply the point spread function by performing a discrete hierarchical convolution in a texture MIP map. We solve the main problem of this approach, illumination leaking, by designing a custom anisotropic incremental filter. Our solution is fully parallel, runs in hundreds of frames-per-second for usual screen resolutions and is directly applicable in most existing 2D or 3D rendering architectures.

2013 2013 2013 2013

Interactive Cloud Rendering Using Temporally-Coherent Photon Mapping [2012]

My work on cloud rendering continued after finishing the master thesis and resulted in a paper that appeared on the Graphics Interface 2012 conference in May. The algorithm has been improved in several regards since the thesis and is now much closer to practical usability, as in addition to supporting dynamic light sources it now also supports dynamic media, while not requiring any precomputations at all. Link to the ACM Digital Library here.

[pdf]Paper (preprint)                 [pdf]Conference slides                 [bib]BibTeX entry

The paper has been suggested for a re-submission in the Computers and Graphics journal. The result is an extended version containing more details about the upsampling, impostor caching, and some other, minor aspects of the method. Link to the ACM Digital Library here.

[pdf]Article (preprint)                 [bib]BibTeX entry

This work presents a novel interactive algorithm for simulation of light transport in clouds. Exploiting the high temporal coherence of the typical illumination and morphology of clouds we build on volumetric photon mapping, which we modify to allow for interactive rendering speeds -- instead of building a fresh irregular photon map for every scene state change we accumulate photon contributions in a regular grid structure. This is then continuously being refreshed by re-shooting only a fraction of the total amount of photons in each frame. To maintain its temporal coherence and low variance, a low-resolution grid is initially used, and is then upsampled to the density field resolution on a physical basis in each frame. We also present a technique to store and reconstruct the angular illumination information by exploiting properties of the standard Henyey-Greenstein function, namely its ability to express anisotropic angular distributions with a single dominating direction.
The presented method is physically-plausible, conceptually simple and comparatively easy to implement. Moreover, it operates only above the cloud density field, thus not requiring any precomputation, and handles all light sources typical for the given environment, i.e. where one of the light sources dominates.

2012 2012 2012 2012
2012 2012 2012 2012

Physically-based Cloud Rendering on GPU [2011]

My master thesis attempts to deal with the problem of realistic interactive cloud rendering. It is a natural continuation of my previous work on atmospheric rendering. The main point in the thesis is the feasibility of performing an interactive physically-plausible light simulation in clouds; in this case based on a custom temporarily-coherent photon mapping algorithm.

[pdf]Thesis text                 [pdf]Defense slides

The rendering of participating media is an interesting and important problem without a simple solution. Yet even among the wide variety of participating media the clouds stand out as an especially difficult case, because of their properties that make their simulation even harder. The work presented in this thesis attempts to provide a solution to this problem, and moreover, to make the proposed method to work in interactive rendering speeds. The main design criteria in designing this method were its physical plausibility and maximal utilization of specific cloud properties which would help to balance the complex nature of clouds. As a result the proposed method builds on the well known photon mapping algorithm, but modifies it in several ways to obtain interactive and temporarily coherent results. This is further helped by designing the method in such a way which allows its implementation on contemporary GPUs, taking advantage of their massively parallel sheer computational power. We implement a prototype of the method in an application that renders a single realistic cloud in interactive framerates, and discuss possible extensions of the proposed technique that would allow its use in various practical industrial applications.

2011 2011 2011 2011

 Real-time Spectral Scattering in Large-scale Natural Participating Media [2010]

This paper is a summation of my work on atmospheric scattering, and it also adds support for scattering calculations in large water volumes. All computations are now spectral. It is co-authored by Petr Kmoch, my former thesis supervisor. Published at the SCCG 2010 conference. The work has won the "1st best SCCG 2010 presentation" award. Link to the ACM Digital Library here.

[pdf]Paper fulltext                 [pdf]Conference slides                 [bib]BibTeX entry

Real-time rendering of participating media in nature presents a difficult problem. The reason is that realistic reproduction of such media requires a proper physical simulation in all cases. In our work we focus on real-time rendering of planetary atmospheres and large areas of water. We first formulate a physically-based model for simulation of light transport in these environments. This model accounts for all necessary light contributions --- direct illumination, indirect illumination caused by the scattered light and interreflections between the planetary surface and the atmospheric volume, as well as reflections from the seabed. We adopt the precomputation scheme presented in the previous works to precompute the colours of the arbitrarily dense atmosphere and large-scale water surfaces into a set of lookup tables. All these computations are fully spectral, which increases the realism. Finally we utilize these tables in a GPU-based algorithm that is capable of rendering a whole planet with its atmosphere from all viewpoints above the planetary surface. This approach is capable to achieve hundreds of frames per second on today's graphics hardware.

2010 2010 2010 2010

The method has been used by Niels Fröhling in the Oblivion Graphics Extender (OBGEv3) project to obtain sky, Sun and clouds' colour. OBGE is an extension/mod of the widely popular TES IV: Oblivion game.

2011 2011 2011 2011 2011 2011 2011

 Layered Materials in Real-time Rendering [2010]

This work started as an interest in the layered model of Weidlich and Wilkie (described in the paper Arbitrarily Layered Micro-Facet Surfaces, see here). Since it is capable of producing very nice images, I wanted to find out if the model can be used in real-time environment, i.e. on the GPU. The paper has been published at the CESCG 2010 (non peer-reviewed).

[htm]Project page                 [pdf]Paper fulltext                 [pdf]Conference slides

Today's games and other real-time 3D applications often use only basic empirical models for modelling the appearance of materials and rely on complex geometry and texturing to make them more visually appealing. In this paper we explore the possibilities of bringing more physically plausible models to real-time 3D graphics. We do this by implementing the layered BRDF of Weidlich and Wilkie on GPU. This model utilizes the well-known Torrance-Sparrow and Oren-Nayar microfacet models. We show how to make this layered model useful for real-time rendering through various optimizations. Then we derive two specialized models based on this basic layered model. These two models attempt to simulate the appearance of metallic car paints and metallic patinas.

An increasingly patinated copper lion head
Two tori with different top layer roughness A glossy object with blue coating A torus with varying varnish thickness A diffuse concrete ball with shiny blue coating

 Rendering Parametrizable Planetary Atmospheres with Multiple Scattering in Real-time [2009]

I have broaded the work from my thesis and published a paper with the results at the CESCG 2009(non peer-reviewed). The work has won the "1st best CESCG 2009 paper" and the "1st best CESCG 2009 presentation" awards.

[pdf]Paper fulltext                 [pdf]Conference slides

In the field of physically-based rendering of natural phenomena, rendering of atmospheric light scattering takes a very important place. Real-time rendering of the sky and planetary atmospheres in general is essential for all outdoor computer games, various simulators, virtual worlds and even for animated movies. In our work we present an accurate and fast method for real-time rendering of parametrizable planetary atmospheres. This is achieved by precomputing the complex volumetric scattering equations into a set of compact lookup tables. The correct atmospheric colour values are then fetched from these in a fragment shader during rendering. The method is capable of rendering planetary atmospheres on today's graphics hardware at the speed of hundreds of frames per second.

2009 2009 2009 2009

 Rendering Planetary Atmospheres in Real-time [2008]

My first research project is my bachelor thesis. Its topic knots on the preceding software project on real-time atmosphere rendering.

[pdf]Thesis text

In the field of photorealistic rendering of physical phenomena, the rendering of atmospheric light scattering takes a very important place. Real-time rendering of sky and atmosphere in general is essential for all outdoor computer games, various simulators, virtual worlds or even for animated movies. It is a very difficult task, but thanks to the advancement of dedicated graphics hardware we can reach it today. In my thesis I present an accurate and fast method for real-time rendering of planetary atmospheres. This is achieved by precomputing complex single-scattering equations into a set of lookup tables. The correct atmospheric colour values are then fetched from these in the fragment shader. The presented method is then implemented in a program that is capable of rendering realistic atmosphere in hundreds of FPS.

2008 2008 2008 2008 2008