Explore showcase

Bill Cipher Vaporwave

3D Programmer / Technical Artist · Spring 2026

Project5 / 13

Overview

At a glance

Browser-based graphics study translating vaporwave aesthetics into a real-time Bill Cipher scene. Focused on post-processing chains, line rendering, and motion illusions grounded in a modular import-map setup.

Three.jsGLSLWebGLPost FX
Open live demoFollow Link
View GitHubView GitHub

Features

  • Stylized vaporwave environment around the Bill Cipher subject.
  • Multi-pass post stack for the signature look.
  • Fat outlines and emissive treatment for contrast.
  • Dual-floor scroll illusion and glyph-ring accents.

Implementation

  • Structured ES module/import-map architecture for browser runtime.
  • Built scene hierarchy with grouped entities and reusable material/geometry patterns.
  • Implemented modulo-based floor motion (`camera.position.z = time % 2.0`) for looping movement illusion.
  • Added custom texture workflows for floor displacement/metalness and glyph UV slicing.
  • Tuned animation timing and stabilized previously frame-dependent behavior in later passes.

Challenges

  • Initial implementation leaned heavily on tutorial inspiration before branching into more independent work.
  • Performance remained a challenge on weaker laptop hardware.
  • Some geometry organization (e.g., eyelash lines as many tiny objects) was less efficient than batched alternatives.

Reflection

  • Major inspiration came from Maxime Heckel’s vaporwave Three.js article, and it was super fun to build from.
  • I do think I leaned too hard on tutorial guidance early, though I expanded heavily afterward with custom additions.
  • This project made me appreciate how fast code-based 3D iteration can feel versus Blender for simple stylized objects.
  • Performance still wasn’t ideal on my laptop, but it taught me a lot about practical optimization opportunities.

Video

Bill Cipher vaporwave scene