More selected projects


produced by: Shuai XU



For the understanding of space, which always gives me a creative inspiration, as a creative coder, I wish to create a relationship between human, space, time and sensory, that will be the goal I have been working hard. But In a limited time, I also want to do as much as I can to create something close to this, even though it looks immature.

INFINITE is an interactive installation, whose goal is creating an immersive environment. Throughout the installation, I hope to describe my space and build my world just by color. 

This work inspiration by Mille Plateaux - Different projection screens by ShowTex in an interactive art installation,  Mille Plateaux is an amazing work that uses No less than 18 different canvasses by ShowTex were suspended in a large dark room and projected with 66 of Dusapin’s semiotic drawings, that were lifted to a three dimensional state with a generative system.


Keywords: Shade, Kinect, Openframeworks, Interactive installation, Immersive Environments

This work hopes to continue to explore the infiniteness and possibility of space. Through the multi-layered screen projection as the medium of projection, it is also to better extend this space and use the mirror surface around the device to further expand this space. In the process of watching, trying to get the visitor an immersive experience as much as possible. At the same time, Kinect captures the person in front of the device and generates different images according to the actions of the person.




The project was built using openFrameworks/C++.


The main part of this project is made up by GLSL Shader, through the use of Shader, which gives me a very different color experience, Shaders are also a set of instructions, but the instructions are executed all at once for every single pixel on the screen. That means the code you write has to behave differently depending on the position of the pixel on the screen. Like a type press, your program will work as a function that receives a position and returns a color, and when it's compiled it will run extraordinarily fast. To make the program output different colors for different pixels, we can introduce a position which will vary across the image. That is, it will take on a different value depending on which pixel the shader is computing. We can use the position to figure out the coordinates of our pixel and compute the appropriate color with our program.


In order to get a good interactive experience, I choose to try a lot of ways, such as Kinect, webcam, leap motion, and Arduino sensors, even I try to combine machine learning algorithm for my project. Because I want to use a very dark environment so that Kinect become the best choice for me, I can use Kinect depth value to control my graphic. 

Self-evaluation And  Future Development

During the process of the project, This work has not been completed. It is only displayed in the form of a demo. I hope to use more time to complete my research on shaders. And combine it with live performances, hoping to get more experience and lessons during the period. At the same time, you can find more beautiful images of the GLSL shader.









1. Mille Plateaux | ShowTex [WWW Document], n.d. URL (accessed 5.18.19).

2. The Book of Shaders [WWW Document], n.d. . The Book of Shaders. URL (accessed 5.18.19).

3. Pixel Shaders: An Interactive Introduction to Graphics Programming [WWW Document], n.d. URL (accessed 5.18.19).

4.  LearnOpenGL - Shaders [WWW Document], n.d. URL (accessed 5.18.19).

5.  Baron, A., 2019. An OF addon to ease the use of well-known shaders. Contribute to Scylardor/ofxShadersFX development by creating an account on GitHub.

6. Tadokoro, A., 2019. openFrameworks addons to view / edit GLSL sandbox’s shaders ( tado/ofxGLSLSandbox.

7. documentation | openFrameworks [WWW Document], n.d. URL (accessed 5.18.19).

8. ofBook - Introducing Shaders [WWW Document], n.d. URL (accessed 5.18.19).

9. KinectGrid Example from week 16          

10. Watson, T., 2019. legacy openFrameworks wrapper for the xbox kinect (OF pre-0.8.0+ only): ofxKinect is now included and is being maintained in OF releases - ofTheo/ofxKinect.