Like those ASCII renderers, but with less characters: just 10.
More details...
A simple scene rendered with lights, shadows and MeshStandardMaterial is rendered to a framebuffer.
That framebuffer is then processed to add some glow, and then a scaled down version is used to feed a shader that will replace every block of 32x32 pixels with a part of a texture that has the numbers 0 to 9, according to the brightness of the block. The number is aditionally shaded by that intensity, so there's more gradients. The texture with numbers has a slight glow preapplied on it.
Credits
Inspired by this animation.
Coded using WebGL with three.js, isMobile.js and Maf.js