Game and movie studios are switching to physically based rendering en masse, but physically accurate filter convolution is
difficult to do quickly enough to update reflection probes in real-time. Cubemap filtering has also become a bottleneck in the
content processing pipeline. We have developed a two-pass filtering algorithm that is specialized for isotropic reflection kernels,
is several times faster than existing algorithms, and produces superior results. The first pass uses a quadratic b-spline recurrence
that is modified for cubemaps. The second pass uses lookup tables to determine optimal sampling in terms of placement, mipmap
level, and coefficients. Filtering a full 1282 cubemap on an NVIDIA GeForce GTX 980 takes between 160 μs and 730 μs with
our method, depending on the desired quality.
Where we cover Filmic SMAA, the morphological/temporal antialiasing solution shipped in consoles for Black Ops 3. It was engineered to match tight performance requirements (0.9-1.05ms @1080p) while at the same time delivering a sharp, stable and robust presentation. New morphological and temporal antialiasing ideas are presented to achieve those goals, with several established ideas being extended for higher quality results and/or adapted for faster runtimes. Filmic SMAA core principle was the same of what defined SMAA when first introduced: preserving the image sharpness at all costs.
We present a novel method for real-time rendering of subdivision surfaces whose goal is to make subdivision faces as easy to render as triangles, points, or lines. Our approach uses standard GPU tessellation hardware and processes each face of a base mesh independently, thus allowing an entire model to be rendered in a single pass. The key idea of our method is to subdivide the u, v domain of each face ahead of time, generating a quadtree structure, and then submit one tessellated primitive per input face. By traversing the quadtree for each post-tessellation vertex, we are able to accurately and efficiently evaluate the limit surface.
We present a solution for indirect diffuse lighting as an alternative to traditional lightmaps. The primary goals were to reduce light baking times, and to allow the lighting to apply to moving objects and effects with the same quality as the environment. Our solution was to use carefully placed irradiance volumes. These were baked using a unique image-based sampling approach that makes use of multiple input images. We also discuss the evolution of this idea and the many caveats and dead ends we experienced along the way.
We present new systems for occlusion of indirect lighting: GTAO for screen-space ambient occlusion, which yield superior results than the current state of the art (HBAO) while being as fast as one of the fastest screen-space techniques (HemiAO), and GTSO, which is a series of approximations that accurately model specular occlusion under probe lighting.
Lighting large outdoor scenes continues to present a challenge for realtime rendering. Cascaded shadowmaps are costly to render over large areas, and baked lightmaps are expensive and require an unique parametrization over the entire scene. We present a technique that allows for baking shadowmaps on large outdoors area with minimal memory consumption that is amenable to deferred rendering.