Understanding Gamma Correction in Digital Color and Graphics Programming
By
todsacerdoti
Kettled twice. Extra chewy, extra trustworthy.
Summary
The article explores the concept of gamma correction in digital color representation, explaining how human perception of brightness is non-linear while digital color values are linear. The author discusses the frustration of dealing with gamma correction in graphics programming, particularly when creating smooth gradients. The piece covers technical aspects of gamma correction, EOTFs (Electro-Optical Transfer Functions), and the difference between linear and non-linear color spaces, with practical examples from GLSL shader programming.
Key quotes
· 5 pulledGamma is a blight, a curse, and utterly annoying. Ever since somebody told me that RGB colours need to be Gamma corrected, RGB colours were spoilt for me.
Gamma does to digital colour what kerning does to typography.
This post is an attempt to get even with Gamma.
The nuance between seeing and perceiving, linearity and non-linearity, what EOTFs are – and how to draw nice smooth gradients against the odds.
In my pre-gamma-aware innocence, I must have done some things right.
You might also wanna read
Rendering Realistic Skies and Planetary Atmospheres in Real-Time with Shaders
This article explores the technical and visual process of rendering realistic skies, sunsets, and planetary atmospheres in real-time using b
Exploring surfel-based global illumination with WebGPU on the open web
A technical blog post exploring the use of WebGPU to compute real-time global illumination using surfels (surface patches). The author inves
Implementing Colored Penumbra Shadow Effects in Unreal Engine 5
This article describes a technique for implementing "Colored Penumbra" or "Colored Shadow Terminator" effects in Unreal Engine 5. The author
Experimental WebGPU Physics Engine Using AVBD Solver for Rigid-Body and Soft-Body Simulations
This article presents an experimental WebGPU physics engine called webphysics that implements an AVBD-style (Augmented Vertex Block Descent)
TrueType Font Contains 3D Raycasting Engine in Hinting Virtual Machine
A developer created a DOOM-style 3D raycasting engine that runs inside a TrueType font's hinting virtual machine. The project exploits the T
Slug Algorithm: 10 Years of GPU-Based Font Rendering Technology
Eric Lengyel reflects on the 10-year anniversary of the Slug Algorithm, a GPU-based font rendering technique he developed in 2016. The artic
