Archive for April, 2006

Go-go gadgetto rant-cannon!

Wednesday, April 26th, 2006

There is a strange dude - going by the name of Adam Williamson - who thinks some of us are wasting their time with doing superfluous work. Would he had taken a few moments to read the comments on my blog-entry or just thought a little more thoroughly about bit, it would have been apparent to him, that the chosen drop-shadow-color was just for pointing out what can be done now (it does not have to be done). Judging from the kind of remarks he makes in his blog-entry, I would not be surprised, if he also belongs to the kind of people, who regard things like the wobbly-plugin as seriously meant productivity-enhancements and not what they actually are… exaggerating technology demonstrations. I know the look of colors in that screenshot is off (jimmac even jokingly threatened me with public spanking on IRC for putting such display of eye-mayhem online *g*). But had I used only a slightly blue tinted grey (e.g. #113) as an example, people might not have directly seen the difference.
I would have liked to be able to add a clarifying and polite comment in Adam’s blog and also would have liked to ask him why he so quickly (naively?) jumps to conclusions, but he refuses to accept comments from non-registered users. Thus I had to fall back to this means of counter-rant.

Greetings to the p.g.o-readers and fellow gnome-hackers

Tuesday, April 25th, 2006

Argl, I almost forgot… now that my blog is aggregated on p.g.o I guess I just give a quick hello to everybody.

I finished a patch for compiz (against CVS-head of today) to allow the color of the drop-shadow to be set. The patch was sent to the compiz mailing-list too. I’ll see if it gets accepted or not. Meanwhile here’s another screenshot of it in action along with gconf-editor showing the new option for the decoration-plugin:

thumbnail of colored drop-shadows
“Pimp my ride!” (click for high-res)

eye-candy rejoicing with compiz

Monday, April 24th, 2006

While I gave up on adding customizable drop-shadows, compiz coding-prodigy David Reveman did not. Hot off the CVS-repository comes compiz with tweakable drop-shadows… at last *g* Watch this:

thumbnail of colored drop-shadows

The only thing missing from the available parameters to tweak are maybe shadow-color and different sets of parameters for certain window-types. At least a distinction between focused and non-focused windows would be handy. With the current version of compiz you can tune…

  • shadow_offset_x
  • shadow_offset_y
  • shadow_opacity
  • shadow_radius

to suit your liking. These settings are used for all windows right now.

cairo-clock 0.3.2 prebuilt for OpenSuSE 10.1

Monday, April 24th, 2006

Better late then never I guess… I have the binary OpenSuSE 10.1 rpm of cairo-clock 0.3.2 for three weeks now. I almost forgot about it. The OpenSuSE folks can thank Jigish Gohil for the package-building. BTW, isn’t that some very cool sounding name?! *g* Get the SuSE-flavoured cairo-clock here. A word of caution though… you’ll still need a non-standard (read: not officially shipping with OpenSuSE 10.1 yet) librsvg-2.14.x in order to install and run this. Because OpenSuSE 10.1 does not come with Gnome 2.14.x yet (librsvg 2.14.x is part of that) you will have to look at other places for getting hold of it. One place is this spot. But from the kind of URL I don’t know how long this will be valid.

Some gaussian blur with GLSL, a bit of FBOs and a helping of GtkXPaned

Friday, April 21st, 2006

I wrote some boilerplate C++-code to have a simple framework for my future endevours with OpenGL 2.0 and GLSL in particular. The first thing I wanted to try is some image-processing function… a gaussian blur.

thumbnail of GLSL blur-example
(click to play back, ogg/theora, ~1.4 MBytes)

Horay! Now I’m going to rewrite the whole effects-plugin-stack for Gimp with that… ehm… no I’m not. Just kidding, sorry :)

Also I did try to wrap my mind around using OpenGL’s frame-buffer-objects (the nicer variation of pbuffers if you will). While trying to think up some example to use FBOs with, I wondered how fast the drawing of mouse-gestures could be. I’m a bit annoyed of the “responsiveness” of mouse-gesture trails in Firefox (under Windows it’s ok, but under Linux it leaves something to be desired speed-wise). So I went for this. Ok, it’s no fair comparison… my example is small, lean and using OpenGL… Firefox is a full-fledged application doing its drawing with… ehm… well not with OpenGL so much I’m sure of. Do they use gdk under Linux for non-UI graphics? Hm… I’ve no idea at all. Nevermind, take a look…

thumbnail of clip
(click to play back, ogg/theora, ~1.2 MBytes)

BTW those two examples run vsynced and behave very nicely towards the machine running at 90 fps (does not matter if maximized to fullscreen or not). The hit on the CPU is around 1%.

