In this week’s assignment, I practice with ControlP5 GUI library and get a chance to explore various GUI designs. I use five different GUIs to adjust values and thus generate customized effects on the Kinect point cloud.
First of all, I create a toggle to switch between two different modes. Originally, I wanted to control the particles that would shape into the point cloud, say, sphere or cube particles. But I got into a few issues with the points and then I decided to use the toggle to switch between grey mode and color mode.
Under the default grey mode, there is a range slider that allows users to adjust the depth range. The images are shown in grey tones based on their distance towards the Kinect. The left side of the bar determines the minimum depth value, while the right side represents the maximum.
If you click the toggle and switch to the color mode, the range slider will disappear, and instead a group of RGBA color bars will show up. By sliding on the color bars, users can change the color of the image.
Here is the code that shows how to switch between grey mode and color mode. As you can see, the grey mode shows with point cloud, while the color mode uses image. It seems that they are two quite different methods and sometimes they run into conflict.
One of the common buttons under both modes is a slider that can change the resolution, which reflects the conflict when I switch between the two modes. If I change the resolution under the grey mode, the image will become still and maintain on the screen. If I do not change the resolution, I can smoothly use the color mode. Meanwhile, such a problem does not happen to the color mode, and I can freely change the resolution of the color images.
The final button is used to save screenshots to files. I find the function saveFrame() quite useful and efficient.