Most games render clouds with planar cloud textures mapping to the sky dome, which isn't visually convincing when approaching or passing through clouds. For a realistic experience in flying games, we describe a technique for dynamic volumetric clouds.
This demo showcases an extension to Z-partitioning (cascaded shadow maps) called Sample Distribution Shadow Maps (SDSMs). SDSMs optimize the placement and size of a fixed number of Z-partitions by analyzing the shadow sample distribution required by the current frame. They build on the advantages of current state of the art techniques, including predictable performance and constant memory usage,...
We introduce adaptive volumetric shadow maps (AVSM), a real-time shadow algorithm that supports high-quality shadowing from dynamic volumetric media such as hair and smoke. The key contribution of AVSM is the introduction of a streaming simplification algorithm that generates an accurate volumetric light attenuation function using a small fixed memory footprint. This compression strategy leads to...
This sample demonstrates a number of deferred rendering techniques including conventional deferred shading, deferred lighting and tile-based deferred shading. Tile-based deferred shading is implemented in DirectX 11 Compute Shader and achieves high performance even with many lights by amortizing the light culling overhead over screen tiles as well as grouping lights to avoid wasting memory...
We introduce a new technique for real-time order independent transparency called Adaptive Transparency (AT) that closely approximates the ground-truth results obtained from A-buffer compositing but is 5x to 40x faster. The key contribution of Adaptive Transparency is the introduction of an adaptively compressed visibility representation that can be efficiently constructed and queried during...
We present a shading language, Spark, and its implementation for modern graphics hardware that improves support for separation of concerns into modules. A Spark shader class can encapsulate code that maps to more than one pipeline stage, and can be extended and composed using object-oriented inheritance. In our tests, shaders written in Spark achieve performance within 2% of HLSL.
How to generate real-time adaptively sampled shadow representations for transmittance through volumetric media.
This blog series discusses some ideas and issues around rendering foliage. We provide a sample program (with source code) to demonstrate the ideas.
This blog post discusses how we organize our foliage data with patches where we separate foliage rendering into full-3D objects near the camera, and 2D billboard proxies further away (and for small objects near the camera).
Shadow Mapping Algorithm for Android* [PDF 440KB]