Original Post
Hi all. I'd like to present a new version of the FunDesktop program, i recently wrote. FunDesktop is a program that can render 3d using directx on the desktop window (under the icons). This sounds an easy task, but it's definitely not so simple. Nothing really hard in fact, but a lot of things need to be taken care of, debuging is a nightmare, and often, finding the cause of a crash is quite chalenging. I tried to get a perfect result several times but never really succeeded... before today ;) A brief history : First time i tried to do it was a bit before angelcode posted his version. angelcode's version requires Active Desktop to be disabled to work, and it flickers a lot, even when rendering on a small portion of the desktop. That is, it seems to be quite hard to render on the desktop without Active Desktop enabled. Of course this atempt was a big failure. The second time i tried, i used a strange technique. By changing the parent of a certain window, hiding some other windows, and such tricks, it was possible to render on the desktop, but many functionalities had to be disabled (right click-context menu, etc...), and there was a lot of visual artifacts. (but no flickering tho) Third atempt was not so long ago, it started by a thread here on gamedev : http://www.gamedev.net/community/forums/topic.asp?topic_id=263025&whichpage=2?. I almost had it, but due to lack of time, i never really could terminate this version. Plus, there were some parts of the code that definitely crashed. Anyway, it was a step in the right direction. Recently i was contacted by someone from these forums that wanted to know if i had corrected some bugs in the previous version. I then decided to reopen the project, and see if i could solve this once for all. Well, after a day of coding, i was surprised that this time everything seemed to work flawlessly. The new program features : - It doesn't crash on exit anymore. - It now has a user interface. You can toggle some of the tricks i use to fix the visual artifacts, plus other things. Good to understand how things work. - It now supports plugins through dlls. Everybody can write his own plugins, without having to care about the way it works. - It can enable Active Desktop programatically. The new program TODOs : - Improve user refreshing the desktop case. - Forward input events to the plugins. - Let the plugins have a configuration dialog. - Add sound. - Add scripting. You can download FunDesktop here : http://www.geocities.com/lionhttp/FunDesktop.zip At the moment, it was only tested on WinXP and Win2K. I'd like to hear your opinions about FunDesktop, if it crashed your machine, what is missing, what would you like to be added, ... Well, any feedback welcome. I'm going to rapidly implement the most important TODOs, then i'll try to setup a web page for FunDesktop during the weekend, and will post the source code there once it's done. Thanks for reading. Cheers.
