---
title: "Ascension Buffer"
url: https://manvsmidi.com/projects/ascension-buffer/
category: graphics
status: wip
date: 2026-09-28
tags: [rust, wgpu, shaders, retro-rendering]
related: [gzdoom-crosshatch]
---

# Ascension Buffer

> A walk through rendering history. One world moves from a 320×200 affine-warped renderer through lightmaps, Blinn-Phong, PBR, volumetrics and GI to something uncomfortably real. Rust + wgpu.

Graphics · In progress · 2026-09-28

An interactive rendering demonstration disguised as a short first-person environmental experience. You walk through SIMULATION FACILITY 08 and restore the rendering stack terminal by terminal. The **same world** moves from a 320×200 affine-warped compatibility renderer to a ray-aware "Ascended" state. The more accurate the image gets, the less comfortable it is.

![The same scene rendered in each era](https://manvsmidi.com/_astro/progression.CgJNOFzM.png)
*Renderer progression, 1994 → Ascended.*

## The progression

| Terminal | Era | What changes |
|---|---|---|
| (boot) | Compatibility (1994) | 320×200, vertex snapping, affine UVs, flat shading, 32² indexed textures, palette quantisation |
| GEOMETRY STABILITY | Stable Raster (1998) | perspective-correct bilinear textures, baked per-vertex lightmap + AO, skybox |
| LIGHT FIELD | Shader (2004) | normal/specular maps, per-pixel Blinn-Phong, shadow map, SSAO, bloom |
| MATERIAL REALITY MODEL | PBR (2012) | Cook-Torrance GGX, split-sum IBL, SSR, planar water, filmic tone map |
| GEOMETRIC DETAIL STREAM | Geometry Stream (2016) | LOD 0 meshes, rubble, cables, cracks, contact shadows |
| VOLUMETRIC ENVIRONMENT | Volumetric (2017) | ray-marched in-scattering, rain, wetness, wind |
| LIGHT TRANSPORT SOLVER | Global Illumination (2018) | 3-bounce VPL solve into an irradiance probe grid |
| RAY FIELD | Ray Field → Ascended | area shadows, long-range SSR, supersampling |

Built with Rust, wgpu, winit and glam, with RON configuration. It's a native app for now, so there's nothing to play in the browser yet.

## Connected projects

- [GZDoom Cross-Hatch Shader](https://manvsmidi.com/projects/gzdoom-crosshatch/index.md): linked
