DWMaxx: Another Quick Tech Demo
December 12, 2007 on 10:19 pm | In DWMaxx, Development, Projects |So tonight I tried to make Sinapse run with DWMaxx. The two mains issues were that Sinapse is old, and that I was running into some kind of lags.
Basically, when I would resize the window in the animation loop, the window would not resize. After tweaking everything in my code, something came to light.
DWM uses timing magic to minimize the number of scene rendering is has to do! When idle, for instance, my desktop runs at 2 fps (according to Fraps). And indeed, when I change the size of the my window, the scene doesn’t get redrawn. But thankfully, the DWM has also the less known DWM Frame Timing API. Basically, this API allows you to control the rendering frame-rate of the screen, according mostly to “refreshes” (V-Sync) signals. So, indeed, I requested my frame to get redrawn after I change a window size.
Also, I’ve added the possibility to change the window’s position (regardless of it’s real position, it’s only graphic).
And here’s what it looks like, running inside Sinapse (which is being rewritten):
4 Comments »
RSS feed for comments on this post. TrackBack URI
Leave a comment
Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds.
Valid XHTML and CSS. ^Top^
If you can, please answer on this questions:
1. Window mesh can be changed on something like curved 3d surface?
2. 3D coordinates accessible?
3. Draw reflection of one window on another is possible?
4. Can be added custom 3d objects to existing windows in global scene?
Comment by ajalnine — December 13, 2007 #
Sure
1. I don’t have access to the window mesh yet. It seems it’s possible, but I don’t think I’ll be able to go down to the vertex level.
2. Yes, BUT, the camera used to render windows is orthogonal, I’ll look if it’s possible to change it. If you want to look what a 3D transformation looks like with the orthogonal camera, check my previous post with the Notepad screenshot squeezed.
3. I don’t know.
4. It could be done using milcore, but DWMaxx is higher on the abstract scheme. However, you can always use the frameless Direct3D hack, as documented in “Unmanaged Vista Power“.
Comment by siwu — December 13, 2007 #
Awesome!
Comment by Ave — December 13, 2007 #
Been a fan from Aqua-soft, since 2002. Great job you are doing here, thanks for the heads up man!
Comment by William — December 13, 2007 #