| Title | Extend Cheese with OpenGL effects |
|---|---|
| Student | Filippo Argiolas |
| Mentor | Daniel Siegel |
| Abstract | |
|
Cheese has been one of the best innovations that made 2.22 a great
GNOME Release. It's amazing to use the webcam to take funny photos and it's great how it integrates with the whole desktop. Looking at the effects it provides though, it still lacks something to realize its whole potential. Some cool hardware accelerated effect (some distortion and artistic realtime image manipulation) would greatly improve the variety of fancy and funny photos achievable and would stimulate a bit more the hedonistic side that every user has. So my purpose is to write a gstreamer plugin capable of trasforming the webcam video data to GL textures that can be manipulated with hardware accelerated techniques and resend them as video data to the gstreamer pipeline. My plugin would take advantage of modern video adapters' programmable pipeline supporting GLSL shaders. This plugin will be easily integrated with Cheese that already uses gstreamer based effects. I'll also write some simple effect for the new plugin: - some photobooth-like distortion effect (squeeze, mirror, dent, bulge, fisheye, light-tunnel and probably more) - some color manipulation effect (negative, sepia, black&white, thermal signature, and probably something more complex like convolution filters, chromakey, etc) All this effects, being gstreamer based, won't be restricted to Cheese use only but they could be, of course, used in other video editing software (e.g. PiTiVi), or wherever gstreamer is used to manage video data. Later, if time would allow or even after GSOC program ends, I'd like to add some UI improvements to Cheese, like switching to Clutter to display video, improve the effect selector with live previews of applied effects, and some Clutter based animation here and there. |
|