<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Moguri&#039;s Blog</title>
	<atom:link href="http://mogurijin.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mogurijin.wordpress.com</link>
	<description></description>
	<lastBuildDate>Sat, 07 Jan 2012 05:15:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='mogurijin.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Moguri&#039;s Blog</title>
		<link>http://mogurijin.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://mogurijin.wordpress.com/osd.xml" title="Moguri&#039;s Blog" />
	<atom:link rel='hub' href='http://mogurijin.wordpress.com/?pushpress=hub'/>
		<item>
		<title>BGE Profile Stats and What They Mean</title>
		<link>http://mogurijin.wordpress.com/2012/01/03/bge-profile-stats-and-what-they-mean/</link>
		<comments>http://mogurijin.wordpress.com/2012/01/03/bge-profile-stats-and-what-they-mean/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 03:09:17 +0000</pubDate>
		<dc:creator>Moguri</dc:creator>
				<category><![CDATA[BGE]]></category>

		<guid isPermaLink="false">http://mogurijin.wordpress.com/?p=272</guid>
		<description><![CDATA[Many people are familiar with the &#8220;Show Framerate and Profile&#8221; option in the BGE and the mess of text it displays on their screen. However, not as many people truly know what the different statistics mean. This article aims to help improve people&#8217;s understanding of the profile stats and how to change your game to get those [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=272&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Many people are familiar with the &#8220;Show Framerate and Profile&#8221; option in the BGE and the mess of text it displays on their screen. However, not as many people truly know what the different statistics mean. This article aims to help improve people&#8217;s understanding of the profile stats and how to change your game to get those numbers down (less time spent is better for performance). Aside from the FPS, the profile shows nine stats: Physics, Logic, Animations (only in newer versions of Blender), Network, Scenegraph, Rasterizer, Services, Overhead, Outside. To get the most accurate readings, I recommend turning off &#8220;Use Frame Rate&#8221; and using your graphics card drivers to force vsync to be off.</p>
<h3>Physics</h3>
<p>This represents the time spent on physics code. These days the BGE only uses Bullet for physics, so this stat mostly represents the time spent in Bullet. To reduce the time, you&#8217;ll need to simplify your physics so Bullet doesn&#8217;t have to do as much work. This can include using simpler physics shapes for objects. For example, if you have a complicated mesh for a character and you set the physics type to Convex Hull or Triangle Mesh (the default if no other bound type is explicitly set), Bullet has to do physics calculations with the complicated mesh, which is just a waste of time. Instead, try to see if something simpler like a sphere or box can do the trick. If not, at least setup a &#8220;proxy&#8221; by creating a simple version of your mesh that is invisible and is used for calculations instead of the complicated mesh that is used for rendering.</p>
<h3>Logic</h3>
<p>Time spent on logic is time that is spent on logic bricks and Python code (excluding code run through KX_Scene.pre_draw and KX_Scene.post_draw; those times show up under the Rasterizer). If you want to reduce this, you&#8217;ll need to simplify/optimize your logic bricks and Python code. I&#8217;m not going to give a tutorial on optimizing Python code, but <a href="https://blip.tv/pycon-us-videos-2009-2010-2011/introduction-to-python-profiling-1966784" target="_blank">this</a> talk by Mike Fletcher (known for PyOpenGL) describes profiling Python code and some tips for optimizing. Remember, always profile your code before attempting to optimize it! As a last resort, you can also try moving some of your Python code to C/C++.</p>
<h3>Animations</h3>
<p>Under animations you have the time spent in Blender&#8217;s animation code, which the BGE makes use of. This includes things such as looking up pose data and interpolating key frames. However, be warned that sometimes things like calculating IK can show up under the scenegraph when calculating bone parents. Also, this category does not include the time spent to do the actual mesh deformation, this time is recorded under the Rasterizer category. To reduce the time spent on animation try to reduce the bone count in your armatures. You can also try switching your armatures over to iTaSC (set to simulation) for IK solving instead of the Legacy solver. iTaSC can be faster than the Legacy solver. In my tests I&#8217;ve seen 1.25~1.5x speed improvements when using iTaSC, but I&#8217;ve heard that 4x is not unreasonable.</p>
<h3>Network</h3>
<p>This might come as a surprise to some, but the BGE actually has some networking code. However, this feature was never really developed, so now it is mostly a stub that can send messages over a loopback interface. This is how Message actuators and sensors (and the corresponding Python API features) work. It&#8217;s doubtful that this category will ever be a time sink, but if you&#8217;re having problems, take a look at the number of messages you&#8217;re sending and see if you can reduce them.</p>
<h3>Scenegraph</h3>
<p>The scenegraph keeps track of objects&#8217; position, orientation and scale (and probably a few other things I&#8217;m not thinking of at the moment). This also includes updating parent-child relation ships (e.g., bone parents). As mentioned earlier, the time for bone parents can include getting updated pose data, which possibly means calculating IK. If the scenegraph is really high, try reducing the number of objects in your scene. You can also try using iTaSC (mentioned under Animations). The scenegraph also handles culling (frustum and occlusion) calculations.</p>
<h3>Rasterizer</h3>
<p>The rasterizer is responsible for actually rendering the game. This includes rendering geometry, shaders, and 2D filters. Since the BGE makes use of double buffering, the rasterizer also has to swap the buffers, which can give really high readings if vsync is enabled (SwapBuffers() blocks while waiting for a screen refresh). To reduce the time spent in the rasterizer, you can try to simplify your geometry and materials. Also make sure you don&#8217;t have too many lights casting dynamic shadows. Each shadow cast requires the scene to be rendered. So, if you have three spot lights casting shadows, the scene is rendered four times (three for shadows and once for the actual scene)! 2D filters can also suck up some time, so even if that bloom, depth of field and SSAO look nice, you might want to consider removing them or trying to reduce the number of samples they use.</p>
<h3>Services</h3>
<p>This is the time spent processing various system devices (keyboard, mouse, etc). You shouldn&#8217;t have a problem with this category taking up time.</p>
<h3>Overhead</h3>
<p>This is probably one of the most mis-leading category names. The &#8220;overhead&#8221; is all the text drawn on top of the game screen in the top left corner. This includes the framerate, profile, and debug properties. So, the time spent on this category should be reclaimed when running your game in a more &#8220;release&#8221; configuration (i.e., you&#8217;re not drawing all that debug/profiling text to the screen). If you want to reduce the time spent here while profiling, try reducing the number of debug properties you display.</p>
<h3>Outside</h3>
<p>This is time spent outside of the BGE&#8217;s main loop. In other words, something is taking time away from the BGE. You really have no control over this area. If you have a lot of other programs running, you can try to close some.</p>
<p>I hope people find this useful.</p>
<p>Cheers,<br />
Moguri</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mogurijin.wordpress.com/272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mogurijin.wordpress.com/272/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mogurijin.wordpress.com/272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mogurijin.wordpress.com/272/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mogurijin.wordpress.com/272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mogurijin.wordpress.com/272/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mogurijin.wordpress.com/272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mogurijin.wordpress.com/272/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mogurijin.wordpress.com/272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mogurijin.wordpress.com/272/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mogurijin.wordpress.com/272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mogurijin.wordpress.com/272/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mogurijin.wordpress.com/272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mogurijin.wordpress.com/272/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=272&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mogurijin.wordpress.com/2012/01/03/bge-profile-stats-and-what-they-mean/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/54dca44cad7f81d1f016332bb24c3800?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Moguri</media:title>
		</media:content>
	</item>
		<item>
		<title>Bgui 0.07 Released</title>
		<link>http://mogurijin.wordpress.com/2011/12/23/bgui-0-07-released/</link>
		<comments>http://mogurijin.wordpress.com/2011/12/23/bgui-0-07-released/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 20:07:32 +0000</pubDate>
		<dc:creator>Moguri</dc:creator>
				<category><![CDATA[BGUI]]></category>

		<guid isPermaLink="false">http://mogurijin.wordpress.com/?p=268</guid>
		<description><![CDATA[A new version of Bgui is way overdue, so here it is. Bgui 0.07 brings quite a few changes including ImageButtons and memory leak fixes. It will also work for newer versions of Blender (such as 2.61). For more details on the changes, take a look at the changelog. You can grab the new version [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=268&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A new version of Bgui is way overdue, so here it is. Bgui 0.07 brings quite a few changes including ImageButtons and memory leak fixes. It will also work for newer versions of Blender (such as 2.61). For more details on the changes, take a look at the <a href="https://bgui.googlecode.com/svn/tags/0.07/docs/build/html/changelog.html" target="_blank">changelog</a>.</p>
<p>You can grab the new version from <a href="https://code.google.com/p/bgui/downloads/detail?name=bgui_0.07.zip" target="_blank">here</a>.</p>
<p>Requirements:</p>
<ul>
<li>Blender 2.5+ (2.61 is fine)</li>
</ul>
<p>There is also a Getting Started guide in the <a href="https://code.google.com/p/bgui/wiki/GettingStarted" target="_blank">wiki</a>.</p>
<p>Cheers,<br />
Moguri</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mogurijin.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mogurijin.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mogurijin.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mogurijin.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mogurijin.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mogurijin.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mogurijin.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mogurijin.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mogurijin.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mogurijin.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mogurijin.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mogurijin.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mogurijin.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mogurijin.wordpress.com/268/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=268&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mogurijin.wordpress.com/2011/12/23/bgui-0-07-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/54dca44cad7f81d1f016332bb24c3800?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Moguri</media:title>
		</media:content>
	</item>
		<item>
		<title>Bgui ImageButtons: Request for Comments</title>
		<link>http://mogurijin.wordpress.com/2011/11/22/bgui-imagebuttons-request-for-comments/</link>
		<comments>http://mogurijin.wordpress.com/2011/11/22/bgui-imagebuttons-request-for-comments/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 04:39:51 +0000</pubDate>
		<dc:creator>Moguri</dc:creator>
				<category><![CDATA[BGUI]]></category>

		<guid isPermaLink="false">http://mogurijin.wordpress.com/?p=260</guid>
		<description><![CDATA[I currently have ImageButtons implemented in my working copy, but I would like to get some feedback on some details. Here is the constructor and theme options for the new class: And here is an example of how to use the new class: And the relevant theme data: Now time for some questions. First off, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=260&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I currently have ImageButtons implemented in my working copy, but I would like to get some feedback on some details. Here is the constructor and theme options for the new class:</p>
<p><pre class="brush: python;">
class ImageButton(Widget):
	&quot;&quot;&quot;A clickable image-based button.&quot;&quot;&quot;

	theme_section = 'ImageButton'
	theme_options = {'DefaultImage': (None, 0, 0, 1, 1),
					 'Default2Image': (None, 0, 0, 1, 1),
					 'HoverImage': (None, 0, 0, 1, 1),
					 'ClickImage': (None, 0, 0, 1, 1)
					 }

	def __init__(self, parent, name, default_image=None, default2_image=None, hover_image=None,
					click_image=None, aspect=None, size=[1,1], pos=[0,0], sub_theme='',
					options=BGUI_DEFAULT):
		&quot;&quot;&quot;
		:param parent: the widget's parent
		:param name: the name of the widget
		:param default_image: list containing image data for the default state ('image', xcoord, ycoord, xsize, ysize)
		:param default2_image: list containing image data for a second default state, which is used for toggling ('image', xcoord, ycoord, xsize, ysize)
		:param hover_image: list containing image data for the hover state ('image', xcoord, ycoord, xsize, ysize)
		:param click_image: list containing image data for the click state ('image', xcoord, ycoord, xsize, ysize)
		:param aspect: constrain the widget size to a specified aspect ratio
		:param size: a tuple containing the width and height
		:param pos: a tuple containing the x and y position
		:param sub_theme: name of a sub_theme defined in the theme file (similar to CSS classes)
		:param options: various other options
		&quot;&quot;&quot;
</pre></p>
<p>And here is an example of how to use the new class:</p>
<p><pre class="brush: python;">
self.audio_button = bgui.ImageButton(self.win, 'ab', sub_theme='Audio',
								size=[0.05, 0.05], pos=[0.75, 0.05])
</pre></p>
<p>And the relevant theme data:</p>
<p><pre class="brush: plain;">
[ImageButton:Audio]
DefaultImage=img:audio.png, 0, 0, 0.5, 1
Default2Image=img:audio.png, 0.5, 0, 0.5, 1
</pre></p>
<p>Now time for some questions. First off, the theme file is formated as img:filename, x, y, height, width. Should this instead be img:filename, x1, y1, x2, y2? If I changed this, I would also change the *_image arguments in the constructor. Also, should some sort of mechanism be added for user defined states? Currently things are kind of limited, but I&#8217;d think users could subclass if they wanted more flexibility. Any other feedback?</p>
<p>Cheers,<br />
Moguri</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mogurijin.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mogurijin.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mogurijin.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mogurijin.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mogurijin.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mogurijin.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mogurijin.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mogurijin.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mogurijin.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mogurijin.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mogurijin.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mogurijin.wordpress.com/260/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mogurijin.wordpress.com/260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mogurijin.wordpress.com/260/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=260&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mogurijin.wordpress.com/2011/11/22/bgui-imagebuttons-request-for-comments/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/54dca44cad7f81d1f016332bb24c3800?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Moguri</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC BGE Animation Status Report Week 13</title>
		<link>http://mogurijin.wordpress.com/2011/08/19/gsoc-bge-animation-status-report-week-13/</link>
		<comments>http://mogurijin.wordpress.com/2011/08/19/gsoc-bge-animation-status-report-week-13/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 22:31:40 +0000</pubDate>
		<dc:creator>Moguri</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[GSoC Report]]></category>

		<guid isPermaLink="false">http://mogurijin.wordpress.com/?p=255</guid>
		<description><![CDATA[Time for my final status report for GSoC 2011! What did you do this week? I have written a migration guide, which can be found here. If I find more items that require user action, then I&#8217;ll make sure to note them there. The guide can also be moved eventually. Per user request, I&#8217;ve increased [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=255&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Time for my final status report for GSoC 2011!</p>
<p><strong>What did you do this week?</strong></p>
<p>I have written a migration guide, which can be found <a href="http://wiki.blender.org/index.php/User:Moguri/GSoC_Animation_Docs#Migration_Guide" target="_blank">here</a>. If I find more items that require user action, then I&#8217;ll make sure to note them there. The guide can also be moved eventually.</p>
<p>Per user request, I&#8217;ve increased the max number of layers from 4 to 8. I have also fixed an issue where the user could attempt to use layer n+1, where n is the max number of layers. This of course caused a crash and has now been fixed.</p>
<p>I have also changed lamp and camera IPOs so that lamps and cameras are not stuck to only their active action. The Blender UI seems to be a little restrictive in this area and doesn&#8217;t seem to allow multiple actions for lamps or cameras. But, if you have two lamps with actions, either of the actions can be used on either of the lamps.</p>
<p><strong>What do you plan to do next week?</strong><br />
Next week I plan to start figuring out what I need to do to merge my changes into trunk.</p>
<p><strong>Are there any problems that will require extra attention and what impact will they have on your proposed schedule?</strong></p>
<p>There are currently no problems.</p>
<p><strong>Are there any builds available?</strong></p>
<p>One of the nice things about working with others in the same branch is that there is more interest for that branch, and you can find plenty of Pepper builds on <a href="http://graphicall.org/?keywords=pepper" target="_blank">Graphicall</a>.</p>
<p>Thank you to everyone providing builds!</p>
<p>Cheers,<br />
Moguri</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mogurijin.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mogurijin.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mogurijin.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mogurijin.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mogurijin.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mogurijin.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mogurijin.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mogurijin.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mogurijin.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mogurijin.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mogurijin.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mogurijin.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mogurijin.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mogurijin.wordpress.com/255/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=255&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mogurijin.wordpress.com/2011/08/19/gsoc-bge-animation-status-report-week-13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/54dca44cad7f81d1f016332bb24c3800?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Moguri</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC BGE Animation Status Report Week 12</title>
		<link>http://mogurijin.wordpress.com/2011/08/12/gsoc-bge-animation-status-report-week-12/</link>
		<comments>http://mogurijin.wordpress.com/2011/08/12/gsoc-bge-animation-status-report-week-12/#comments</comments>
		<pubDate>Sat, 13 Aug 2011 01:34:25 +0000</pubDate>
		<dc:creator>Moguri</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[GSoC Report]]></category>

		<guid isPermaLink="false">http://mogurijin.wordpress.com/?p=251</guid>
		<description><![CDATA[Status report time! What did you do this week? This week I worked to make sure actions behaved more like trunk. This involved fixing some blendin and yet more continuous problems. I&#8217;ve also added an option so users can choose whether or not they want to lock the animation updates to the animation framerate: Adding [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=251&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Status report time!</p>
<p><strong>What did you do this week?</strong></p>
<p>This week I worked to make sure actions behaved more like trunk. This involved fixing some blendin and yet more continuous problems. I&#8217;ve also added an option so users can choose whether or not they want to lock the animation updates to the animation framerate:</p>
<blockquote><p>Adding an option to let users choose whether or not to lock animation updates to the framerate. If this option is enabled, animations are only updated at the same speed as the animation framerate. This can give a significant speed up in performance, but at the cost of smoothness in animations. I&#8217;m defaulting this behavior to off for now, which is the behavior seen in trunk.</p></blockquote>
<p>Also, when the user does choose to restrict the update calls, the framerate should now do a better job of matching the user selected framerate:</p>
<blockquote><p>Animation updates are now handled separately from logic/physics updates. This allows the animations to be updated at the full fps specified by the user. Before, updates were not happening frequently enough. For example, a 30fps animation may only update at 20~30fps, which would cause some noticeable lag. This my not be the best solution since at this point we may be dropping frames (not being in the while(frames) loop), and we&#8217;re not updating as often as the physics engine might want for bone parented physics objects.</p></blockquote>
<p>If the user doesn&#8217;t choose the new restrict animation updates option, then the animation updates are still done with the logic/physics updates (the option was created after this commit).</p>
<p>On Wednesday, Dalai and I decided it was probably best to drop the bone physics. This was &#8220;extra&#8221; anyways, and I was spending a lot of time trying to get the position of the physics shapes right. So, I&#8217;ve been focusing on fixing compatibility issues instead. For anyone interested in the work I had done for bone physics can find a patch <a href="http://www.pasteall.org/23974/diff" target="_blank">here</a> (warning: I did not bother to cleanup the patch).</p>
<p><strong>What do you plan to do next week?</strong><br />
Next week I&#8217;ll continue to work on reported user issues (there are still some issues with blendin). Also, it&#8217;s come to my attention that lamp, world, material and camera IPOs probably are not working correctly, so I&#8217;ll look into making sure those are still working. I&#8217;ll also write some docs such as a migration guide.</p>
<p><strong>Are there any problems that will require extra attention and what impact will they have on your proposed schedule?</strong></p>
<p>There are currently no problems.</p>
<p><strong>Are there any builds available?</strong></p>
<p>One of the nice things about working with others in the same branch is that there is more interest for that branch, and you can find plenty of Pepper builds on <a href="http://graphicall.org/?keywords=pepper" target="_blank">Graphicall</a>.</p>
<p>Thank you to everyone providing builds!</p>
<p>Cheers,<br />
Moguri</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mogurijin.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mogurijin.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mogurijin.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mogurijin.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mogurijin.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mogurijin.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mogurijin.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mogurijin.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mogurijin.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mogurijin.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mogurijin.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mogurijin.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mogurijin.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mogurijin.wordpress.com/251/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=251&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mogurijin.wordpress.com/2011/08/12/gsoc-bge-animation-status-report-week-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/54dca44cad7f81d1f016332bb24c3800?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Moguri</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC BGE Animation Status Report Week 11</title>
		<link>http://mogurijin.wordpress.com/2011/08/05/gsoc-bge-animation-status-report-week-11/</link>
		<comments>http://mogurijin.wordpress.com/2011/08/05/gsoc-bge-animation-status-report-week-11/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 04:47:42 +0000</pubDate>
		<dc:creator>Moguri</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[GSoC Report]]></category>

		<guid isPermaLink="false">http://mogurijin.wordpress.com/?p=248</guid>
		<description><![CDATA[Status report time! What did you do this week? The current method of recalculating normals after deforming verts for skinning would have been difficult to implement on the GPU, so I wrote a new one as described in my commit: BGEDeformVerts() now handles normals instead of relying on BL_MeshDeformer::RecalcNormals(), which BlenderDeformVerts() still uses. As expected, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=248&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Status report time!</p>
<p><strong>What did you do this week?</strong></p>
<p>The current method of recalculating normals after deforming verts for skinning would have been difficult to implement on the GPU, so I wrote a new one as described in my commit:</p>
<blockquote><p>BGEDeformVerts() now handles normals instead of relying on BL_MeshDeformer::RecalcNormals(), which BlenderDeformVerts() still uses. As expected, the BGEDeformVerts() version isn&#8217;t as accurate, but it avoids a sqrt per vertex. This gives about a 15~20% improvement in time spent on the rasterizer in my test scene, which resulted in about 5 more fps. However, the main reason for the new normal code is it will be easier to do on the GPU (doesn&#8217;t rely on neighbor information).</p></blockquote>
<p>I have also been working on fixing issues reported by users: ping pong animations now better match trunk, and I&#8217;ve fixed a potential crash when loading older files. There are also some issues with blendin that I still need to fix.</p>
<p>As far as bone physics goes (what I said I&#8217;d work on this week), I have a UI option to enable and disable physics on bones (only shows up when the Blender Game render engine is selected). Also, at conversion time, I&#8217;ve managed to make capsule physics shapes for all of the bones on an armature and setup bone parents for the shapes. However, some of my math must be off since the physics shapes aren&#8217;t quit matching up with the bones yet. I haven&#8217;t committed any of the bone physics code since it&#8217;s not yet at a usable stage.</p>
<p><strong>What do you plan to do next week?</strong><br />
Next week I&#8217;ll continue to work on bone physics and fixing reported issues.</p>
<p><strong>Are there any problems that will require extra attention and what impact will they have on your proposed schedule?</strong></p>
<p>There are currently no problems.</p>
<p><strong>Are there any builds available?</strong></p>
<p>One of the nice things about working with others in the same branch is that there is more interest for that branch, and you can find plenty of Pepper builds on <a href="http://graphicall.org/?keywords=pepper" target="_blank">Graphicall</a>.</p>
<p>Thank you to everyone providing builds!</p>
<p>Cheers,<br />
Moguri</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mogurijin.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mogurijin.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mogurijin.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mogurijin.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mogurijin.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mogurijin.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mogurijin.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mogurijin.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mogurijin.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mogurijin.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mogurijin.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mogurijin.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mogurijin.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mogurijin.wordpress.com/248/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=248&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mogurijin.wordpress.com/2011/08/05/gsoc-bge-animation-status-report-week-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/54dca44cad7f81d1f016332bb24c3800?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Moguri</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC BGE Animation Status Report Week 10</title>
		<link>http://mogurijin.wordpress.com/2011/07/29/gsoc-bge-animation-status-report-week-10/</link>
		<comments>http://mogurijin.wordpress.com/2011/07/29/gsoc-bge-animation-status-report-week-10/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 00:56:02 +0000</pubDate>
		<dc:creator>Moguri</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[GSoC Report]]></category>

		<guid isPermaLink="false">http://mogurijin.wordpress.com/?p=243</guid>
		<description><![CDATA[Status report time! What did you do this week? I&#8217;ve added a Game Engine only option to armatures to choose a &#8220;Vertex Deformer.&#8221; Here is the message from the commit: Adding a new choice for vertex deformation for armatures, which can be found in the Armature&#8217;s Skeleton panel by the Deform options. Before only Blender&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=243&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Status report time!</p>
<p><strong>What did you do this week?</strong><br />
I&#8217;ve added a Game Engine only option to armatures to choose a &#8220;Vertex Deformer.&#8221; Here is the message from the commit:</p>
<blockquote><p>Adding a new choice for vertex deformation for armatures, which can be found in the Armature&#8217;s Skeleton panel by the Deform options. Before only Blender&#8217;s armature_deform_verts() was used. Now users can choose a vertex deformation function that is optimized for the BGE. At the moment it is mostly a copy of armature_deform_verts() with various chunks of code removed, and the BLI_math code was replaced with Eigen2. In my test scene, the new function offered about a 40% improvement over armature_deform_verts() (17~19ms rasterizer to 11~12ms). The only current limitation that I&#8217;m aware of is that B-Bone segments are not supported in the BGE version, and I will probably leave it out. I would like to also limit the BGE version to 4 weights to make things easier for a GPU version, but this may just make things slower (sorting weights to find the top 4).</p></blockquote>
<p><strong>What do you plan to do next week?</strong><br />
I&#8217;m done optimizing for the time being (although I might play a bit with the RNA caching again). I&#8217;ve talked with Benoit, and I&#8217;m going to work on some physics with armatures. The plan is to add options to give bones physics shapes and automatic constraints. This will make setting up things like ragdolls easier.</p>
<p><strong>Are there any problems that will require extra attention and what impact will they have on your proposed schedule?</strong></p>
<p>There are currently no problems.</p>
<p><strong>Are there any builds available?</strong></p>
<p>One of the nice things about working with others in the same branch is that there is more interest for that branch, and you can find plenty of Pepper builds on <a href="http://graphicall.org/?keywords=pepper" target="_blank">Graphicall</a>.</p>
<p>Thank you to everyone providing builds!</p>
<p>Cheers,<br />
Moguri</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mogurijin.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mogurijin.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mogurijin.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mogurijin.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mogurijin.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mogurijin.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mogurijin.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mogurijin.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mogurijin.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mogurijin.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mogurijin.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mogurijin.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mogurijin.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mogurijin.wordpress.com/243/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=243&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mogurijin.wordpress.com/2011/07/29/gsoc-bge-animation-status-report-week-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/54dca44cad7f81d1f016332bb24c3800?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Moguri</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC BGE Animation Status Report Week 9</title>
		<link>http://mogurijin.wordpress.com/2011/07/22/gsoc-bge-animation-status-report-week-9/</link>
		<comments>http://mogurijin.wordpress.com/2011/07/22/gsoc-bge-animation-status-report-week-9/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 22:01:47 +0000</pubDate>
		<dc:creator>Moguri</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[GSoC Report]]></category>

		<guid isPermaLink="false">http://mogurijin.wordpress.com/?p=239</guid>
		<description><![CDATA[Status report time! What did you do this week? This week I was (and still am) on vacation. This means I didn&#8217;t get a lot of GSoC done. I got external targets working for the Copy Transform constraint, and I fixed a crash with non-shape actions on objects with modifiers. I have looked into hardware [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=239&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Status report time!</p>
<p><strong>What did you do this week?</strong></p>
<p>This week I was (and still am) on vacation. This means I didn&#8217;t get a lot of GSoC done. I got external targets working for the Copy Transform constraint, and I fixed a crash with non-shape actions on objects with modifiers. I have looked into hardware skinning and, while they would most likely help, I don&#8217;t know if we want to be pushing more onto the GPU at the moment. We are currently severely under utilizing modern processors (multiple cores) since the BGE is single threaded. This also means that (when vsync is enabled) we have to wait on screen refreshes to continue running code. So, if more is done on the GPU and now we just barely miss a refresh, we have to wait until the next screen refresh. This leads to a lot of wasted time.</p>
<p><strong>What do you plan to do next week?</strong></p>
<p>I&#8217;ll be back home late on the 28th of July, which doesn&#8217;t leave me much time until the next report. However, I&#8217;ll continue to work on much the same stuff: cleaning, documenting, optimizing. I&#8217;ll talk with one of my mentors to see what to do about hardware skinning.</p>
<p><strong>Are there any problems that will require extra attention and what impact will they have on your proposed schedule?</strong></p>
<p>There are currently no problems.</p>
<p><strong>Are there any builds available?</strong></p>
<p>One of the nice things about working with others in the same branch is that there is more interest for that branch, and you can find plenty of Pepper builds on <a href="http://graphicall.org/?keywords=pepper" target="_blank">Graphicall</a>.</p>
<p>Thank you to everyone providing builds!</p>
<p>Cheers,<br />
Moguri</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mogurijin.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mogurijin.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mogurijin.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mogurijin.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mogurijin.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mogurijin.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mogurijin.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mogurijin.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mogurijin.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mogurijin.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mogurijin.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mogurijin.wordpress.com/239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mogurijin.wordpress.com/239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mogurijin.wordpress.com/239/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=239&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mogurijin.wordpress.com/2011/07/22/gsoc-bge-animation-status-report-week-9/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/54dca44cad7f81d1f016332bb24c3800?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Moguri</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC BGE Animation Status Report Week 8</title>
		<link>http://mogurijin.wordpress.com/2011/07/15/gsoc-bge-animation-status-report-week-8/</link>
		<comments>http://mogurijin.wordpress.com/2011/07/15/gsoc-bge-animation-status-report-week-8/#comments</comments>
		<pubDate>Sat, 16 Jul 2011 02:53:56 +0000</pubDate>
		<dc:creator>Moguri</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[GSoC Report]]></category>

		<guid isPermaLink="false">http://mogurijin.wordpress.com/?p=233</guid>
		<description><![CDATA[Status report time! What did you do this week? This week I worked on optimizations. I tried a few different things, but I only ended up committing one. This optimization involved moving the animation update out of the logic update and putting it in KX_KetsjiEngine::NextFrame() (which now also calls the new KX_Scene::UpdateAnimations()). This allowed me [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=233&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Status report time!</p>
<p><strong>What did you do this week?</strong></p>
<p>This week I worked on optimizations. I tried a few different things, but I only ended up committing one. This optimization involved moving the animation update out of the logic update and putting it in KX_KetsjiEngine::NextFrame() (which now also calls the new KX_Scene::UpdateAnimations()). This allowed me to have better control over how often animations were updated. From here, I only updated animations based on the animation fps setting; if animations only playback at 30fps, then there is no need to update them at 60fps. The defaults have animation playback at 30fps and the logic at 60fps. So, with this default setup, the optimization cuts time spent on animations (keyframes, interpolation, etc; not deformation) in half, which yields about a 100~150% increase in fps. To better monitor animations, I&#8217;ve added a new category to the profiler: Animations. This records the time spent in Blender&#8217;s animation system, but not the time spent in the rasterizer due to deforming the mesh. I would like to have this time recorded under animations, but there doesn&#8217;t seem to be a clean way to do this at the moment.</p>
<p>There are also a couple of things that I ultimately dropped: caching RNA lookups and threading. I had created a hash table to reduce the time spent on RNA lookups in Blender&#8217;s animation system. However, with my test with about  7 armatures with almost 70 bones a piece resulted in well over a thousand cache entries and used an additional ~20MB of RAM. I saw around a ~20% fps improvement. I didn&#8217;t think this was worth it, especially after implementing the earlier mentioned optimization. However, I may look at this some more in the future.</p>
<p>I took a look at putting the animation update in it&#8217;s own thread. However, due to timing issues, I would only be able to put the physics in parallel with the animation, which would only help some cases, and I was looking for more general speed ups. If I wasn&#8217;t as strict on timing (animations may be a frame off of rendering and other things), then threading may be more helpful.</p>
<p>I didn&#8217;t look at hardware skinning much this week since my initial profiling results showed my test scene spending half of it&#8217;s time in Blender&#8217;s animation system, so the mesh deformation wasn&#8217;t the slowest thing. In my current test scene (19 armatures each with 69 bones with and a 4751 face mesh) I get around 5ms on animation and 17ms on the rasterizer with an fps of around 45. With vsync enabled, I get into the 30ms range on the rasterizer and closer to 25fps. So, now hardware skinning might be a good idea.</p>
<p>For those interested in my test scene, you can find it <a href="http://dl.dropbox.com/u/3431679/anim_stress.blend" target="_blank">here</a>. This file works in both trunk and Pepper.</p>
<p><strong>What do you plan to do next week?</strong></p>
<p>Next week I will be on vacation (this was mentioned in my proposal). I will be gone for around a week and a half. However, I&#8217;ll have my laptop with me and I&#8217;ll try to get some work done. I&#8217;ll focus on optimizing (probably try hardware skinning) and getting things more &#8220;trunk-worthy&#8221;. This includes documentation, cleaning up code, etc.</p>
<p><strong>Are there any problems that will require extra attention and what impact will they have on your proposed schedule?</strong></p>
<p>There are currently no problems.</p>
<p><strong>Are there any builds available?</strong></p>
<p>One of the nice things about working with others in the same branch is that there is more interest for that branch, and you can find plenty of Pepper builds on <a href="http://graphicall.org/?keywords=pepper" target="_blank">Graphicall</a>.</p>
<p>Thank you to everyone providing builds!</p>
<p>Cheers,<br />
Moguri</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mogurijin.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mogurijin.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mogurijin.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mogurijin.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mogurijin.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mogurijin.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mogurijin.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mogurijin.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mogurijin.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mogurijin.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mogurijin.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mogurijin.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mogurijin.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mogurijin.wordpress.com/233/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=233&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mogurijin.wordpress.com/2011/07/15/gsoc-bge-animation-status-report-week-8/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/54dca44cad7f81d1f016332bb24c3800?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Moguri</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC BGE Animation Status Report Week 7</title>
		<link>http://mogurijin.wordpress.com/2011/07/08/gsoc-bge-animation-status-report-week-7/</link>
		<comments>http://mogurijin.wordpress.com/2011/07/08/gsoc-bge-animation-status-report-week-7/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 04:35:26 +0000</pubDate>
		<dc:creator>Moguri</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[GSoC Report]]></category>

		<guid isPermaLink="false">http://mogurijin.wordpress.com/?p=229</guid>
		<description><![CDATA[Status report time! What did you do this week? This week I cleaned up the code and added some comments. I also updated the docs to reflect the changes to KX_GameObject. I&#8217;ve added preliminary support for using layers with shape actions. Shape actions in general seem to still be a little weird with blending. I&#8217;m [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=229&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Status report time!</p>
<p><strong>What did you do this week?</strong></p>
<p>This week I cleaned up the code and added some comments. I also updated the docs to reflect the changes to KX_GameObject. I&#8217;ve added preliminary support for using layers with shape actions. Shape actions in general seem to still be a little weird with blending. I&#8217;m not entirely sure if it&#8217;s my code, or existing oddities, so I&#8217;ll need to run some more tests there. I&#8217;ve also fixed various bugs related to compatibility with older files (making sure they work the same). From what I can tell, most things are working the same, except my action actuator behaves a bit differently when it comes to pulses (my actuator only tries to play an action on a positive pulse while the old actuator kept trying to play an action from when it got a positive pulse until it got a negative pulse). I have also started a thread on <a href="http://blenderartists.org/forum/showthread.php?223564-Dev-GSoC-BGE-animations-Looking-for-testers" target="_blank">Blenderartists </a>to start getting some feedback, but I haven&#8217;t gotten a lot of responses.</p>
<p><strong>What do you plan to do next week?</strong></p>
<p>Next week I will work on optimizing animations. Animations in the BGE are fairly well known for being slow. Hopefully I can find some areas where I can speed things up. I&#8217;ll also continue to make my code more &#8220;trunk-worthy.&#8221;</p>
<p><strong>Are there any problems that will require extra attention and what impact will they have on your proposed schedule?</strong></p>
<p>There are currently no problems.</p>
<p><strong>Are there any builds available?</strong></p>
<p>One of the nice things about working with others in the same branch is that there is more interest for that branch, and you can find plenty of Pepper builds on Graphicall (Win32, Win64, Linux 32, Linux 64, and OS X 32):</p>
<p>http://graphicall.org/?keywords=pepper</p>
<p>Thank you to everyone providing builds!</p>
<p>Cheers,<br />
Moguri</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mogurijin.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mogurijin.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mogurijin.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mogurijin.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mogurijin.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mogurijin.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mogurijin.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mogurijin.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mogurijin.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mogurijin.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mogurijin.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mogurijin.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mogurijin.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mogurijin.wordpress.com/229/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mogurijin.wordpress.com&amp;blog=13546191&amp;post=229&amp;subd=mogurijin&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mogurijin.wordpress.com/2011/07/08/gsoc-bge-animation-status-report-week-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/54dca44cad7f81d1f016332bb24c3800?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Moguri</media:title>
		</media:content>
	</item>
	</channel>
</rss>
