WebGL Mandelbrot

Same escape-time kernel on the CPU (JavaScript) and the GPU (GLSL fragment shader). Zoom deep enough and watch highp float fall apart.

CPU
GPU (WebGL)

Presets

Click float32 breaks and look at the GPU panel: the fine detail turns into blocky pixel stripes. That is the GPU's highp float running out of mantissa bits (~24 of them, ≈ 7 decimal digits). The CPU panel uses IEEE 754 double and keeps going.

center
scale
pixel size (complex plane)

Drag either canvas to pan. Scroll to zoom. Both canvases stay locked to the same viewport so they always show the same region.