Lastly I got my act together and tar’ed up the sourcecode for GtkXPaned… or rather the current state of affairs regarding it. It is not done yet. Some bugs remain and it’s greatly untested. But if someone finds this interesting they can give it a spin. I remember one of the people working on gnumeric once asked me about it, but that’s about a year ago or so. I’ve lost the email and cannot remember the name anymore. What could they have wanted form such an widget? Where would such a specific UI-element fit anywhere in a spreadsheet like gnumeric? Anyways here the code (SHA1SUM). If you give it a try, please read BUGS and the comments in the sourcecode at the top, I really mean it. Should you get it compiled you can

small update to the C#-example

Monday, April 17th, 2006

I added some more moving parts to the C#-exmaple I talked about in the last blog-entry. Just get the source, if you are curious. This time you will not get any screenshots or screencast-videos. People tend to just look at the screenshots and watch the video and don’t grab the source and do something with it. You know, there’s some reason I put the sourcecode online *g*

EDIT: One more thing, if it should turn out to be too much of a burden for your CPU - after all it is still doing all the rendering in software and not using glitz (not sure if I can access glitz from mono, I’m still a C#-beginner) - just increase the value of m_iInterval (line 114) to e.g. 100. It will cause the program to draw only 10 frames per second, but the animation itself will not be as smooth.

My first C#-program is not "Hello, world!", but…

Thursday, April 13th, 2006

… correct you guessed it some ARGB-stuff again. This is getting boring I know, even for me *g* I’ve been asked for help on this via eMail, but instead of just keeping it in private I think putting it here might be of more use to the community. The C#-code can be fetched via this link. When it compiled correctly it looks like this:

thumbnail of clip

There are some points left, which could use some polish. For example, it’s not a very strict object-oriented program and I guess the C#-purists among you could tune it for more style. But for my first steps with C# and MonoDevelop I’m satisfied with it.

FSAA and aniso. filtering for Xgl/compiz

Tuesday, April 11th, 2006

A little addition to my past blog-entry on sync to vblank for Xgl/compiz (and more). Some people reported that they could not get it working or did not see any difference, thus were even wondering if I only made things up (honestly what do some people think?). While I don’t know what people did not get right, I’m sure that it works and want to show a pair of before and after screenshots. To make the difference very obvious I set the environment-variables like this…

export __GL_FSAA_MODE=7
export __GL_LOG_MAX_ANISO=4
export __GL_SYNC_TO_VBLANK=1

This means - according to the Nvidia driver-manual - “4x Bilinear Multisampling by 4x Supersampling” full-scene antialiasing, “16x anisotropic filtering” and syncing to VBlank (only visible for the cube-rotation and not applying to tearing during window-movements!). While this setting isn’t viable for every-day use on my GeForce 6600 with its narrow 128 bit memory-bus causing it to be stressed too much, it may very well be smooth for people with better cards (any nvidia-card that offers a 256 wide memory-bus).

Here are the screenshots showing the look of things before and after

thumbnail of screenshot
no FSAA, no aniso. filtering (click for high-res)
thumbnail of screenshot
16x FSAA, 16x aniso. filtering (click for high-res)

The most obvious parts showing off the better display quality are the top panel-bar, the inner borders of the terminal-window and just every nearly horizontal or vertical edge. Also the “crawling” of textures when toggling the scale-pluing (the Exposé-like thing) is nearly gone. It’s almost the same as with the visual quality in todays games.

I don’t see this every day ;)

Monday, April 10th, 2006

I happened to run into Aaron Plattner on IRC due to this. A bit later - in a thread at NVnews - I learnt that he seems to be a developer or engineer at Nvidia. He also hacked up a nice demo of using ARGB-visuals with GLX (source and binary). After adding a small patch to this in order to make it decoration-less, I had to run all ARGB-GLX examples I currently have on my hd at once… also seeing how much it stresses my box (gvidcap also running in the background to capture it all… my poor little box). While checking it out I wanted to “snapshot this brief moment on tape”. See for yourself right here…

thumbnail of screenshot

That clip is only running at 10 frames per second. In real life this runs perfectly smooth.

It feels good to inspire others

Monday, April 10th, 2006

A KDE-hacker named Siraj Razick is the first to my knowledge, who did something similar like cairo-clock, but based it on Qt 4. I came across his blog by pure accident here. While I don’t follow the development of KDE and Qt very closely it’s always very exciting to see what other projects are working on or where they are heading. BTW, if anybody knows some sites where one can get a sneak-peak (without “svn co” a whole source-repository and compiling it just to “take a look”) of what KDE 4 is going to provide and look like, I’m eager to hear from them.