ShoggothOx Blog & Guides

← Back to Visualizer


Welcome to our tech articles and guides directory. Here we write about topics pertaining to ShoggothOx, including graphics programming, cellular automata, warp tables, bilinear interpolation, formal verification with Verus, music visualizer history, and building high-performance web applications with Rust and WebAssembly.

July 25, 2026 · 6 min read

Proving Pixel Math with Verus in ShoggothOx

An introduction to specifications, proof code, and SMT solving in Verus, followed by the actual bounds proofs behind ShoggothOx's four-neighbor flame lookup table.

July 24, 2026 · 7 min read

Fire Without Physics: How the Flame Effect Works

ShoggothOx makes fire by averaging four neighbouring pixels and subtracting one. This post takes the flame kernel apart: why sampling below makes brightness rise, why the subtraction is what guarantees darkness, and what separates the twelve modes.

July 23, 2026 · 8 min read

Beyond Black: Building an Audio-Reactive 3D Scene

How ShoggothOx grew a palette-matched environment, particles, and echo aura around its 3D surfaces; why music drives continuous motion clocks instead of positions; and how a malformed fullscreen triangle made the whole environment disappear on a Pixel.

July 21, 2026 · 3 min read

Fourier Transforms & Audio Analysis in ShoggothOx

Exploring real-time frequency spectrum analysis in ShoggothOx, Hann windowing to prevent spectral leakage, and our optimized fixed-point Q14 Cooley-Tukey radix-2 FFT implementation in Rust.

July 19, 2026 · 6 min read

Walking Preset Space One Parameter at a Time

How ShoggothOx turns categorical visualizer settings into a discrete configuration space, finds an exact-length route through curated anchors, and expands it into deterministic transitions that change only one parameter per state.

July 17, 2026 · 4 min read

When a Deterministic Playlist Wasn't

How a six-second dead patch survived several GPU fixes, why replaying the indexed buffer exposed two competing state schedulers, and how authoritative playlist playback restored audio dynamics without disabling the playlist's own mutations.

July 15, 2026 · 4 min read

From White Paint to a Reactive 3D Material

Why an indexed palette that works as a 2D framebuffer can turn into featureless white paint on a curved surface, how geometry-derived lighting separates material from emitted audio activity, and why an eight-turn spiral needs eight texture cycles to stay visually active.

July 12, 2026 · 4 min read

One Texture, Two Kinds of Smoothing

Why a low-resolution simulation buffer benefits from linear filtering while its palette lookup table must remain nearest-neighbor, how one shared sampler coupled those policies, and why fixing a real shader bug did not fix an unrelated mesh.

July 9, 2026 · 4 min read

Why the Torus Still Looked Broken: Mesh Density and Camera Framing

A deterministic video frame stayed rough after three rendering fixes. Tracing the active mode revealed an eight-turn NearRing with only 16 polygon edges per revolution and a camera sized for much smaller meshes. Here is how tessellation budgets and projection math fixed it.

July 6, 2026 · 10 min read

The Pinwheel at the Pole: Fixing Texture Pinch with a 450-Year-Old Map Projection

Why latitude-longitude texture mapping crushes 160 texture columns into a shimmering pinwheel at a sphere's poles, and how scaling each ring's UV span by sin(φ) — the classic sinusoidal equal-area projection — removes the pinch in one line without reopening the texture seam.

July 3, 2026 · 11 min read

The Seam at the Edge of the World: Wrapping a Non-Tileable Texture Around a Sphere

Why a live simulation buffer must show a seam when wrapped around a sphere or torus, the mathematics of mirrored wrapping (and why a reflection is always continuous), and before/after comparisons from ShoggothOx's deterministic render pipeline.

June 30, 2026 · 6 min read

Why Our Spheres Were Tearing Apart: A Depth-Buffer Detective Story

Tracking down the hard-edged tearing artifacts on ShoggothOx's 3D sphere and ring display modes: how a missing depth buffer turns visibility into “last triangle wins,” with frame-by-frame before/after comparisons from a deterministic re-render.

June 27, 2026 · 2 min read

Interactive Lissajous Curves: Math & Oscilloscope Physics

An interactive math playground illustrating how overlapping orthogonal sine waves generate Lissajous patterns. Features dual phase-drift and electron beam sweep controls on a simulated analog CRT oscilloscope.

June 24, 2026 · 7 min read

Bilinear Interpolation: Smooth Coordinate Scaling

An example-driven guide to bilinear interpolation math, visualizing how values are scaled across 2D coordinate spaces, and detailing how ShoggothOx offloads this work to GPU hardware samplers.

June 21, 2026 · 5 min read

Precomputed Warp Tables in ShoggothOx: O(N) Spatial Feedback

Exploring how precomputed translation tables convert complex trigonometric spatial warping functions into efficient single-pass array lookups, with an interactive visual feedback loop demo.

June 19, 2026 · 5 min read

Cellular Automata in ShoggothOx: From Conway to Continuous Shaders

An introduction to Cellular Automata, comparing Conway's discrete Game of Life with ShoggothOx's continuous, heat-diffusion CA model, and explaining how it is scaled to millions of cells using WebGPU shaders.

June 16, 2026 · 7 min read

The History of Music Visualizers: From Cthugha to MilkDrop

Explore the history and evolution of real-time audio visualization, detailing feedback loop mechanics, retro PC demoscene roots, Winamp AVS, and classic visualizers of the 90s and 2000s.

June 13, 2026 · 4 min read

Building High-Performance Web Graphics with Rust and WebAssembly

A deep dive into compiling Rust code to WebAssembly, using hardware-accelerated shaders for color palette lookup, and designing high-fps browser rendering pipelines.