"Memory" is an experiment in the dynamic interplay of soulful colors and forms.
It is an exploration of smooth animation blending interesting fluid shapes.
The piece is a continuous flow of forms and hues that seamlessly transition.
The viewer can interactively zoom in and out and navigate to explore the full space of the artwork.
Furthermore the aspect ratio can be change to vary the framing of the piece, generating new impressions.
This invites the viewer to fully immerse themselves in the piece and experience it from different perspectives.
The name "Memory" reflects the intention to display an abstract representation of memories of a machine.
The colors aim to evoke a sense of emotion and depth.

I created this work using twgl.js on a single fragment shader, my recent technique of choice.

I hope you enjoy interacting with "Memory" and exploring the different aspects of the piece.

This piece uses webgl, it can thus only be viewed on browsers implementing webgl.

License: CC-BY-NC-SA 4.0
- twgljs - A Tiny WebGL helper Library (MIT license)
- psrdnoise.glsl (MIT license)
- isMobile (Unlicense)
For more information, view the license file

'-' to zoom in.
'+' to zoom out.
'f' to change the aspect ratio to fullscreen.
'1' to change the aspect ratio to square.
'a' to change the aspect ratio to portrait format.
'w' to change the aspect ratio to 16:9.
's' to save an image of the canvas.
't' to toggle the time (day/night) in the image.
'b' to toggle the frame.
'h' to increase the quality modifier (maximum is 3).
'l' to decrease the quality modifier (minimum is 1).
The quality modifier is a modifier on the width and height of the canvas.
Changing the modifier can affect the look of the image due to subpixel artifacts.
The modifier can be used to save higher resolution images.
Higher values of the modifier increase memory usage and can cause a browser or webgl instance to crash.
'arrow_up' to move up in the image.
'arrow_down' to move down in the image.
'arrow_right' to move right in the image.
'arrow_left' to move left in the image.

This page has been generated using fx_hash public API, to display an overview of a creator's collection from The computation of "rarity" is not the official computation and therefore can differ. Dev by @zancan.