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.
What if you use your hands to stretch and compress your own body parts? Would be a huge technical challenge but it would be intuitive.
Sounds good to go. You’re asking us about what effects we want, but this will mostly be governed by what you’re able to figure out in GLSL anyway :) Go for it.
What about occlusions if people walk behind you?
^ I like, other people controlling you.
It’s already been done but invisibility mode seems awesome. Maybe radioactive mode…user as a light emitter. probably can be done with shaders. +1Finally Hulk mode…
I like the idea of banging on the mirror to change things.me too!
Been interested in someone yelling commands at the kinect…”STRETCH MEEEE!” tone and pitch and volume could make for some interesting visual output with this idea
this is AWESOME!!! YEAH!!!
This would be interesting even without letting the user control it. Having your body distorted is interesting enough
Here are todays comments:
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
Here’s how to do the Mac photo booth effects in GLSL:
http://replay.waybackmachine.org/20081206011429/http://dem.ocracy.org/libero/photobooth/
Lemme know how it goes. I’d love to help. -Max
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.
This guy has good QC/GLSL stuff on his blog: http://machinesdontcare.wordpress.com/
Good luck with the GLSL.
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.
Check this out: http://yugop.com/ver2/works/typospace3.html
What if you use your hands to stretch and compress your own body parts? Would be a huge technical challenge but it would be intuitive.
Sounds good to go. You’re asking us about what effects we want, but this will mostly be governed by what you’re able to figure out in GLSL anyway :) Go for it.
What about occlusions if people walk behind you?
^ I like, other people controlling you.
It’s already been done but invisibility mode seems awesome. Maybe radioactive mode…user as a light emitter. probably can be done with shaders. +1Finally Hulk mode…
I like the idea of banging on the mirror to change things.me too!
Been interested in someone yelling commands at the kinect…”STRETCH MEEEE!” tone and pitch and volume could make for some interesting visual output with this idea
this is AWESOME!!! YEAH!!!
This would be interesting even without letting the user control it. Having your body distorted is interesting enough