This is similar to Meg’s last project. Check her approach of using a mesh and mapping the closest person’s pixels to it. The mirror distortion could be controlled through user interaction aka punching to distort it or pulling in rolls from the top or sides with both hands.
^ this is actually way easier to do by sampling in a shader. You just define the function that maps the source image pixels to the final image pixels and it takes care of the rest
I think the hard part is going to be extracting the user from the scene. OpenNI is pretty good at extracting individual users, but I wonder if you will get strange artifacts at the edges.
Once you get the user’s shape you could mask the image with that shape and throw the result into an FBO. Then you run the funhouse shader on the FBO and composite it back into the original image (maybe with background subtraction of some sort.)
Also—read the Orange book. It’s the only centralized source of information on GLSL. Most of the internet tutorials kinda suck.
Oh, and prototype in QuartzComposer. It will let you get your shaders working with minimal effort. Then you can transition into Cinder or OpenFrameworks or something.
I would like to see more of a cultural context for this. Is there a why?
You definitely need some more ambitious effects. Blurring and basic distortion really isn’t going to be that hard. You can probably do it in a day.
Use your rockin’ hand detection algorithm from the Kinect project for some squashing & stretching, yo. You could also find a way to grab a point with your index finger on one hand, then drag that point out to stretch.
I like the hand gestures idea. I think it can be pretty intuitive and easy to implement from your previous project.
Interactive funhouse, sounds like a good plan. Mirror Distort, flip a person horizontaly, color changes, transforms…
Once you distort the user will they be able to walk around the environment and remain distorted? The punch gesture seems like a good match for the mirror idea.
You can change people’s orientations: show them standing on the ceiling or the wall
I think you’ll need quite a few of these activities to really make a compelling full-scale application, but each sounds interesting in their own right.
How might a user activate the interaction??? That experience will be crucial as well
Definitely hand-gestures, as everyone has been saying. Punching stretching, etc.
Should be a fun project. I think you should somehow add a new element to make it more interesting.