<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SIEGE Game Engine</title>
	<atom:link href="http://libsiege.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://libsiege.org</link>
	<description>Simple Interplatform Entity Game Engine</description>
	<lastBuildDate>Mon, 20 Feb 2012 17:46:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Window icons</title>
		<link>http://libsiege.org/2012/02/07/window-icons/</link>
		<comments>http://libsiege.org/2012/02/07/window-icons/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 16:57:04 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[SIEGE]]></category>

		<guid isPermaLink="false">http://libsiege.org/?p=384</guid>
		<description><![CDATA[New updates bring SIEGE to version 0.4.0: initialization has been changed so that it no longer opens a window by itself (thus, the number of parameters has been reduced to 1 &#8211; flags) new API added to leverage SIEGE&#8217;s image loading functionality directly window icon functionality added (by request from bernardh) Here&#8217;s a short example [...]]]></description>
			<content:encoded><![CDATA[<p>New updates bring SIEGE to version 0.4.0:</p>
<ul>
<li>initialization has been changed so that it no longer opens a window by itself (thus, the number of parameters has been reduced to 1 &#8211; flags)</li>
<li>new API added to leverage SIEGE&#8217;s image loading functionality directly</li>
<li>window icon functionality added (by request from bernardh)</li>
</ul>
<p>Here&#8217;s a short example of the new API:</p>
<pre class="brush: cpp; title: ; notranslate">
// old initialization
// sgInit(width, height, bpp, flags);

// new initialization (we'll open the window later)
sgInit(flags);

// image loading
SGImageData* idata = sgImageDataCreateFile(&quot;data/sprites/whatever.png&quot;);
/*
 * Set the icon (this has to be done *before* the window is opened).
 * Note that in Windows, this is required to be 32x32; also note that there might
 * be some changes in the API in the future.
 */
sgWindowSetIcon(idata);
sgImageDataDestroy(idata);

// now we can finally open the window!
sgWindowOpen(width, height, bpp, flags);
</pre>
<p>And finally, a screenshot:</p>
<div id="attachment_387" class="wp-caption aligncenter" style="width: 310px"><a href="http://libsiege.org/wp-content/uploads/2012/02/window_icon.png"><img class="size-medium wp-image-387" title="Window Icons in SIEGE" src="http://libsiege.org/wp-content/uploads/2012/02/window_icon-300x236.png" alt="" width="300" height="236" /></a><p class="wp-caption-text">Example of the window icon functionality in SIEGE - note the small yellow icon in the top-left.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://libsiege.org/2012/02/07/window-icons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moved across servers</title>
		<link>http://libsiege.org/2012/01/20/moved-across-servers/</link>
		<comments>http://libsiege.org/2012/01/20/moved-across-servers/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 11:17:17 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://libsiege.org/?p=380</guid>
		<description><![CDATA[If you haven&#8217;t been able to reach the website during the last few days, it was due to DNS propagation and because I&#8217;ve been fiddling with the new server. And by fiddling, I mean that the website has been moved to a new server, and I still had (and have) to configure some things. You&#8217;ll [...]]]></description>
			<content:encoded><![CDATA[<p>If you haven&#8217;t been able to reach the website during the last few days, it was due to DNS propagation and because I&#8217;ve been fiddling with the new server.</p>
<p>And by fiddling, I mean that the website has been moved to a new server, and I still had (and have) to configure some things. You&#8217;ll also notice that the theme is currently semi-broken (the title bar, for example, should have a dark background) &#8211; I&#8217;m working on that.</p>
<p>The good news is that SIEGE is now on a much better server than before (it&#8217;s a dedicated server), which means that I&#8217;ll be able to put up, say, a bugtracker which doesn&#8217;t use PHP (there&#8217;s a lot to choose from though).</p>
]]></content:encoded>
			<wfw:commentRss>http://libsiege.org/2012/01/20/moved-across-servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Threading API added</title>
		<link>http://libsiege.org/2012/01/11/threading-api-added/</link>
		<comments>http://libsiege.org/2012/01/11/threading-api-added/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 19:58:21 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[SIEGE]]></category>

		<guid isPermaLink="false">http://libsiege.org/?p=377</guid>
		<description><![CDATA[SIEGE has just (well, actually a few days ago) received new functionality, all related to threading. The following are now available: threads (suprise, suprise!) thread-local storage mutexes semaphores The API is cross-platform &#8211; it works both in Windows and on POSIX systems. I won&#8217;t be quoting all the functions added here because there is quite [...]]]></description>
			<content:encoded><![CDATA[<p>SIEGE has just (well, actually a few days ago) received new functionality, all related to threading. The following are now available:</p>
<ul>
<li>threads (suprise, suprise!)</li>
<li>thread-local storage</li>
<li>mutexes</li>
<li>semaphores</li>
</ul>
<p>The API is cross-platform &#8211; it works both in Windows and on POSIX systems. I won&#8217;t be quoting all the functions added here because there is quite a lot of those &#8211; if you want to see all of them, check out these files: <a href="https://github.com/SIEGE/siege/blob/master/include/siege/util/thread.h">/include/siege/util/thread.h</a>, <a href="https://github.com/SIEGE/siege/blob/master/include/siege/util/threadkey.h">/include/siege/util/threadkey.h</a>, <a href="https://github.com/SIEGE/siege/blob/master/include/siege/util/mutex.h">/include/siege/util/mutex.h</a> and <a href="https://github.com/SIEGE/siege/blob/master/include/siege/util/semaphore.h">/include/siege/util/semaphore.h</a>.</p>
<p>As you may know, SIEGE does not actually use threads &#8211; yet, so what do I need this API for? Well, I&#8217;m working on getting a separate rendering thread running in SIEGE (optional, controlled by a flag, so you don&#8217;t have to worry about thread-safety if you don&#8217;t want to and instead disable multithreading). Furthermore, I want to eventually make SIEGE completely event-based (again, controlled by flags) so that event handlers can run from a thread pool and use messages for communication.</p>
]]></content:encoded>
			<wfw:commentRss>http://libsiege.org/2012/01/11/threading-api-added/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un-hardcoded module search path</title>
		<link>http://libsiege.org/2011/10/20/un-hardcoded-module-search-path/</link>
		<comments>http://libsiege.org/2011/10/20/un-hardcoded-module-search-path/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 11:41:19 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[SIEGE]]></category>

		<guid isPermaLink="false">http://libsiege.org/?p=365</guid>
		<description><![CDATA[Until now, the module search path has been hardcoded to the &#8220;modules&#8221; directory; I have now changed that so that it can be changed by the user. Furthermore, multiple paths can be provided &#8211; if SIEGE cannot find the module in the first path, it continues seeking in the second path and so on. Furthermore, [...]]]></description>
			<content:encoded><![CDATA[<p>Until now, the module search path has been hardcoded to the &#8220;modules&#8221; directory; I have now changed that so that it can be changed by the user. Furthermore, multiple paths can be provided &#8211; if SIEGE cannot find the module in the first path, it continues seeking in the second path and so on.</p>
<p>Furthermore, four new functions are added:</p>
<pre class="brush: cpp; title: ; notranslate">
/*
 * Try &quot;ndirs&quot; directories in order - if the module cannot be found in the first,
 * continue to second, if it's not there, continue to third, et cetera...
 *
 * Up to 256 directories can be provided.
 */
void sgModuleSetLoadDirsv(size_t ndirs, va_list args);
void sgModuleSetLoadDirs(size_t ndirs, ...);
// same as calling sgModuleSetLoadDirs(1, dir)
void sgModuleSetLoadDir(const char* dir);
// get the current list of dirs
char** sgModuleGetLoadDirs(size_t* ndirs);
</pre>
<p>I am also going to un-hardcode the prefix (the &#8220;[lib]SGModule-&#8221; bit) soon.</p>
<p><strong>UPDATE:</strong> The prefixes are now un-hardcoded (though the code hasn&#8217;t been tested well); the API is similar to the directories, only replace &#8220;Dir&#8221;/&#8221;Dirs&#8221; with &#8220;Prefix&#8221;/&#8221;Prefixes&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://libsiege.org/2011/10/20/un-hardcoded-module-search-path/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lights are in</title>
		<link>http://libsiege.org/2011/09/25/lights-are-in/</link>
		<comments>http://libsiege.org/2011/09/25/lights-are-in/#comments</comments>
		<pubDate>Sun, 25 Sep 2011 13:35:41 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[SIEGE]]></category>

		<guid isPermaLink="false">http://libsiege.org/?p=362</guid>
		<description><![CDATA[Okay, I&#8217;ve decided to stop looking for a better API for lights and just put them into master. Here are the relevant commits: https://github.com/SIEGE/siege/commit/09bcf4a8bccceac52b9bc11247429a5226879382 https://github.com/SIEGE/siege/commit/e35e6d32cfd08451215879376409a0e238136406 Some changes are still pending, but the API is going to remain as it is, at least for the time being.]]></description>
			<content:encoded><![CDATA[<p>Okay, I&#8217;ve decided to stop looking for a better API for lights and just put them into master.</p>
<p>Here are the relevant commits:</p>
<ul>
<li><a href="https://github.com/SIEGE/siege/commit/09bcf4a8bccceac52b9bc11247429a5226879382">https://github.com/SIEGE/siege/commit/09bcf4a8bccceac52b9bc11247429a5226879382</a></li>
<li><a href="https://github.com/SIEGE/siege/commit/e35e6d32cfd08451215879376409a0e238136406">https://github.com/SIEGE/siege/commit/e35e6d32cfd08451215879376409a0e238136406</a></li>
</ul>
<p>Some changes are still pending, but the API is going to remain as it is, at least for the time being.</p>
]]></content:encoded>
			<wfw:commentRss>http://libsiege.org/2011/09/25/lights-are-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SIEGE Util now independent of the core</title>
		<link>http://libsiege.org/2011/09/25/siege-util-now-independent-of-the-core/</link>
		<comments>http://libsiege.org/2011/09/25/siege-util-now-independent-of-the-core/#comments</comments>
		<pubDate>Sun, 25 Sep 2011 12:41:35 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[SIEGE]]></category>

		<guid isPermaLink="false">http://libsiege.org/?p=359</guid>
		<description><![CDATA[Until recently, SIEGE Util (sources and headers in siege/util/*) have depended on SIEGE core to initialize them &#8211; not anymore &#8211; now they work perfectly fine without the core. This marks an important first step in getting SIEGE into a less monolithic state, so that (say) its pathfinding code can be used as a separate [...]]]></description>
			<content:encoded><![CDATA[<p>Until recently, SIEGE Util (sources and headers in siege/util/*) have depended on SIEGE core to initialize them &#8211; not anymore &#8211; now they work perfectly fine without the core. This marks an important first step in getting SIEGE into a less monolithic state, so that (say) its pathfinding code can be used as a separate library.</p>
<p>There are a few cases where util depends on, say, modules (which currently depend on core) &#8211; for example, conv.c which requires an iconv module &#8211; but I have plans on fixing this and getting modules independent as well.</p>
<p>Here is the relevant commit: <a href="https://github.com/SIEGE/siege/commit/bd8d77a1651099eac809c0aae58623fa1fa10144">https://github.com/SIEGE/siege/commit/bd8d77a1651099eac809c0aae58623fa1fa10144</a>.</p>
<p><strong>UPDATE:</strong> SIEGE-Modules do not depend on core for initialization anymore. Commit: <a href="https://github.com/SIEGE/siege/commit/03c578bf8bc04f83c6d3c945a770874fd00af642">https://github.com/SIEGE/siege/commit/03c578bf8bc04f83c6d3c945a770874fd00af642</a></p>
]]></content:encoded>
			<wfw:commentRss>http://libsiege.org/2011/09/25/siege-util-now-independent-of-the-core/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migration to GitHub</title>
		<link>http://libsiege.org/2011/09/24/migration-to-github/</link>
		<comments>http://libsiege.org/2011/09/24/migration-to-github/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 19:52:26 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[SIEGE]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://libsiege.org/?p=354</guid>
		<description><![CDATA[Yesterday, I&#8217;ve migrated SIEGE from Gitorious to GitHub &#8211; I have good reasons to do so, but I will not discuss them here. SIEGE is now located on this GitHub page: https://github.com/SIEGE. The Gitorious repository will be kept for a while and perhaps even updated once in a while &#8211; exactly how often (if at [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I&#8217;ve migrated SIEGE from Gitorious to GitHub &#8211; I have good reasons to do so, but I will not discuss them here.</p>
<p>SIEGE is now located on this GitHub page: <a href="https://github.com/SIEGE">https://github.com/SIEGE</a>. The Gitorious repository will be kept for a while and perhaps even updated once in a while &#8211; exactly how often (if at all) I will update it and for how long will I keep the repository, I do not know.</p>
]]></content:encoded>
			<wfw:commentRss>http://libsiege.org/2011/09/24/migration-to-github/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Gradients and SGFont update</title>
		<link>http://libsiege.org/2011/08/21/gradients-and-sgfont-update/</link>
		<comments>http://libsiege.org/2011/08/21/gradients-and-sgfont-update/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 14:58:45 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[SIEGE]]></category>

		<guid isPermaLink="false">http://libsiege.org/?p=333</guid>
		<description><![CDATA[SIEGE has just got a new feature &#8211; gradients. SGGradient is a new structure which holds the data for a gradient &#8211; a smooth (or, depending on interpolation, not-so-smooth) transition of colors on a scale from 0.0 to 1.0 &#8211; of course, stops can be added in between, so that you can go from, say, [...]]]></description>
			<content:encoded><![CDATA[<p>SIEGE has just got a new feature &#8211; gradients.</p>
<p>SGGradient is a new structure which holds the data for a gradient &#8211; a smooth (or, depending on interpolation, not-so-smooth) transition of colors on a scale from 0.0 to 1.0 &#8211; of course, stops can be added in between, so that you can go from, say, 0.75 past 0.25 to 1.0. The gradients are (by design) not limited to color information, but can hold any form of info &#8211; for example, a heightmap for a side-scroller could be stored in this way. SGColorGradient will be added later on, and will be a &#8220;specialization&#8221; of SGGradient for RGBA color info.</p>
<p>For those wondering how to use this functionality, here is an example:</p>
<pre class="brush: cpp; title: ; notranslate">
// creates a gradient with two stops: (0.0 -&gt; 0.0) and (1.0 -&gt; 1.0)
SGGradient* grad = sgGradientCreate();

/*
    Add some stops; note that the stops at
    0.00 and 1.00 are automatically replaced
*/
sgGradientSetStopKey(grad, 0.00, 1.00); // 0.00 -&gt; 1.00
sgGradientSetStopKey(grad, 0.25, 0.75); // 0.25 -&gt; 0.75
sgGradientSetStopKey(grad, 0.75, 0.00); // 0.75 -&gt; 0.00
sgGradientSetStopKey(grad, 1.00, 0.50); // 1.00 -&gt; 0.50

// ...
// draw the gradient...
size_t i;
for(i = 0; i &lt; 640; i += 16)
{
    // grayscale gradient color: rgba(g, g, g, 0.0)
    sgDrawColor1f(sgGradientGetValue(grad, i / 640.0));
    sgDrawRectangleWH(i, 0, 16, 480, SG_TRUE);
}
// ...

sgGradientDestroy(grad);
</pre>
<p>&#8230;and that&#8217;s about it regarding the use! Here is a screenshot of the gradients in action (note: this is not the same gradient as the above code):</p>
<div id="attachment_334" class="wp-caption aligncenter" style="width: 310px"><a href="http://libsiege.org/wp-content/uploads/2011/08/siege-gradient.png"><img class="size-medium wp-image-334" title="SIEGE Gradients" src="http://libsiege.org/wp-content/uploads/2011/08/siege-gradient-300x237.png" alt="" width="300" height="237" /></a><p class="wp-caption-text">Interpolations from top to bottom: Nearest-neighbour, linear, cosine, cubic - custom interpolation functions are supported. Dim orange lines are stops.</p></div>
<p>Now that gradients are settled, onto the 2nd update: SGFont API change.</p>
<p>Until now, SGFont had a <em>LOT</em> of different functions for printing:</p>
<pre class="brush: cpp; title: ; notranslate">
sgFontPrintCentered*
sgFontPrintXCentered*
sgFontPrintYCentered*
</pre>
<p>All of these had 9 variants, for a total of 27 functions. They have all been replaced with a set of new functions, sgFontPrintAligned*:</p>
<pre class="brush: cpp; title: ; notranslate">
void sgFontPrintAligned(SGFont* font, float x, float y, SGenum align, const char* text);

// example:
// print X-cented, but on the Y baseline
sgFontPrintAligned(myfont, 320, 240, SG_ALIGN_CENTER | SG_ALIGN_BASELINE, &quot;Hello, font world!&quot;);

// the following constants are available:
// SG_ALIGN_CENTER   - x or y-centered (used for both because its value is 0)
// SG_ALIGN_LEFT     - left-aligned on x
// SG_ALIGN_RIGHT    - right-aligned on x
// SG_ALIGN_TOP      - top-aligned on y
// SG_ALIGN_BASELINE - baseline-aligned on y
// SG_ALIGN_BOTTOM   - bottom-aligned on y
</pre>
<p>&#8230;plus variants. The &#8220;old&#8221; functions still exist, but they have been deprecated and are scheduled to be removed soon (since most are almost unused, very soon) without notice whatsoever.</p>
<p>Yes, there are more arguments to pass, but it is much more flexible &#8211; for example, there existed no way to print right-, top- or bottom-aligned text &#8211; there was only left/center on x and center/baseline on y. Furthermore, a switch was previous required in case certain alignments were required under certain conditions (to make sure the right function is called) &#8211; now, it is only a matter of a different argument.</p>
<p>Well, that pretty much concludes today&#8217;s post &#8211; I hope the new gradients and font drawing functionality will come in handy!</p>
]]></content:encoded>
			<wfw:commentRss>http://libsiege.org/2011/08/21/gradients-and-sgfont-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Audio is back in</title>
		<link>http://libsiege.org/2011/08/15/audio-is-back-in/</link>
		<comments>http://libsiege.org/2011/08/15/audio-is-back-in/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 12:57:27 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[SIEGE]]></category>

		<guid isPermaLink="false">http://libsiege.org/?p=322</guid>
		<description><![CDATA[SIEGE has been without audio for quite some time, pending correction of a couple of bugs &#8211; this took quite a long while simply because I couldn&#8217;t get the bugs fixed earlier. I&#8217;ve corrected the breaking bug now, however and even some other bugs in audio, so it now works! You can check it out [...]]]></description>
			<content:encoded><![CDATA[<p>SIEGE has been without audio for quite some time, pending correction of a couple of bugs &#8211; this took quite a long while simply because I couldn&#8217;t get the bugs fixed earlier. I&#8217;ve corrected the breaking bug now, however and even some other bugs in audio, so it now works!</p>
<p>You can check it out in the &#8220;audio&#8221; example, but make sure you have FLAC and Vorbis libraries installed or else you will get silence since it won&#8217;t know how to load the audio files.</p>
<p>Streaming is not yet supported &#8211; the audio has to be preloaded as a whole &#8211; but it is planned.</p>
<p>There is one more feature, however, which is designed to ease the creation of &#8220;fire and forget&#8221; sound effects &#8211; sgAudioSourceDestroyLazy. You can find an example of use in the aforementioned &#8220;audio&#8221; example, but here it is for those who don&#8217;t want to bother checking:</p>
<pre class="brush: cpp; title: ; notranslate">
void createExplosion(SGAudioBuffer* buffer)
{
    /*
     * Explosions are:
     * - high-priority sounds (10.0 priority)
     * - loud (1.0 volume)
     * - &quot;powerful&quot; (pitch reduced to 0.5 to make it sound &quot;deeper&quot;)
     * - non-looping (looping set to SG_FALSE)
     */
    SGAudioSource* source = sgAudioSourceCreate(10.0, 1.0, 0.5, SG_FALSE);
    sgAudioSourceQueueBuffer(source, buffer);
    sgAudioSourcePlay(source);

    /*
     * Newest addition - this will wait until the source
     * stops playing (looping is automatically set to SG_FALSE)
     * and then destroy the source.
     */
    sgAudioSourceDestroyLazy(source);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://libsiege.org/2011/08/15/audio-is-back-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Particle system and more</title>
		<link>http://libsiege.org/2011/08/13/particle-system-and-more/</link>
		<comments>http://libsiege.org/2011/08/13/particle-system-and-more/#comments</comments>
		<pubDate>Sat, 13 Aug 2011 13:35:22 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[SIEGE]]></category>

		<guid isPermaLink="false">http://libsiege.org/?p=316</guid>
		<description><![CDATA[A minor update this time &#8211; hold on to your seats though because more is coming soon! Here are some of new features that SIEGE has got: Particle system, created by tshirtman AA trees (also known as Andersson trees) for mapping of value-&#62;value FPS counter, frame limiter and high-precision time/sleep functions &#8211; created by bernardh [...]]]></description>
			<content:encoded><![CDATA[<p>A minor update this time &#8211; hold on to your seats though because more is coming soon!</p>
<p>Here are some of new features that SIEGE has got:</p>
<ul>
<li>Particle system, created by tshirtman</li>
<li>AA trees (also known as Andersson trees) for mapping of value-&gt;value</li>
<li>FPS counter, frame limiter and high-precision time/sleep functions &#8211; created by bernardh</li>
<li>Depth testing can now be toggled</li>
<li>Drawing of smooth points, lines and polygons can now be toggled</li>
<li>New &#8220;Pyramid&#8221; example</li>
</ul>
<p>As always, there are also a couple of bugfixes and other misc. changes here and there.</p>
<p>Screenshots for the particle system will follow later, as I have yet to create a good demo for the feature.</p>
]]></content:encoded>
			<wfw:commentRss>http://libsiege.org/2011/08/13/particle-system-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

