Skip to main content

Hejl-Burgess-Dawson (HBD)

The Hejl-Burgess-Dawson curve is a simple, parameter-free filmic operator developed by Jim Hejl and Richard Burgess-Dawson during the Half-Life 2 / Source engine era. It produces a recognizable look — high contrast, warm-ish shadows, a touch of blue in the darkest areas — with almost no shader cost.

Hejl-Burgess-Dawson

How it works​

HBD is unique in that its formula outputs sRGB-encoded values directly (it has gamma baked in). The plugin linearizes the output with pow(x, 2.2) to stay consistent with the rest of the pipeline:

float3 ApplyHBD(float3 color)
{
float3 x = max(0.0, color - 0.004);
float3 srgb = (x * (6.2 * x + 0.5)) / (x * (6.2 * x + 1.7) + 0.06);
return pow(srgb, 2.2); // linearize — HBD outputs sRGB-encoded
}

The - 0.004 offset lifts the black floor slightly, which is part of what gives HBD its characteristic "dirty" shadows.

Settings​

None. HBD has no tunable parameters beyond the global Exposure Compensation shared by all operators.

When to use HBD​

  • Stylized or retro projects aiming for a mid-2000s look
  • Fast prototyping — zero tuning required
  • When you specifically want the Source/HL2 aesthetic
Pipeline note

HBD's formula produces sRGB-encoded output by design. The plugin applies pow(x, 2.2) at the end to ensure it remains consistent with the other operators in a linear pipeline. Do not apply additional gamma yourself.

Reference

Valve / Source engine, ~2004–2010. Referenced by John Hable in his GDC 2010 HDR talk.