Photobooth-like effects with OpenGL shaders


My ex roommate wrote a tutorial on OpenGL shaders to do Photobooth-like effects. It would be great if someone could wrote a GStreamer plugin and integrate it with Daniel Siegel’s SOC.

The sad thing is that my video driver does not seem to support shaders even if they are supported by the 945GM chipset :'(.

Information and Links

Join the fray by commenting, tracking what others have to say, or linking to it from your blog.


Other Posts

Reader Comments

I feel your pain. I have the same card, and I was always under the impression that Intel cards had very good support in Linux (drivers being open source and all), but this is sadly not the case.

I’ll be getting an NVidia card soon.

Pathetic.

There is no originality at all for the GNOME devs?

I cant even count how many concepts are just straight ripped off Mac OS X.

Anyhow, its just sad.. all the copying that is being done.

That is why I was a former OSS developer and switched.

@nbla
Try to live only with the stock Mac OS X desktop, and you’ll miss your GNOME desktop after a few days… At least I felt like that.
BTW, I don’t think that Mac OS X invented that sort of thing, webcam manufacturers always shipped a lot of stupid software with their cams, games and so on…

“That is why I was a former OSS developer and switched.”

Actually, you shaders are supported by your driver, except that GLSL is not, basically you can try to grab the latest Mesa, and in its source tree, you will find an offline glsl compiler that will produce ARB_fragment_program code, that can be used.

I just wrote a library to play with shaders, you can find a blogpost about it here : http://asabil.wordpress.com/2007/04/16/bling-a-small-shader-library/

The 945GM can’t support full GLSL fragment shaders, as it has no support for looping. The conditionals used in those snippets of example code could probably be managed without falling back to an entirely software path, but performance would be pretty bad as you end up executing every code path, per pixel.

You could save some computation by binding each effect to a different shader to avoid the ifs selecting effects.

The light tunnel effect could be easily rewritten using the built-in GLSL step function avoiding the if statement.

| Pathetic.
|
| There is no originality at all for the GNOME devs?
| I cant even count how many concepts are just straight ripped off Mac OS X.
| Anyhow, its just sad.. all the copying that is being done.
| That is why I was a former OSS developer and switched.

What’s more pathetic is this guy’s unoriginal SoC application is accepted. As a mentor , I saw rejected proposals that are better than this. There’s even 1 person that submitted 6 long proposals that I believe should be accepted, how unfortunate that I was not a mentor of that organization.