More selected projects


produced by: Andi Wang


This is an interactive art installation regard water as the key elements, aims to explore the relationship between physical reality and virtual space. Technology in this artwork is a tool to link the virtual space and reality in real-time. The input in this project is hand movement while the output is a real-time visual effect.

Concept and background research

My initial idea is to create an interactive mirror but I was struggling with the visual effect at the beginning. During the research, the video artist, Bill Viola’s artwork of the Dreamer(2003) and the Massager(1996) inspired me a lot. He took water as an element in his video artwork to express himself. The way he saw video also inspires how I see the video.

“The fundamental aspect of video is not the image …… For me the essential basis of video is the movement “

—Bill Viola

And for me, video is another space displayed in the two-dimensional media. So the nature of real-time video could be more interesting when you can change the thing inside in real-time.

Then I realized that water is a perfect media to distort, twist and virtualize the reality (real-time video). And the interactivity, in this condition, is the bridge that connects the other space in the mirror and the physical reality, which is the world we live in. Before, the visual effect in the mirror is the reflection of the reality, but now, we have the capacity to change the reflected reality in the mirror.


Since I decided to use water as the element, I started to research on the existing technology and tutorial to achieve the effect. I found the Flow tools, the code of water simulation system, a tutorial of how to code the water simulation in Java, the distortion shader and at the end I found an addon called the water ripple. The water ripple effect is already written well in the addon but when I try to replace the image with the camera, it kept crashing, even though I put the code outside the addon and use the class instead. Finally, it succeeds in compiling after I put all codes in one class.

The interact part is using the Kinect depth image to sense the movement in a range. When the object is too close to the Kinect, and the brightness value is achieved 250, the underwater effect and the dropping sound will be enabled. But this part should be carefully set up with the threshold value and sometimes it didn’t work as I expect.

Future development & Self-evaluation

This project is created in order to entertain and bring fun to the public. As a consequence, the project has met my initial goal. Besides, this project can also be regarded as a tool in live performance but as long as I didn’t design a performance, I would display it as an installation artwork and leave the performers to explore the usage of this piece in live performance. But I would leave it as the point for further development.


The water ripple addon:

GitHub. (2019). antoniomechas/ofxWaterRipple. [online] Available at: [Accessed 15 May 2019].

Where I download the water sound: (2019). [online] Available at: [Accessed 15 May 2019].

Where I found the code of the underwater/distortion shader:

Perevalov, D. (2013). Mastering openFrameworks. Birmingham, UK: Packt Pub.