Simple fragment shader based wireframe display

On his blog, Florian Boesch introduces to a clever technique to render wireframe polygons using fragment shading, along with a live demo. The full explanation is presented in this paper. For convex polygons, just add as an attribute (or compute in the geometry shader?) the distance between the vertex and the other edges, and use the minimum distance in the fragment shader. Simple, easy to implement, and a nice anti-aliased result. (the paper also presents a second technique for non-convex polygons).

Maximizing depth buffer range and precision

Half of the available range is packed into tiny distance from the near plane to twice the near plane distance.

This quote from this article of the Outerra blog is more or less its punch line. The author explains the precision issues with typical depth buffer use, and explores ways to get better results. Since Outerra is a planet engine, no wonder depth precision must be critical.

I discovered Outerra and its blog fairly recently, through a couple of mentions in the Flipcode’s Daily Flip, and was impressed by its rendering. The amount of work that went into it must be insane. See these captures demonstrating the space to ground transition or the grass rendering for instance:

Reading list on skin rendering

Skin rendering is really not my thing. Yet. I have too much figuring out rendering of opaque materials already to deal with ones exhibiting sub-surface scattering. But I got trapped reading one article and then another.. and before I knew I had a list I wanted to note for later reference.

Many links missing, as I’m not done checking the major techniques mentioned in the presentations, but perfect is the enemy of good after all.

Series of articles on anti-aliasing

Matt Pettineo is writing an interesting and in-depth series of articles on anti-aliasing:

In this last article, he provides a list of captures comparing the results he obtained, as well as the source code.

On a side note, I like this short post of Timothy Lottes (well known for FXAA and TXAA) where he compares typical film image with typical video game one. His example of temporal aliasing is also worth keeping in mind.