Reanimator Ltd

High-performance coding by Eddie Edwards


Here is a collection of articles, essays, etc. Please feel free to comment on these articles to ask questions, or if you just find them interesting.

Hacking Timewarp to Fix Blurry Rotation in VR Games

Timewarp is almost designed to do this

Read more

Adventures in Tangent Space

What is in a normal map anyway?

Read more

Why are Scrolling Messages Always in Italics?

The characters on 5x7 LED displays look upright when stationary, but slanted (italic) when moving. Why is that?

Read more

A Novel Raytracing Algorithm for GPU

I present a novel acceleration structure and raytracing algorithm which explicitly leverages the capabilities of the GPU and avoids the "up and down the tree" nature of kd-tree raytracers.

Read more

How to Isolate a Non-Deterministic Bug in Version Control

An Adventure in Bayesian Inference

This article explores the question of how best to isolate a bug in version control using binary chop, when the bug doesn't always manifest. I derive a probabilistic algorithm to solve this "Bayesian Binary Search" problem, from first principles.

Read more

The Myth of the "Unrealizable" Filter

DSP textbooks will tell you that a filter graph containing a delay-free loop is "unrealizable". I demonstrate that "unrealizable" doesn't mean you can't code it.

Update 7th Mar 2012: added a worked example.

Read more

SIMD Optimization of IIR Filters

IIR filters seem impossible to convert to SIMD code, since they have a tight loop containing an immediate dependency. This article will show you that it's not impossible, given the right maths.

Read more