<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>siwu's blog &#187; DWMaxx</title>
	<atom:link href="http://siwu.info/category/development/projects/dwmaxx/feed" rel="self" type="application/rss+xml" />
	<link>http://siwu.info</link>
	<description>sir, i'm certified cpr !</description>
	<pubDate>Fri, 12 Sep 2008 16:51:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>DWMaxx: Back to business</title>
		<link>http://siwu.info/79/dwmaxx-back-to-business.html</link>
		<comments>http://siwu.info/79/dwmaxx-back-to-business.html#comments</comments>
		<pubDate>Wed, 14 May 2008 12:28:27 +0000</pubDate>
		<dc:creator>siwu</dc:creator>
		
		<category><![CDATA[DWMaxx]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://siwu.info/79/dwmaxx-back-to-business.html</guid>
		<description><![CDATA[It&#8217;s been a solid 3 months since I&#8217;ve last worked on DWMaxx. I am just posting this quick post to tell everyone that I&#8217;m resuming work on it. I&#8217;ve had a LOT of computer problems (my 2 computers died), and a lot of real life stuff to take care of.
Moreover, after my computer died and [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a solid 3 months since I&#8217;ve last worked on DWMaxx. I am just posting this quick post to tell everyone that I&#8217;m resuming work on it. I&#8217;ve had a LOT of computer problems (my 2 computers died), and a lot of real life stuff to take care of.<br />
Moreover, after my computer died and I pretty changed everything in it (cpu, mobo, ram), my <em>second</em> computer died too. Which left me unable to work on DWMaxx at all (2 computers needed, as one is for debug).<br />
So what&#8217;s to be expected?<br />
<span id="more-79"></span><br />
First of all, moving to <code>uDWM.dll</code> from Vista SP1. DWMaxx will be distributed with it&#8217;s own <code>uDWM.dll</code> because finding RVAs using a PDB download process of <code>msdl.microsoft.com</code> is a <strong>pain in the ass</strong>. And let&#8217;s not even talk about compiler optimizations.<br />
Second, I&#8217;ve been trying to have 3D transformations on windows working, as well as improving stability. 3D transformations is pretty tricky: for instance, <code>CWindow3D::ValidateVisual()</code> forces the 3D version to be displayed ONLY when doing the minimize/maximize animations. If it finds it&#8217;s not animating, it will force the original 2D window to show and hide itself. It&#8217;s hard in the code. That&#8217;s also why Flip3D has it&#8217;s own 3D window class. But I can&#8217;t use it since the class asks for a <code>CFlip3D</code> object.<br />
So what can I do? Well, do it the hard way in the MIL protocol itself.<br />
At the moment, here&#8217;s what I have:</p>
<ul>
<li>Creating a new 3D object (<strong>not</strong> <code>CWindow3D</code>)</li>
<li>Tying it to the original 2D <code>CVisual</code> Window</li>
<li>Creating the 3D viewport</li>
<li>Setting the 3D viewport view matrices</li>
</ul>
<p>What&#8217;s missing is the command to tell MIL to <strong>display</strong> the viewport. And of course everytime I test I have to restart the DWM because it crashes (hence the 2nd computer).<br />
Anyway, I&#8217;ll keep you guys informed of how everything falls into place, and release a DWMaxx demo pretty soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://siwu.info/79/dwmaxx-back-to-business.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Computer Outage - Not?</title>
		<link>http://siwu.info/75/computer-outage.html</link>
		<comments>http://siwu.info/75/computer-outage.html#comments</comments>
		<pubDate>Mon, 11 Feb 2008 11:48:16 +0000</pubDate>
		<dc:creator>siwu</dc:creator>
		
		<category><![CDATA[DWMaxx]]></category>

		<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://siwu.info/75/computer-outage.html</guid>
		<description><![CDATA[There may be a stall in the development of DWMaxx for the next two weeks, because I think my motherboard is dying (Asus P4P800 Deluxe). I spent the whole weekend trying to revive it, it works sometimes, sometimes it doesn&#8217;t&#8230;. Well, after 3 days and nights and 100€ on a new hard drive, it seems [...]]]></description>
			<content:encoded><![CDATA[<p><strike>There may be a stall in the development of DWMaxx for the next two weeks, because I think my motherboard is dying (Asus P4P800 Deluxe). I spent the whole weekend trying to revive it, it works sometimes, sometimes it doesn&#8217;t&#8230;. Well, after 3 days and nights and 100€ on a new hard drive, it seems I&#8217;ll have to let it go&#8230; After all, it&#8217;s been on 24h/24 for the last 5 years&#8230; And because everything has evolved, I can&#8217;t just buy a new mobo, I&#8217;ll need a complete upgrade (from the CPU to the GPU). And I&#8217;ll do it when I have the money, that is probably at the end of the month!<br />
In the mean time, I&#8217;m still trying to make it work again, because I&#8217;m not as coffy on the laptop <img src='http://siwu.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strike><br />
<strong>UPDATE 12/02/2008:</strong> It&#8217;s alive! True magic involved here. Read on for the whole story.<br />
<span id="more-75"></span><br />
So yesterday, when I got back from work, I gave a try to boot the computer, and this time it started, but it did the same as it would do with it would boot: boot, but being INCREDIBLY slow on the BIOS screens. Anyway, it booted, sweet. But when I unplugged it to put it back in it&#8217;s proper place, and plugged it in, it wouldn&#8217;t boot anymore, with the dreaded &#8220;System fail CPU test&#8221; in a loop on the speakers.<br />
For the story, there is a small LED light on the mobo, and when you turn the computer off, it should turn off too, but it wouldn&#8217;t (the PSU was fully unplugged). Also, the reset CMOS procedure wasn&#8217;t working (I would try to reset the CMOS, and when it would boot, the settings were the same as before). So what I tried was to left it unplugged without any juice whatsoever, removed the battery, and went to work. When I got back, the LED was still on, after a whole day without juice&#8230; Something was weird. I guess in a desperate move (and with some true magic), I unplugged my external hard drive. And bam, the computer booted! Without being slow in the BIOS! So my guess is a ground issue. The USB hard drive perhaps was supplying current to the mobo through the USB port. Anyway, it&#8217;s alive now, and I&#8217;ll try to keep it that way for a while <img src='http://siwu.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://siwu.info/75/computer-outage.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>DWMaxx going Open Source</title>
		<link>http://siwu.info/74/dwmaxx-going-open-source.html</link>
		<comments>http://siwu.info/74/dwmaxx-going-open-source.html#comments</comments>
		<pubDate>Mon, 04 Feb 2008 10:32:38 +0000</pubDate>
		<dc:creator>siwu</dc:creator>
		
		<category><![CDATA[DWMaxx]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://siwu.info/74/dwmaxx-going-open-source.html</guid>
		<description><![CDATA[I&#8217;ve decided that for the good of this project, I may be best for it to go open source. So that&#8217;s it, DWMaxx is open sourced! It is distributed under GPLv2 (to prevent people from using it for commercial purposes). Of course, it doesn&#8217;t mean that I&#8217;m letting this project down, not at all! But [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve decided that for the good of this project, I may be best for it to go open source. So that&#8217;s it, DWMaxx is open sourced! It is distributed under GPLv2 (to prevent people from using it for commercial purposes). Of course, it doesn&#8217;t mean that I&#8217;m letting this project down, not at all! But I don&#8217;t want it to finish like SPrintWindow (I still have to commit the sources somewhere&#8230;).<br />
I&#8217;ll try to comment the code as often as I can, and write documentations too.</p>
<p>Anyway, you can now find everything on the <a href="http://code.google.com/p/dwmaxx/" >DWMaxx Google Code project page</a>.</p>
<p>On a side note, I&#8217;ve been working pretty hard to get 3D window rotations working. I think I&#8217;m on something, but it might be trickier than I thought (because theses things are quite hard-wired inside the DWM). I&#8217;ll keep you guys posted.</p>
]]></content:encoded>
			<wfw:commentRss>http://siwu.info/74/dwmaxx-going-open-source.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>DWMaxx: Z Rotation</title>
		<link>http://siwu.info/73/dwmaxx-z-rotation.html</link>
		<comments>http://siwu.info/73/dwmaxx-z-rotation.html#comments</comments>
		<pubDate>Wed, 19 Dec 2007 00:53:40 +0000</pubDate>
		<dc:creator>siwu</dc:creator>
		
		<category><![CDATA[DWMaxx]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[Projects]]></category>

		<category><![CDATA[Sinapse]]></category>

		<guid isPermaLink="false">http://siwu.info/73/dwmaxx-z-rotation.html</guid>
		<description><![CDATA[So yesterday I spent most the evening and night rewriting some of the low level code, to interact more directly with MIL (on which DWM sits). The result is a much faster code, and thus creates smoother animations. This also allowed me to implemented Z Rotation  
Once again, pardon my AGP card for the [...]]]></description>
			<content:encoded><![CDATA[<p>So yesterday I spent most the evening and night rewriting some of the low level code, to interact more directly with MIL (on which DWM sits). The result is a much faster code, and thus creates smoother animations. This also allowed me to implemented Z Rotation <img src='http://siwu.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Once again, pardon my AGP card for the slow capture framerate <img src='http://siwu.info/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/uvGHjI4dXuk&#038;rel=0&#038;color1=0x006699&#038;color2=0x54abd6&#038;border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/uvGHjI4dXuk&#038;rel=0&#038;color1=0x006699&#038;color2=0x54abd6&#038;border=0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://siwu.info/73/dwmaxx-z-rotation.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Sinapse running DWMaxx</title>
		<link>http://siwu.info/72/sinapse-running-dwmaxx.html</link>
		<comments>http://siwu.info/72/sinapse-running-dwmaxx.html#comments</comments>
		<pubDate>Fri, 14 Dec 2007 21:19:40 +0000</pubDate>
		<dc:creator>siwu</dc:creator>
		
		<category><![CDATA[DWMaxx]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[Projects]]></category>

		<category><![CDATA[Sinapse]]></category>

		<guid isPermaLink="false">http://siwu.info/72/sinapse-running-dwmaxx.html</guid>
		<description><![CDATA[Quick video of one of the first shots of Sinapse running in pair with DWMaxx, hope you&#8217;ll like it 

]]></description>
			<content:encoded><![CDATA[<p>Quick video of one of the first shots of Sinapse running in pair with DWMaxx, hope you&#8217;ll like it <img src='http://siwu.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/l-RyY-MiRX0&#038;rel=0&#038;color1=0x006699&#038;color2=0x54abd6&#038;border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/l-RyY-MiRX0&#038;rel=0&#038;color1=0x006699&#038;color2=0x54abd6&#038;border=0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://siwu.info/72/sinapse-running-dwmaxx.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>DWMaxx: Another Quick Tech Demo</title>
		<link>http://siwu.info/70/dwmaxx-another-quick-tech-demo.html</link>
		<comments>http://siwu.info/70/dwmaxx-another-quick-tech-demo.html#comments</comments>
		<pubDate>Thu, 13 Dec 2007 02:19:19 +0000</pubDate>
		<dc:creator>siwu</dc:creator>
		
		<category><![CDATA[DWMaxx]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://siwu.info/70/dwmaxx-another-quick-tech-demo.html</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>So tonight I tried to make Sinapse run with DWMaxx. The two mains issues were that Sinapse is <strong>old</strong>, and that I was running into some kind of lags.<br />
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.</p>
<p>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&#8217;t get redrawn. But thankfully, the DWM has also the less known <a href="http://msdn2.microsoft.com/en-us/library/aa969539.aspx" >DWM Frame Timing API</a>. Basically, this API allows you to control the rendering frame-rate of the screen, according mostly to &#8220;refreshes&#8221; (V-Sync) signals. So, indeed, I requested my frame to get redrawn after I change a window size.</p>
<p>Also, I&#8217;ve added the possibility to change the window&#8217;s position (<strong>regardless of it&#8217;s real position</strong>, it&#8217;s only graphic).</p>
<p>And here&#8217;s what it looks like, running inside Sinapse (which is being rewritten):<br />
<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/pSaN5Ruypfk&#038;rel=0&#038;color1=0x006699&#038;color2=0x54abd6&#038;border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/pSaN5Ruypfk&#038;rel=0&#038;color1=0x006699&#038;color2=0x54abd6&#038;border=0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://siwu.info/70/dwmaxx-another-quick-tech-demo.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>DWMaxx: Unleashing your DWM ;)</title>
		<link>http://siwu.info/69/dwmaxx-unleashing-your-dwm.html</link>
		<comments>http://siwu.info/69/dwmaxx-unleashing-your-dwm.html#comments</comments>
		<pubDate>Wed, 12 Dec 2007 01:56:12 +0000</pubDate>
		<dc:creator>siwu</dc:creator>
		
		<category><![CDATA[DWMaxx]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://siwu.info/69/dwmaxx-unleashing-your-dwm.html</guid>
		<description><![CDATA[Hey folks, tonight (actually before going to bed), I want to introduce you to a tech preview of my new library: DWMaxx. It is using my weeks of research into the DWM, and at the moment I&#8217;m quite happy with the first results 
By the way, I want to thank you all for your kind [...]]]></description>
			<content:encoded><![CDATA[<p>Hey folks, tonight (actually before going to bed), I want to introduce you to a tech preview of my new library: DWMaxx. It is using my weeks of research into the DWM, and at the moment I&#8217;m quite happy with the first results <img src='http://siwu.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
By the way, I want to thank you all for your kind words about this project, thank you folks. I&#8217;m sorry I&#8217;m not replying all the emails, but at the moment I&#8217;m really hooked into real-life stuff. But fear not, I will reply!<br />
Also, <strong>A BIG THANK YOU TO AVE</strong>, without him, much of the current design would not the way it is!</p>
<p>Everything you see is running on a P4E 3.0 GHz with a GeForce 7600 GS (it&#8217;s an <strong>AGP</strong> card, hence the 15-20 FPS only).</p>
<p>So, here we go, first demo: <strong>True Zooming</strong><br />
<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/Zf1EsgWHV54&#038;rel=0&#038;color1=0x006699&#038;color2=0x54abd6&#038;border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/Zf1EsgWHV54&#038;rel=0&#038;color1=0x006699&#038;color2=0x54abd6&#038;border=0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://siwu.info/69/dwmaxx-unleashing-your-dwm.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.147 seconds -->
