Cool Link Stash, March 2013

Graphics

Fabian Giesen finished his excellent series on low-level optimization of an Intel software occlusion culling sample. The whole series is an excellent read. Highly recommended.

Unity 4.1 has a new, useful feature called Property Drawers, which allow you to more easily draw some of your component properties in the inspector in a custom way. There's a good blog post that describes how to use them. Another new feature is support for shader replacement, not just for post processing as it used to be, but also for the whole scene (including lighting).

TrenchBroom is a pretty fantastic open source project with excellent documentation. It's a cross-platform level editor for Quake, but with a modern twist. Instead of working in multiple 2D viewports you work completely in a 3D viewport.

Given that the new Playstation 4 is powered by an AMD GPU with the Graphics Corex Next (GCN) architecture, this AMD whitepaper on the GCN architecture is a good introduction to how the hardware looks like.

On that note, here's a nice collection of performance tips for the AMD GCN architecture, originally posted on Twitter by AMD's Nick Thibieroz.

While not immediately relevant for real-time rendering, but nevertheless interesting (as the technique can achieve interactive framerates on current high-end GPUs), is a paper by Jose Esteve et al called Bringing Transmittance Function Maps to the Screen. The paper describes an adaptive variation of the algorithm presented in the paper Transmittance Function Mapping by Cyril Delalandre et al to render single scattering in participating media. Essentially, the idea is to render a shadow map from the point of view of the light source and projecting the transmittance function using a decomposition into the Fourier cosine series as basis functions. The resulting coefficients are stored in a texture map called the transmittance function map. When rendering from the camera each view ray that enters the participating media volume is ray-marched. For each step along the ray, if the light is visible from that point, the transmittance function map is sampled and evaluated. This new paper now adds adaptive ray marching to the algorithm, where thresholding is used to find out if the transmittance function has sharp falloffs. If it does, a second ray marching is performed to finely sample the transmittance function in just that region. This gives better results if the participating volume is not uniformly dense, i.e. it has regions of higher density where the transmittance decays rapidly and wispy regions where the transmittance changes slowly.

C++

The Zopflic Compression Algorithm is a new zlib-compatible compressor. It takes more time (a _lot_ more time, about 100x) but compression is about 5% better than zlib.

Other

Python Tools for Visual Studio is a pretty nifty plugin for full Python integration into Visual Studio. It supports editing, browsing, debugging, profiling, CPython, IronPython, Intellisense, and a

Jare's blog has a great post collecting links to slides from talks of this year's GDC.

Leave a Reply

Your email address will not be published. Required fields are marked *