<?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>mike&#039;s digital anthology &#187; blender</title>
	<atom:link href="http://blog.mikepan.com/tag/blender/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mikepan.com</link>
	<description>making visuals with technology</description>
	<lastBuildDate>Fri, 06 Aug 2010 17:19:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Blender Workshop</title>
		<link>http://blog.mikepan.com/blender-workshop/</link>
		<comments>http://blog.mikepan.com/blender-workshop/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 12:28:11 +0000</pubDate>
		<dc:creator>mike pan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.mikepan.com/?p=550</guid>
		<description><![CDATA[We just wrapped up a full-day Blender workshop yesterday under the blazing sun of Pisa, Italy.  The seminar went smoothly and was well received.  A total of 35 attendees showed up despite the fact that the event was announced only a week prior. In the morning, the attendees got a high level overview of what [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://picasaweb.google.it/gulp.didattica/Blender_WorkShop_Pisa_2010#"><img class="alignleft size-full wp-image-589" title="Blender workshop" src="../wp-content/uploads/flyer.jpg" alt="" width="300" height="400" /></a>We just wrapped up a full-day Blender workshop yesterday under the blazing sun of Pisa, Italy.  The seminar went smoothly and was well received.  A total of 35 attendees showed up despite the fact that the event was announced only a week prior.</p>
<p>In the morning, the attendees got a high level overview of what Blender can do, followed by a crash course on scientific visualization as applied to cellular biology and biochemistry as well as an extensive Python lesson.  In the afternoon, we moved to the computer lab and covered some of the Blender fundamentals, giving a lot of the attendees their first hands-on experience with Blender.</p>
<p>Even though this is my <a href="http://www.flickr.com/photos/mikepan/sets/72157608666551460/">third </a>time <a href="http://www.flickr.com/photos/mikepan/sets/72157615322156427/">running </a>such an event, there is still lots of rooms for improvement.  (For example, Blender 2.5&#8242;s UI was corrupt on some of the machines running older Ubuntu installations and Intel graphics chip, which made running the tutorials very challenging)</p>
<p><a href="http://picasaweb.google.it/gulp.didattica/Blender_WorkShop_Pisa_2010#">Photos of the event are on Pisaca</a>.  Special thanks to the <a href="http://www.gulp.linux.it/wiki/Pagina_principale">Pisa Linux User Group</a>, without them, this workshop would not have been possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikepan.com/blender-workshop/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Biochemical Visualization Using Blender</title>
		<link>http://blog.mikepan.com/biochemical-visualization-using-blender/</link>
		<comments>http://blog.mikepan.com/biochemical-visualization-using-blender/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 10:52:02 +0000</pubDate>
		<dc:creator>mike pan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[biology]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.mikepan.com/?p=552</guid>
		<description><![CDATA[Here at the Scientific Visualization Unit of the National Research Council in Pisa, Italy, we have been using Blender since 2008 for doing some very interesting bio-molecular visualization at the sub-cellular level.  I myself joined the team just over 3 months ago, and am eager to share some of our work with the Blender community [...]]]></description>
			<content:encoded><![CDATA[<p>Here at the Scientific Visualization Unit of the National Research Council in Pisa, Italy, we   have been using Blender since 2008 for doing some very interesting bio-molecular visualization   at the sub-cellular level.  I myself joined the team just over 3 months ago, and am eager to share   some of our work with the Blender community now that the Italian soccer team can stop embarrassing themselves in South Africa.</p>
<p>We use Blender to visualize protein motions and interactions, as well as making short   animations that show the inside of a cell in a way that had never been seen with the unaided   eye.   Because one key focus of the project is scientific accuracy, a lot of time is spent to   ensure that the visualization is not only nice-looking, but also scientifically accurate.  The   process involves using numerous third-party programs to convert the input data (atomic   coordinates of a protein) into something Blender can read.  We use Python extensively to help   facilitate data conversion between different formats.  The result is this video:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="315" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=12363247&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="560" height="315" src="http://vimeo.com/moogaloop.swf?clip_id=12363247&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>To really appreciate the video, it helps to understand the science going on behind it.  If you are a bit lost, have a look at the <a href="http://www.scivis.ifc.cnr.it/index.php/videos">explanatory note</a> associated with the video.  The video is made and rendered with Blender in 1080p HD, we also toyed with stereoscopic rendering with some very good result.  You can download the HD stereo version from the <a href="http://www.scivis.ifc.cnr.it/index.php/videos">SciVis</a> site.</p>
<p>Currently, we are working to build an interactive protein viewer inside  Blender.  Using Blender 2.5 as the platform, we built an interface that will allow biologist to load a  text description of any protein (a PDB file),   and Blender will display  the imported file in an intuitive interactive viewer. (As shown below)</p>
<p><a href="http://blog.mikepan.com/wp-content/uploads/Cal01.jpg"><img class="size-medium wp-image-505 alignnone" title="Calmodulin" src="http://blog.mikepan.com/wp-content/uploads/Cal01-560x315.jpg" alt="" width="560" height="315" /></a></p>
<p>Why Blender?  Blender is especially suitable for this task for several reasons.  Its   python support allows us to accomplish a lot of custom features in relatively very little coding.     Having a game engine and a physics engine built-in means we can use do realtime   visualization all from one software package.   Its open source nature allows us to easily modify (at least have access to)   the source code if needed.</p>
<p><a href="http://blog.mikepan.com/wp-content/uploads/mlck.jpg"><img class="alignnone size-medium wp-image-565" title="mlck mainchain" src="http://blog.mikepan.com/wp-content/uploads/mlck-560x315.jpg" alt="" width="560" height="315" /></a></p>
<p>Above is our BioBlender interface for Blender 2.5.  The protein on the right is <a href="http://en.wikipedia.org/wiki/Myosin_light-chain_kinase">MLCK</a> backbone, a 1845 residue long protein.</p>
<p>There is still a lot of work to be done.  Blender is currently having a hard time handling large proteins that contains thousands of amino acid groups, the interface turns sluggish with as the number of object increases.   Surprisingly, the game engine performance is very fast, it manages to maintain 20fps on a laptop even with a fancy ambient occlusion shader.</p>
<p><a href="http://blog.mikepan.com/wp-content/uploads/Cal1.jpg"><img class="alignnone size-medium wp-image-502" title="Cal1" src="http://blog.mikepan.com/wp-content/uploads/Cal1-560x315.jpg" alt="" width="560" height="315" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikepan.com/biochemical-visualization-using-blender/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Sintel Movie coloring test</title>
		<link>http://blog.mikepan.com/sintel-movie-coloring-test/</link>
		<comments>http://blog.mikepan.com/sintel-movie-coloring-test/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 17:34:30 +0000</pubDate>
		<dc:creator>mike pan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[photography]]></category>

		<guid isPermaLink="false">http://blog.mikepan.com/?p=530</guid>
		<description><![CDATA[Blender Institute just released a bunch of test renderings from their upcoming movie Sintel, and I couldn&#8217;t help it but try my hands on giving those wonderful images some aggressive color-grading.  I&#8217;ve included the before, after and a short justification for my choice of grading.  Criticisms welcome! The Sintel team simply isn&#8217;t doing a good [...]]]></description>
			<content:encoded><![CDATA[<p>Blender Institute just released a bunch of test renderings from their upcoming movie <a href="http://durian.blender.org/">Sintel</a>, and I couldn&#8217;t help it but try my hands on giving those wonderful images some aggressive color-grading.  I&#8217;ve included the before, after and a short justification for my choice of grading.  Criticisms welcome!</p>
<p>The Sintel team simply isn&#8217;t doing a good enough job, they are doing a GREAT job, and I  am sure color grading is a planned part of their pipeline.  I just got carried away a bit playing with these images :D</p>
<p><img class="alignnone size-full wp-image-532" title="01a_comp_000197-2" src="http://blog.mikepan.com/wp-content/uploads/01a_comp_000197-2.jpg" alt="" width="560" height="238" />Even though snow should be white, it doesn&#8217;t hurt to give it some tone to communicate the extreme coldness.  Blue works well in this case.</p>
<p><img class="alignnone size-full wp-image-531" title="01a_comp_000197" src="http://blog.mikepan.com/wp-content/uploads/01a_comp_000197.jpg" alt="" width="560" height="238" /></p>
<p><img class="alignnone size-full wp-image-540" title="05.1b_comp_000156-2" src="http://blog.mikepan.com/wp-content/uploads/05.1b_comp_000156-2.jpg" alt="" width="560" height="238" />Wow, the team is doing a great job with facial animation.  This looks like a very somber scene, so it calls for some gloomy color.  I also added a dark gradient from the top, anime style.  Split toning is used to maintain the skintone while pushing the background to a cool blue.</p>
<p><img class="alignnone size-full wp-image-539" title="05.1b_comp_000156" src="http://blog.mikepan.com/wp-content/uploads/05.1b_comp_000156.jpg" alt="" width="560" height="238" /></p>
<p><img class="alignnone size-full wp-image-534" title="02.g_comp_000106-3" src="http://blog.mikepan.com/wp-content/uploads/02.g_comp_000106-3.jpg" alt="" width="560" height="238" />I am speculating here, but I wanted to create a contrast between the safety of the warm tent and the harsh cold outside.  So things close to the fire is made warmer, things further away is pushed to a chilling blue.  The histogram is also very left-biased (dark), so I brightened up the image a bit.</p>
<p><img class="alignnone size-full wp-image-533" title="02.g_comp_000106" src="http://blog.mikepan.com/wp-content/uploads/02.g_comp_000106.jpg" alt="" width="560" height="238" /></p>
<p><img class="size-full wp-image-542 alignnone" title="08.2l_comp_000465-2" src="http://blog.mikepan.com/wp-content/uploads/08.2l_comp_000465-2.jpg" alt="" width="560" height="238" />Here, our main character isn&#8217;t emphasized enough in this (what I assume would be) high motion scene due to the similarity in color.  I added a warming filter to highlight Sintel to convey the classic warm-vs-cold, good-vs-evil, light-vs-dark concept.</p>
<p><img class="size-full wp-image-541 alignnone" title="08.2l_comp_000465" src="http://blog.mikepan.com/wp-content/uploads/08.2l_comp_000465.jpg" alt="" width="560" height="238" /></p>
<p><img class="alignnone size-full wp-image-536" title="03.1a_comp_000083-2" src="http://blog.mikepan.com/wp-content/uploads/03.1a_comp_000083-2.jpg" alt="" width="560" height="238" /> Just added some warmth to make the image look a bit more organic and less CG.</p>
<p><img class="alignnone size-full wp-image-535" title="03.1a_comp_000083" src="http://blog.mikepan.com/wp-content/uploads/03.1a_comp_000083.jpg" alt="" width="560" height="238" /></p>
<p>Everything is done in Lightroom, which is an awesome postprocessing package for photos, but the same effect can be easily achieved in Blender&#8217;s composite engine.  But seriously, Sintel is going to be amazing.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikepan.com/sintel-movie-coloring-test/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Blender 2.49 scripting: Free chapter</title>
		<link>http://blog.mikepan.com/blender-2-49-scripting-free-chapter/</link>
		<comments>http://blog.mikepan.com/blender-2-49-scripting-free-chapter/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 14:30:54 +0000</pubDate>
		<dc:creator>mike pan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blender]]></category>

		<guid isPermaLink="false">http://blog.mikepan.com/?p=526</guid>
		<description><![CDATA[The PDF file is made available from the publisher, is completely free and legal.  Download Blender 2.49 Scripting Chapter 5 now.]]></description>
			<content:encoded><![CDATA[<p>The PDF file is made available from the publisher, is completely free and legal.  <a href="/wp-content/uploads/Chapter-5-Acting-on-Frame-Changes.pdf">Download  Blender 2.49 Scripting Chapter 5 now.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikepan.com/blender-2-49-scripting-free-chapter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blender Scripting, a rant and a review.</title>
		<link>http://blog.mikepan.com/blender-scripting/</link>
		<comments>http://blog.mikepan.com/blender-scripting/#comments</comments>
		<pubDate>Mon, 24 May 2010 10:01:38 +0000</pubDate>
		<dc:creator>mike pan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blender]]></category>

		<guid isPermaLink="false">http://blog.mikepan.com/?p=508</guid>
		<description><![CDATA[I have been writing a lot of Python codes lately, and have since grown increasingly fond of the language over its minimalist approach to programming.  For the newcomers here: Python is what Blender uses for its scripting interface, with Python linked to the Blender API, one can access and modify almost anything programmatically.  This scripting [...]]]></description>
			<content:encoded><![CDATA[<p>I have been writing a lot of Python codes lately, and have since grown increasingly fond of the language over its minimalist approach to programming.  For the newcomers here: Python is what Blender uses for its scripting interface, with Python linked to the Blender API, one can access and modify almost  anything programmatically.  This scripting interface significantly extends what is possible with Blender.  Although to call Python a scripting language is perhaps a disservice to this supremely capable and elegant language.  Python&#8217;s simplicity means it can be used as a scripting language, but it also has the power to do so much more.</p>
<p>Around the Blender community, I have seen some people approach Python with certain skepticism.  (&#8220;It&#8217;s programming, it must be hard!&#8221;)  But Python is intuitive.  Writing Python code is the closest one can get to writing in an natural language.  Compare with other languages, there is no semicolons, no excessive symbols and punctuations, no long compilation process before one can test the code.  To make a program in Python is a think-type-run process.</p>
<div id="attachment_511" class="wp-caption alignleft" style="width: 321px"><a href="http://blog.mikepan.com/wp-content/uploads/book.jpg"><img class="size-full wp-image-511" title="Blender 2.49 Scripting" src="http://blog.mikepan.com/wp-content/uploads/book.jpg" alt="" width="311" height="403" /></a><p class="wp-caption-text">Blender 2.49 Scripting</p></div>
<p>Perhaps due to my recently found enthusiasm, I was given a chance to take a sneak peak at Michel Anders&#8217; upcoming  book <em><a href="http://www.amazon.com/Blender-2-49-Scripting-Michel-Anders/dp/1849510407/">Blender  2.49 scripting</a></em>.  Flipping through this ~300 page book, I realized this is exactly what I would have asked for as a beginner wanting to learn how to script in Blender.  This wonderfully comprehensive book covers everything from editing object to working with material to PyDrivers, Constraints, IPOs and shapekeys.  The only notable omission seems to be the game engine component.</p>
<p>Sure you can look at the Blender <a href="http://www.blender.org/documentation/249PythonDoc/">API documentation</a> for help, but ingredient lists does not make a cookbook.  As there still isn&#8217;t a centralized repository for Blender scripts in the Blender community,Michel managed to bridge a rather large knowledge gap with this book that is filled with useful snippet of code.</p>
<p>Python is not as fast as C, or as ubiquitous as Javascript.  But one can accomplish a task in Python at a <a href="http://codecodex.com/wiki/Quicksort">fraction </a>of the code and mental power it takes in other languages.  Which makes it an ideal language to learn as a beginner.</p>
<p><em>Blender 2.49 Scripting</em> is available from <a href="https://www.packtpub.com/blender-2-49-scripting-language/book">Packt </a>Publishing.  I eagerly awaits a second edition of the book, no   doubt slewed for Blender 2.5 and Python 3?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikepan.com/blender-scripting/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Blender vehicle physics tutorial</title>
		<link>http://blog.mikepan.com/blender-vehicle-physics-tutorial/</link>
		<comments>http://blog.mikepan.com/blender-vehicle-physics-tutorial/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 21:14:11 +0000</pubDate>
		<dc:creator>mike pan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[realtime]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.mikepan.com/?p=442</guid>
		<description><![CDATA[A long time ago I toyed with the idea of making an entire game by myself. Being a driving game, I spent a long time with the basics stuff like vehicle physics to make sure the driving part is stable, bug-free, and most importantly, fun. I never finished it. But ever since I posted the [...]]]></description>
			<content:encoded><![CDATA[<p>A long time ago I toyed with the idea of making an entire game by myself.  Being a driving game, I spent a long time with the basics stuff like vehicle physics to make sure the driving part is stable, bug-free, and most importantly, fun.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/RHBEJLlHz04&amp;hl=en_US&amp;fs=1&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/RHBEJLlHz04&amp;hl=en_US&amp;fs=1&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>I never finished it.  But ever since I posted the above video, I have been getting a lot of inquiries as to how I did the vehicle physics system in Blender.  So here is a quick guide followed by the <a href="http://dl.dropbox.com/u/1742071/Racer25.zip">sample file</a>.</p>
<p>The key to stable driving dynamics is to use the built-in <strong>PhysicsConstraints </strong>module within Blender&#8217;s game engine.  <strong>PhysicsConstraints </strong>is a python wrapper for the Bullet physics engine.  No any homemade setup I&#8217;ve seen is as good as what&#8217;s already provided by Bullet Physics.  So we&#8217;ll use that.  Because there isn&#8217;t a graphical interface for setting up the vehicle physics yet in Blender, we need to write a few lines of Python script.  The key component is the car body object, which is linked to the 4 wheels through a logic brick connection so that the script would recognize the linked objects as wheels.  (As you can see, all the actual driving logic is all happening on the car body, the wheels have no real logic brick attached).</p>
<p>The entire setup is a bit complex, since there is a mix of logic brick and python.  Take a look at the sample file if you are lost.  When one runs the game, the following happens:</p>
<p>0. World is initialized, but we don&#8217;t really care about that here.</p>
<p>1. The car body is initalized,<strong> scripts.carInit()</strong> is ran.  In this script, it initializes the car as a &#8220;vehicle constraint&#8221;, aka constraint type11, and stores it as a Python object called <em>vehicle</em>.  The same script then looks for the 4 wheel by access a gamelogic actuator with specific names (in this case, wheel1, wheel3, etc), then the script attaches the wheels to the car body using the settings specified in the script.  Variables such as RollInfluence, SuspensionStiffness, and TyreFriction can all be set on a per-tire basis once the <em>vehicle </em>object is created.  The job of carInit() is now done.  Our car body is now considered to be a vehicle by the Blender game engine, and it will behave like one.</p>
<p>2. Every frame,<strong> scr</strong><strong>ipts.carHandler()</strong> is ran.  This script does the actual moving of the car, it applies engine force and steering to the <em>vehicle </em>object.  But this script gets the user input (keyboard sensor inputs) from another source.  (See #3 below)   <em>Vehicle </em>objects have methods such as applyBreaking(), applyEngineForce(), getWheelRotation(), getNumWheels, which you can all call.</p>
<p><em><span style="font-style: normal;">3. Every time a key is pressed, <strong>script.keyHandler()</strong> is ran.  It figures out which key is pressed and set the intermediate variable so that #2 (i.e. <strong>scripts.carHandler</strong>) would know how much throttle to apply, where to steer, etc.  This script is separated from <strong>scripts.carHandler()</strong> not because of technical limitations, but by design so that it&#8217;s easier to manage the code.</span></em></p>
<p>That&#8217;s all there is to it.  If the script layout is a bit confusing, it&#8217;s because it is.  I originally intended it to be a bigger project, thus everything is separated into nice neat functions.  Again, you can <a href="http://dl.dropbox.com/u/1742071/Racer25.zip">DOWNLOAD </a>the whole setup for Blender 2.5 from here.</p>
<p>Controls:<br />
Arrow Keys to move the car<br />
Space bar for handbrake<br />
R to reset car if it flips over<br />
number row 1,2,3,4,5 to change camera</p>
<p>Hope that helped.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikepan.com/blender-vehicle-physics-tutorial/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Blender, that elusive free 3d app</title>
		<link>http://blog.mikepan.com/blender-that-elusive-free-3d-app/</link>
		<comments>http://blog.mikepan.com/blender-that-elusive-free-3d-app/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 14:35:53 +0000</pubDate>
		<dc:creator>mike pan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[me]]></category>

		<guid isPermaLink="false">http://blog.mikepan.com/?p=424</guid>
		<description><![CDATA[A while ago, I was invited to give a short talk at a small gathering of CG professionals in my hometown Vancouver, Canada. My 20-minutes presentation is suppose to be a show-and-tell that gives people an overview of Blender, a software that almost everyone in the room has heard of, but has no real experiences [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago, I was invited to give a short talk at a small gathering of CG professionals in my hometown Vancouver, Canada.  My 20-minutes presentation is suppose to be a show-and-tell that gives people an overview of Blender, a software that almost everyone in the room has heard of, but has no real experiences with.  Most people downloaded it and ran it at one point, but admitted that they didn&#8217;t invest too much time on learning it.</p>
<p>As some of you might know, Vancouver is a pretty major hub for media and film production.  It&#8217;s home to Electronic Arts, Ubisoft, Rainmaker, a whole slew of movie and TV VFX studios, and more recently, Pixar.  The ~30 attendees all had very strong industry background, except me. (To my disappointment, no attendee has worked at Emeryville)  But more importantly, it was apparent that they all consider Blender to be immature, with limited features, and see it as a toy more than a production-ready tool.</p>
<div class="wp-caption alignnone" style="width: 510px"><img title="Blender: Just a toy" src="http://farm5.static.flickr.com/4071/4299610660_d7e37c2d59.jpg" alt="" width="500" height="332" /><p class="wp-caption-text">Blender: Just a toy</p></div>
<p>To be fair, this view on Blender is not surprising to me.  But I was surprised by the overwhelming positive response after the talk, people were impressed with what Blender can do, they did not seem to expect a free software to be able to do so much, so fast.  I demoed with a pre-release Blender 2.5, showcasing sculpting, compositing, rendering, the game engine, as well as some of my previous work.  People were positively surprised to see what Blender can do, and few perhaps would even start to see Blender as an alternative to Autodesk&#8217;s offerings.  Of course, no one in their right mind would change the production pipeline overnight from Maya/Max to Blender, but establishing Blender as more than a toy in the industry is good enough for now.</p>
<div class="wp-caption alignnone" style="width: 510px"><a href="http://www.flickr.com/photos/martianmermaid/4141818542/"><img title="oooooooooo" src="http://farm3.static.flickr.com/2681/4141818542_3abaf6a8a3.jpg" alt="" width="500" height="500" /></a><p class="wp-caption-text">oooooooooo</p></div>
<p>What I realized from this presentation, and the point of this post,  is that if we want to get more people to use try out Blender, we need to show them what it can do.  Listing features, talking about code refactoring, or focusing on the open source advantages, is not going to sell the product.  We need to inspire.  Let&#8217;s show people what Blender is capable of through artwork and video demostrations.</p>
<p>Show.  Don&#8217;t tell.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikepan.com/blender-that-elusive-free-3d-app/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Making of a Blender car</title>
		<link>http://blog.mikepan.com/the-making-of/</link>
		<comments>http://blog.mikepan.com/the-making-of/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 07:57:22 +0000</pubDate>
		<dc:creator>mike pan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[car]]></category>

		<guid isPermaLink="false">http://blog.mikepan.com/?p=394</guid>
		<description><![CDATA[Wow, a project I actually finished! Since I started working on this car project, I&#8217;ve been getting a lot of positive feedback which really helped me move the project forward. It&#8217;s only fair that I return the favor and share a bit of what I learned here. (The full scene file including model, lighting, material [...]]]></description>
			<content:encoded><![CDATA[<p>Wow, a project I actually finished!</p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/-Yp7II3XjW0&#038;hl=en_US&#038;fs=1&#038;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-Yp7II3XjW0&#038;hl=en_US&#038;fs=1&#038;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>Since I started working on this car project, I&#8217;ve been getting a lot of positive feedback which really helped me move the project forward. It&#8217;s only fair that I return the favor and share a bit of what I learned here.  (The full scene file including model, lighting, material and texture is available at my <a href="http://mikepan.com/files.php">site</a>)</p>
<p>The entire scene is rendered with the internal renderer in Blender 2.5.  As an artist, I want precise control over each elements of the scene, and the internal renderer allows me to iterate through test renders extremely rapidly to get the look I wanted.  A photon-tracer like LuxRender would be too slow for me, with little extra return in image quality in my opinion.</p>
<p>Supposedly, like eyes to a human, car headlights defines the character of a car.  There is really no shortcut to making a sparkly looking headlight, I just modeled everything as geometry and applied a lot of reflection/refraction to the material.  As long as the geometry is there, all the cool effects happen automatically once you hit render.  i also placed a lamp at where the light should be, to throw in a bit of extra lumen.</p>
<p><a href="http://blog.mikepan.com/wp-content/uploads/Untitled-11.jpg"><img class="alignnone size-medium wp-image-398" title="Untitled-1" src="http://blog.mikepan.com/wp-content/uploads/Untitled-11-500x312.jpg" alt="" width="500" height="312" /></a><br />
A lot of that &#8216;cinematic&#8217; look is due to post-production color correction.  Here you can see my postprocessing nodes setup.</p>
<p><a href="http://blog.mikepan.com/wp-content/uploads/Untitled-21.jpg"><img class="alignnone size-medium wp-image-399" title="Blender compositing" src="http://blog.mikepan.com/wp-content/uploads/Untitled-21-500x283.jpg" alt="" width="500" height="283" /></a></p>
<p>For the animation, I rendered out the entire video at 1280&#215;720, as PNGs.  Because PNG is only 24bit, extra dynamic range is lost, which made all the post-processing and cross-fading look half-assed.  Next time I&#8217;ll definitely render to floating-point EXR formats, which should help when I start applying more aggressive processings.  I also realized that a single computer is NEVER fast enough;  The 40 second clip would have taken 83 days to render on a single core, but with the help of 24 cores spanning across 4 PCs, I managed to push out the video in less than 4 days.  <a href="https://www.dropbox.com/">Dropbox </a>made file synchronization embarrassingly simple.</p>
<p>A lot of the technical issues with the video (bad driving dynamics; black pixels; flickering) only cropped up last minute in the final rendering, at which point I am just too annoyed to re-render it.  So hopefully I&#8217;ll fix these distractions later and release a better version soon.</p>
<p>That&#8217;s it for now.  Hope you like what I have so far.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikepan.com/the-making-of/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>The best Blender 2.5 learning resource</title>
		<link>http://blog.mikepan.com/the-best-blender-2-5-learning-resource/</link>
		<comments>http://blog.mikepan.com/the-best-blender-2-5-learning-resource/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 01:50:32 +0000</pubDate>
		<dc:creator>mike pan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blender]]></category>

		<guid isPermaLink="false">http://blog.mikepan.com/?p=372</guid>
		<description><![CDATA[Michael Fox&#8217;s series of Blender 2.5 walk through is definitely one of the most valuable video tutorials I&#8217;ve seen in a long time.  He made a total of more than 10 hours of video, explaining each features of Blender 2.5 in awesome detail.  Seriously, go check it out, you&#8217;ll learn so much in so little [...]]]></description>
			<content:encoded><![CDATA[<p>Michael Fox&#8217;s series of <a href="http://blenderlabrat.blogspot.com/">Blender 2.5 walk through</a> is definitely one of the most valuable video tutorials I&#8217;ve seen in a long time.  He made a total of more than 10 hours of video, explaining each features of Blender 2.5 in awesome detail.  Seriously, go check it out, you&#8217;ll learn so much in so little time.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikepan.com/the-best-blender-2-5-learning-resource/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>OceanViz: A realtime Blender underwater visualization</title>
		<link>http://blog.mikepan.com/oceanviz-realtime-blender-underwater-visualization/</link>
		<comments>http://blog.mikepan.com/oceanviz-realtime-blender-underwater-visualization/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 06:15:13 +0000</pubDate>
		<dc:creator>mike pan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[realtime]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.mikepan.com/?p=348</guid>
		<description><![CDATA[I had been lucky enough to be a part of a very cool project taking place at the Fisheries Centre at the University of British Columbia.  In a nut shell, we are trying to create a 3D underwater visualization using the Blender Game Engine to display scientific data in a more pleasing way.  Basically translating [...]]]></description>
			<content:encoded><![CDATA[<p>I had been lucky enough to be a part of a very cool project taking place at the Fisheries Centre at the University of British Columbia.  In a nut shell, we are trying to create a 3D underwater visualization using the Blender Game Engine to display scientific data in a more pleasing way.  Basically translating a stream of mind-numbing data:</p>
<p><img class="alignnone size-full wp-image-350" title="Excel CSV" src="http://blog.mikepan.com/wp-content/uploads/a.png" alt="" width="500" height="394" /></p>
<p>into something prettier:</p>
<p><img class="alignnone size-full wp-image-351" title="Blender Ocean View" src="http://blog.mikepan.com/wp-content/uploads/b.jpg" alt="" width="500" height="292" /></p>
<p>The visualization data is coming from <a href="http://www.ecopath.org/">EwE6</a>, a well-respected ecosystem modeling software.  Blender uses inputs such as biomass, water turbidity and light level to create a realtime visualization that allows the user to &#8216;swim&#8217; around in the ocean, watch the schools of fish interact, and see their population change over time.</p>
<p>To accomplish all this, the project consists of 3 layers:</p>
<p><img class="alignnone size-full wp-image-354" title="Architectural overview" src="http://blog.mikepan.com/wp-content/uploads/c.png" alt="" width="500" height="313" /></p>
<p>The server core does all the heavy computation while the visualization layer does all the graphics, AI, as well as user interaction.  To facilitate the communication across these two separate processes, a third layer (called the GameClient) is created, providing the bridge.</p>
<p>Being a Blender artist, my main focus is on the visualization layer: the Blender Game Engine.  In the following few posts, I will outline the process in creating this application, and describe some of the issues we faced.  Please leave a comment if you are interested, it will motivate me to write more :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mikepan.com/oceanviz-realtime-blender-underwater-visualization/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
