You need a browser with WebGL support to use this application. Click here to get one.





      Add object to scene

      Edit object

      • Properties

      • Torus properties

      • Cylinder properties

      • Particle properties

      • Light color

      • Translate

      • Rotate

      • Scale

      • Color / lighting

      • Textures

      • Glow

      • Per-frame variables

      • Help

        The objects in the scene can be modified and animated using the properties in the sections above. Click the section headers to show the different property groups.

        All text fields with blue background take numeric values either as constant values or as expressions that evaluate to a number. The expressions have a number of functions and variables available that can be used to create interesting results.

        The available functions include standard math functions such as sin(), cos(), abs(), etc. In addition to these functions you can use various music related values to make the objects animate according to the music. These values are updated each frame and include: bass, mid, treb (values from 0 to ~2 indicating the current level in the low, middle and high end of the spectrum), beat (either 0 or 1, used for beat detection), and time (the number of seconds elapsed since the rendering started). Finally, the (unmodified) coordinates of the current point is available through the variables x, y and z

        Example 1: Setting the y-axis translation to "beat * 2" will make the object jump up 2 "world units" when there's a beat in the music.

        Example 2: Setting the y-axis rotation to "sin(time) * 3.14159 * x" will make the object continously rotate back and forth around the y-axis, with points further out on the x-axis rotating more.

        The full list of math functions available is: sqrt, pow, exp, sin, cos, tan, atan, asin, acos, min, max, abs, log, floor, ceil, mod, sign.

      Select color

      Note: Picking a color will clear the HSL fields.

      Save to JSON

      Example presets

        Load JSON data

        Preset settings

        A Chrome WebGL Experiment by Jacob Seidelin