I was wondering if there’s a way to use an FBO as a dynamic desktop wallpaper (any platform).
is that technically possible?
If so, what sort of performance can I expect in terms of frame rates?
I’m trying to visualize a few ‘live-desktop’ ideas. I’m aiming for ‘sketch/prototype’ level of fidelity. I can fake it with layered images (for icons and other desktop elements) but I was hoping to push it a notch.
I don’t know any doable solution with a FBO.
But I did remember doing a similar thing 6yrs back…that was on windows XP.
It was a live sketch app that allows you draw directly on the desktop wallpaper.
I approached with a pretty dumb solution by first reading the wallpaper file into the memory,
then capturing mouse position/clicks to draw. Every time a new stroke is done, the wallpaper file is saved.
I’m not sure if windows now allows for a FBO approach(not likely), but it depends on how often you want to update your wallpaper, some dumb solution might just work.
Not very sophisticated but I made an app a few years ago on OSX that would periodically save over the top of an image and then call some applescript via command line to reset the wallpaper image. I guess you could make an app to do that with what’s in your FBO and see what kind of speeds you can get. I doubt there’s a way to do this with texture sharing but would be great if possible.
Hi, thanks for all the recommendations! I’ve been experimenting a little bit on windows and so far I have the ability to get the context between the desktop wallpaper and the icons (which is what I want). Unfortunately what I can draw is just this:
TextOut(hdc, 10, 10, “hello”, 12);
The hdc I obtain through various FindWindow processes. It’s basically a device context handle *(HDC GetDC)
The question then is, how would I go about using that context area or as the drawing area? Meaning, how would I assign the context handle to cinder window (which I can then try to customize and make transparent/no frame etc.? Are there some ‘magic’ commands which would allow me to do that? I don’t expect to interact with it on desktop, just show ‘data’ and update accordingly. I do need high fps’s though.
You can see the little hello world sign behind the chrome icon. The blue is the desktop wallpaper.