Friday, October 27, 2006

GLOverlay

I uploaded another wonderful Qt example to http://ktown.kde.org/~zrusin/examples. This example has been written by Trond Kjernaasen (one of the Samurai Graphics Assassins, hobbies include death metal and beating Trolltech's QA department at ping-pong). The example shows a wonderful mixing of OpenGL with Qt native rendering. You can type in any phrase, the application will try to look up the images on flicker and then display them in a very eye-candish kind of a way. The application looks like this (but remember it's all nicely animated so you want to see it on your machine).
Trond uses pbuffers to make it all work together so make sure your card supports them. Direct link to the code is here. (some people reported crashes when running on latest NVIDIA driver so watch out ;) )

17 comments:

Anonymous said...

Maybe I'm too stupid, but how do you compile it?

Anonymous said...

qmake-qt4 (or maybe just qmake)
make

Doesn't for me though, I get a lot of those :
X Error: GLXBadContext 158
Extension: 145 (Uknown extension)
Minor opcode: 5 (Unknown request)
Resource id: 0x3e00019

The windows shows up but there ain't much eye candy in there... Maybe i should look-up which extension is number 145...

(This is with nvidia drivers 1.0.8776)

André Somers said...

Can't get it to work either. Not on my Gentoo/Linux system (Matrox G400 card) nor on my windows laptop. Too bad, it looked rather cool!

Anonymous said...

does not work as expected on my mx440, some little brownie insite Qt say: "QGLPixelBuffer: Unable to find a context/format match - giving up."

But otherwise, this is very nice idea! Thank you for continue posting such nice things.

leo said...

Hmm, can't get it to work on Windows.. But I will have a look at the code, this is pretty cool! Thank you for posting it.

Jason said...

Using 4.2, I got it to work on windows without effort... but it was slow when resizing the window. I think I'm using the MS GL and not the NV GL...

Anonymous said...

It compiled fine for me on linux AFTER I updated qt-copy. Its nice, but a little slow when running maximized (1280x1024 on my olt ti4200).

Nice stuff to play with!

Anonymous said...

Nice idea. It could be used for an album view in amarok.

Ignacio said...

It works with the latest NVIDIA drivers here.

Note that using the selection buffer is usually not a good idea, since it causes the driver to fall back to software rendering. Since the number of objects is low it should be easy and faster to trace rays against the quads instead.

Performance is still not very good even when you disable the GL_SELECT RenderMode, I'll investigate that a bit more to find out why.

Anonymous said...

With my GeForce 4400 its a bit laggy in fullscreen. But smooth in windowed mode.
But I would have made the weel rotate the images. ;)

But very nice demo!

Anonymous said...

Builds fine on Win32/Qt.4.2.0 but crashes when launching.

Jason said...

RE: Builds fine on Win32/Qt.4.2.0 but crashes when launching.


You built with the right version, but windows is linking you to a 4.1.x version at run time. Check your path variables.

Anonymous said...

"You built with the right version, but windows is linking you to a 4.1.x version at run time. Check your path variables."

Thanks for your tip! But...

I'm on a clean Win32 with only Qt4.2.0 and Jambi TP3 installed. I even tried copying the Qt dlls to the release folder, but no sigar (assuming Windows looks in . first when searching for dlls). Any other ideas why it might fail?

Jason said...

Get the depends tool or filemonnt.
See what it depends on and is trying to link in.

Anonymous said...

Jason, thanks for your help. I used filemonnt and noticed that it was looking for qtlogo.png in the release folder. A simple move of the png into the release folder solved it, and now it's working :)

Thanks!

Anonymous said...

I only get this error:
QGLPixelBuffer: Unable to find a context/format match - giving up.

:(

corck said...

I'd love to sse a video of this too!!