GPU Cubes VR

A GPU Particle System for the HTC Vive

GPU Cubes VR was a project I hacked together in about two days to teach myself GPGPU programming.
In a black void, several hundred thousand tiny cubes dance and flow around gravitational fields emitted from the Vive controllers. Endless hypnotic and beautiful behaviours emerge from the simplest of physical laws.

GPU Cubes VR was built in Unity for the HTC Vive

  • GPU Cubes VR Screenshot 1
  • GPU Cubes VR Screenshot 2
  • GPU Cubes VR Screenshot 3
  • GPU Cubes VR Screenshot 4


10th January, 2016

Last update for a while – added camera modes, opacity control and a help dialog

  • New Features:
    • Camera Modes: Old mode is now ‘Static’ camera mode. New modes are fixed dynamic, where the camera will follow the pattern but keep the same zoom level, and mobile dynamic, where the camera will follow the pattern and also zoom to fit it
    • Added brightness control
    • Added Escape-key-to-exit
    • Added the help dialog (press ‘?’)
  • Changes:
    • Minor tweaks to how patterns are generated
  • Bugfixes:
    • Fixed bug where app would occasionally go black and cease to draw patterns
  • [ – 10.4 MB]
31st October, 2015

Solid upgrade. Added some nice user-customisability, mouse navigation, and the ability to watch a single pattern for ages. (If you keep watching for a very long time, you might start running into performance issues.

  • New Features:
    • Can now navigate around the patterns with the mouse
    • Users can toggle camera effects on/off
    • Users can decide if they want to see lines, fill colours, both or none
  • Changes:
    • Screenshots are now saved to /Screenshots and not /Data
  • Bugfixes:
    • Solved bug that was causing background to be very dark grey rather than black (reducing contrast)
    • Solved issue that was preventing single patterns from being drawn for long periods of time
  • [ – 10.0 MB]
26th October, 2015

First proper build – migrated everything over to Unity. This brings whacktons of new potential, none of which I’m currently tapping. Right now, it’s basically a straight reimplementation. However, this has brought massive performance increases – I could probably run 20 or more LineCircles at once now without my CPU/GPU breaking a sweat.

  • New Features:
    • Tremendous performance increase
    • Image effects!
    • Support for true fullscreen
    • Support for multiple resolutions
  • Changes:
    • Changed screenshot key from Shift+S to F12
    • Forced fade out if user tries to keep a single pattern going for ages – this is due to a limit on generative mesh sizes in Unity, and will be fixed in the next version
  • [ – 10.0 MB]
Version 0.1

11th October, 2015
Initial build. Stable and functional, but limited customisability. Am in the process of rebuilding in Unity to enable far more sophisticated features.

  • Draws randomised, colourful harmonographs forever
  • Can save screenshots
  • Some level of user control (skip to next image, disable/enable auto-skip)
  • [ – 38.2 MB]


  • Lachlan Sleight
  • Melbourne, Australia
  • /u/mptp
Proximity to digital reality
Sanitation of musical freedom
Tolerance for modernity
Awe and wonder in the universe
Confidence in notions of sanity