Hello. My name is Edd Biddulph, I am a computer programmer who likes to do graphics-related things with computers.



Blog
A sporadic record of activity.

Demoscene
Many realtime-rendered animations and stills which are usually code-golfed into very small executable sizes such as 4kb. These productions are usually entered into competitions held and organized by the demoscene community.

Shadertoy
A selection of my Shadertoy shaders from over the years, presented in a 'blog' style with most-recent at the top. All of my Shadertoy shaders can be found on my userpage here.

Quake II GPU Pathtracer
A custom-made realtime pathtracer integrated into Quake 2, taking advantage of special characteristics which the geometry, lightsources, and dynamic objects of Quake 2 have.

Beam: CPU-Based Pathtracer
An offline renderer based on the pathtracing algorithm and featuring a number of camera and lighting effects, and the ability to load meshes and textures. It also has a simple plaintext custom scene file format for nesting transformations, instancing meshes, and generating meshes too.

It also a shader system. The shaders and scene descriptions can be written in the Lua programming language.


Platyplus: CPU-Based Rasterizer
A multithreaded SIMD realtime triangle mesh renderer with extra features such a Lua scripting and stencilled shadow volume rendering.

YuzuBASIC
A BASIC-like language and interpreter with a built-in OpenGL binding and GUI using the wxWidgets.

The Making Of Oscar's Chair
A backstory and technical breakdown of how my Revision 2018 winning 4-kilobyte demo was made.

Lambertian Reflection Without Tangents
A method of sampling the Lambert BRDF in world space without the need for a local coordinate system transformation.

Screenspace Particle Physics
A demonstration of using the depth buffer as a collision hull for purely aesthetic collision detection.