Impermanent Zen Garden · 无常禅园

Read More

本文中文版链接 (Chinese version):

Impermanent Zen Garden contrasts the Buddhist idea of impermanence with the principle of mindfulness meditation. Zen practitioners believe that through mindful observation one can gain wisdom. Therefore, Zen gardens were built around the world to provide serene environments for meditators to focus their minds.

However, in this Impermanent Zen Garden, almost every aspect of the environment is constantly changing. Once the meditator focuses their mind on any object in the meditation room or in the garden, they will notice the moving mountains on the doors, the floating clouds on the walls, the smoke being blown on the ceiling, the water permeating through the tatami, the water stains coming and going on the garden walls, the touring glosses on the rocks, the traveling ripples on the sand, and the blinking stars in the night-sky. Not any two moments are identical, so that it seems impossible to fully observe any moment.

Therefore, the dilemma is thrown to the audience, and the decision is up to them to make. Are you going to concede that the world is ultimately agnostic, or are you determined to embrace each and every present moment in this impermanent world?

Impermanent Zen Garden is a dynamic environment made with Unity. The ever-changing contents are generated in real time using custom shader programs.

Shader Odyssey

Read More

A tribute to Stanley Kubrick's 1968 masterpiece, Shader Odyssey is a two-minute movie entirely done in one fragment shader, which is a kind of program that runs on the GPU (graphics processing unit) of the computer. All the graphics are computer-generated in real time — no 3D modeling or pre-rendered texture is used. The blending and timing are done in the shader as well.

One of the characteristics of shader programs is that in each frame, the color of all the pixels are computed in parallel (simultaneously), which makes it feasible (not computation-heavy) to scale the canvas and duplicate the content to a great degree. That's one of the reason why this movie includes so many repeating patterns—by duplicating things, I also want to evoke a feeling from the audience about how tiny and insignificant we human-beings are in front of the cosmos.

The original shader code can be accessed via GitHub.

(Music credit: The City of Prague Philharmonic Orchestra, 2001: A Space Odyssey, 2002.)

Oculi: A Show of Alternative Spaces

Read More

腾讯视频链接 (video link for visitors in China):

Long after our farewells to the forest, the savannah and the cave, the homo sapiens are so accustomed to living in human-scaled cube-shaped white boxes. Having been interacting with this kind of space since birth, we take our boxed life for granted. We tend to not take much consideration of other forms of space, and even neglect our consciousness of space most of the time.

Oculi aims to wake up the audience’s sense of space. Being presented within an apartment, it consists of six installations under the name of oculus. Through the use of projection mapping, each oculus brings the image of a poetic alternative space into the exhibition venue, superimposing it onto the physical space of the apartment. These shape, scale or location alternations, in contrast to the otherwise ordinary living environment, evoke the audience’s nostalgia for their forgotten sensation and imagination of space.

Little Universe · 小宇宙

Read More

腾讯视频链接 (video link for visitors in China):

There they are, poetic objects in the Little Universe, revolving around themselves, whispering to each other, regardless of whether or not they are visited by you—their exotic guest.

Colorful the objects are, and they are not mindless clouds of stardust. Each object has its own temperament— a tendency to get close to someone, and to run away from another. In this way, the Little Universe reveals its rich dynamics.


This interactive installation is designed to bring about a serene and meditative atmosphere. It has an intimate physical form, inviting the audience to interact with it, to touch and move it with their hands. Without interfering with the dialogue between the objects, the audience can still enjoy the poetic scene by watching, listening and contemplating their behaviors and relationships.

While the audience is not explicitly informed of the logic behind the behaviors, the five-element theory (五行) of Chinese philosophy inspires the distinct characteristics and relationships between the objects. The colors of the five objects represent the five elements—metal (金), wood (木), water (水), fire (火), and earth (土). There are two orders of presentation within the five-element system: in the order of mutual generation (相生), one element can give birth to another, while in the order of mutual overcoming (相克), the element can suppress yet another. Represented by the attracting and repelling forces between the particle systems surrounding the objects, the relationships between the poetic objects enrich the contemplative intricacy of the Little Universe.


The Little Universe installation is built to integrate four components:

  1. poetic objects with which the users interact,
  2. projection system,
  3. sound generation system, and
  4. position detection/tracking system.

The poetic objects are made with foam balls implanted with microcontrollers and infrared LEDs facing upwards, atop a flat surface as the cosmic background. The infrared light from the objects is captured by a Microsoft Kinect motion sensor, and analyzed by an openFrameworks application in order to locate the objects. A particle system is projected onto the objects, and based on the position of the objects and their relationships, the behaviors of the particle systems are updated and rendered by the openFrameworks application. The image is then processed by MadMapper and sent to the projector, which has been calibrated so that the projection will be aligned with the physical objects. Control messages are sent from the openFrameworks application to Ableton Live via the Open Sound Control (OSC) protocol, generating the ambient music and sound effects.

The position detection system precisely locates the objects on the table and tracks them throughout the installation. The projection on each object behaves with distinct characteristics depending on the viewer’s interaction, which requires the system to be able to distinguish the objects from each other. Thus, the application has to be always aware of the exact location of the individual objects.

The tracking system comprises of camera vision alongside infrared LEDs. Utilizing blob detection on Kinect’s infrared stream, the application will precisely locate the objects according to their implanted infrared LEDs. A signal processing procedure enables the system to distinguish the objects within 300 ms post detection.

Kinect’s infrared stream can afford up to 30 FPS, which translates to a 30 Hz sampling rate. Hence, theoretically, we can reconstruct the any input signals with a bandwidth less than 15 Hz. The infrared LEDs on the objects are constantly blinking, which generate patterns that are perceived as square wave signals by the camera vision system. All the LEDs in the objects generate periodic square waves with a period equal to one third of a second. However, each LED generates a signal with a distinct duty cycle. The application tells the objects apart by measuring the duty cycles of the LEDs through the Kinect’s data frames. After detection, the application starts tracking the objects, and in the event of tracking loss or confusion between objects, a precise identification will be performed again through frequency analysis.

(Little Universe is a collaboration among SHI Weili, Miri PARK, and Saman TEHRANI, with the guidance of Marko TANDEFELT.)