How To Split Specular And Diffuse In Real Images


File this under things that people think is harder than it actually is. One thing I’ve got set up at home is the ability to use polarized light to split out the diffuse and specular components from real images. Artists spend lots of time looking at photo reference, but splitting the specular and [...]

Why a Filmic Curve Saturates Your Blacks


In the previous post, I talked about how a Reinhard curve, when applied to each channel individually, will desaturate your blacks. In fact, any curve that is concave downwards will do the same thing. But if we use a curve that is concave upwards, will it do the opposite, and give us more [...]

Why Reinhard Desaturates Your Blacks


One thing I’ve mentioned is that if you use the simplest Reinhard tonemapping operator, then you will get desaturated blacks. In this image, the top row is using Reinhard, the middle is straight linear, and the bottom is using Filmic Tonemapping by HP Duiker. Also, there are many different forms of Reinhard, so [...]

Watertight CSG


Every once in a while the topic of CSG comes up. For those of you who don’t know, CSG stands for Constructive Solid Geometry. It essentially refers to making solids from boolean combinations of other solids. This is a problem from a past life when I was working on CSG with Jarek [...]

1,100 Degrees on N4G == 13,079 Uniques


As you may have seen, my 720p != 1080p article got hit by N4G.com. The N4G audience is a bit interesting because it represents the hardest of hard-core gamers. Personally, I believe that this audience follows the news before it happens and is a pretty good leading indicator, at least for console games. [...]

New Theme!


About a week ago, I decided to try writing a wordpress theme. Wow, writing a theme is hard, mainly because of all the bugs in different browsers. It looks fine in IE 7 and Firefox, but if you see any bugs, please let me know in the comments what is wrong and what [...]

Filmic Tonemapping Operators


The most common questions that I get about my GDC talk have to do with the tonemapping operators. In particular, I’ve always found that when I read through presentations for code snippets that I always miss something. Those 2.2s can be tricky! So this post is a quick reference for various operators [...]