<?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>Mobile Perspectives &#187; Blender</title>
	<atom:link href="http://www.BluMtnWerx.com/blog/tag/blender/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.BluMtnWerx.com/blog</link>
	<description>Computing at the Edge!</description>
	<lastBuildDate>Fri, 19 Aug 2011 00:29:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Creating Sprites:&#160;  SketchUp vs. Blender</title>
		<link>http://www.BluMtnWerx.com/blog/2009/08/creating-sprites-sketchup-vs-blender/</link>
		<comments>http://www.BluMtnWerx.com/blog/2009/08/creating-sprites-sketchup-vs-blender/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 00:53:57 +0000</pubDate>
		<dc:creator>deans</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[SketchUp]]></category>

		<guid isPermaLink="false">http://www.BluMtnWerx.com/blog/?p=272</guid>
		<description><![CDATA[I don't question Blender's dominance for creating 3D models, but SketchUp might be good enough for creating 3D scenes that can be rendered to 2D images.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.blumtnwerx.com/iPunt.html" title="iPunt Rendering of Attack Helicopter, from a Blender Model"><img style="vertical-align:middle; float: right; margin: 2.2em; width: 280px;" src="http://www.blumtnwerx.com/images/iPuntScreen1.png" title="iPunt Rendering of Attack Helicopter, from a Blender Model" alt="iPunt Attack Helicopter image"/></a>Given the ongoing popularity of <a href="http://www.blumtnwerx.com/BMWTeam.html#Paul" title="Paul Stoaks, BluMtnWerx">Paul</a>&#8216;s posts on Blender (<em><a href="http://www.blumtnwerx.com/blog/2009/03/blender-to-pod-for-oolong/" title="Mobile Perspectives:  Blender to POD for Oolong">here</a> and <a href="http://www.blumtnwerx.com/blog/2009/06/opengl-es-texture-mapping-for-iphone-oolong-powervr/" title="Mobile Perspectives:  OpenGL-ES Texture Mapping for iPhone / Oolong / PowerVR">here</a></em>), it seems clear that <a href="http://www.blender.org/" title="Blender website" target="_blank">Blender</a> is the &#8220;big dog&#8221; of 3D model creation.&nbsp;  Skilled virtuosos can certainly create <a href="http://www.blender.org/features-gallery/gallery/art-gallery/" title="Blender Art Gallery" target="_blank">beautiful images</a>, as well as models that provide the visual foundation for app development.&nbsp;  I&#8217;m sure that Blender artists are worth their weight in gold.&nbsp;  But what about the rest of us?&nbsp;  To say that Blender&#8217;s learning curve is &#8220;steep&#8221; is the understatement of the decade.&nbsp;  Paul, who is much smarter than me, was willing to make the investment in learning the tool, and he&#8217;s created some fabulous 3D models, and images, for our apps.</p>
<p>Both of these images show iPunt&#8217;s renderings  of models that were originally created in Blender.&nbsp;  Not to give Paul too many strokes, but they are really good, and they clearly show what can be done with the tool.&nbsp;  In the spirit of full disclosure, I had to ask Paul to create the graphics for <a href="http://www.blumtnwerx.com/iPuck.html" title="iPuck page">iPuck</a>. </p>
<p>I sincerely tried to learn Blender, but<a href="http://www.blumtnwerx.com/iPunt.html" title="iPunt Rendering of Hot Air Balloon, from a Blender Model"><img style="vertical-align:middle; float: left; margin: 2.2em; width: 280px;" src="http://www.blumtnwerx.com/images/iPuntScreen2.png" title="iPunt Rendering of Hot Air Balloon from a Blender Model" alt="iPunt Hot Air Balloon image"/></a> I quickly began to fear that I was going to devote more time to just getting the basics down than I was going to allocate to writing the code for my next app.&nbsp;  This unhappy situation got me to wondering whether there might be some other solution that was good enough for code monkeys like me.&nbsp;  After all, I just needed a handful of 2D renderings from 3D models.&nbsp;  Since we&#8217;re not yet an App Store success story, cost is a big issue, and &#8220;free&#8221; is pretty much the only acceptable price.</p>
<p>With these requirements in mind, I decided to take another look at Google&#8217;s <a href="http://sketchup.google.com/" title="SketchUp webpage" target="_blank">SketchUp</a>.&nbsp;  If you need to build 3D models that can be exported so that your app can manipulate and view them from all angles (as does <a href="http://www.blumtnwerx.com/iPunt.html" title="iPunt page">iPunt</a>), the free version of SketchUp won&#8217;t work for you.&nbsp;  Instead, you will need to fork over US$495. to Google for the &#8220;<a href="http://sketchup.google.com/product/whygopro.html" title="Google SketchUP / SketchUp Pro Comparison">Pro</a>&#8221; version.&nbsp;  SketchUp Pro includes 3D model import &amp; export, more collaboration support and other high end features.&nbsp;  On the other hand, if you just need 2D renderings from 3D images (like iPuck), SketchUp may very well be the ticket.</p>
<p>Boiled down, unless you&#8217;re a renaissance man, like Paul, here are some of the reasons to consider giving SketchUp a shot:  <em>(The next two images were rendered from SketchUp models)</em></p>
<ul>
<li>It&#8217;s free (well, not the &#8220;Pro&#8221; version).</li>
<li>It has native apps, with intuitive UI&#8217;s, on both Win and Mac.&nbsp;  I<img style="vertical-align:middle; float: right; margin: 1.2em; width: 120px;" src="http://www.blumtnwerx.com/blog/wp-content/sketchupsprite.png" title="Sprite for New App" alt="Sprite Image for New App"/> use SketchUp regularly on both platforms.</li>
<li>Learning the basics is truly a snap.&nbsp;  There are excellent video tutorials, comprehensive web-based documentation, and you can always use Google to search for answers.&nbsp;  I was able to start working with a sphere in just a few minutes and to create a passable rendering almost immediately.&nbsp;  The same could not be said for my efforts with Blender.</li>
<li>Even a code monkey with my pathologically limited art skills, was able to create &#8220;good enough&#8221; images with just a few tens of minutes in SketchUp.</li>
</ul>
<p>I&#8217;ll keep struggling to learn Blender, but, in the meantime, SketchUp seems to be &#8220;good enough.&#8221;<img style="vertical-align:middle; float: center; margin: 2.0em; width: 500px;" src="http://www.blumtnwerx.com/blog/wp-content/sketchupappicon.png" title="Image for New App" alt="New App image"/></p>
<p>&nbsp;  </p>
<hr .../>
Technorati Tags:&nbsp; <a href="http://technorati.com/tag/iPhone" rel="tag">iPhone</a>, <a href="http://technorati.com/tag/iPod+Touch" rel="tag">iPod Touch</a>, <a href="http://technorati.com/tag/SketchUp" rel="tag">SketchUp</a>, <a href="http://technorati.com/tag/Blender" rel="tag">Blender</a>, <a href="http://technorati.com/tag/Apple" rel="tag">Apple</a>, <a href="http://technorati.com/tag/iPuck" rel="tag">iPuck</a>, <a href="http://technorati.com/tag/iPunt" rel="tag">iPunt</a>, <a href="http://technorati.com/tag/mobile" rel="tag">mobile</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.BluMtnWerx.com/blog/2009/08/creating-sprites-sketchup-vs-blender/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Blender to POD for Oolong</title>
		<link>http://www.BluMtnWerx.com/blog/2009/03/blender-to-pod-for-oolong/</link>
		<comments>http://www.BluMtnWerx.com/blog/2009/03/blender-to-pod-for-oolong/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 17:21:23 +0000</pubDate>
		<dc:creator>paul</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[Blender]]></category>
		<category><![CDATA[Oolong]]></category>
		<category><![CDATA[OpenGL-ES]]></category>
		<category><![CDATA[PowerVR]]></category>

		<guid isPermaLink="false">http://www.BluMtnWerx.com/blog/?p=38</guid>
		<description><![CDATA[For those of you who, like me, are just getting started developing with OpenGL-ES for the iPhone, one of the challenges is building some meshes to work with.  This post gives some pointers on using the open source Blender tool for your 3D modeling.]]></description>
			<content:encoded><![CDATA[<p>For those of you who, like me, are just getting started developing with OpenGL-ES for the iPhone, one of the challenges is building some meshes to work with.  If you don&#8217;t have lots of money to spend on the real &quot;pro&quot; tools, you&#8217;ll want to check out <a title="Link to Blender web site." href="http://www.blender.org/" target="_blank" title="Link to Blender web site.">Blender</a> (<a title="Link to Blender web site." href="http://www.blender.org/" target="_blank" title="Link to Blender web site.">http://www.blender.org</a> ).  Blender is a feature-rich, but somewhat hard to learn, open-source 3D modeling and animation environment.  It even has integrated physics simulation and scripting.  To get up to speed on Blender, I highly recommend the <a title="Link to Wikibooks web site." href="http://www.wikibooks.org/" target="_blank" title="Link to Wikibooks web site.">Wikibooks</a> tutorial <a title="Link to Blender tutorial." href="http://en.wikibooks.org/wiki/Blender_3D/Noob_to_Pro" target="_blank" title="Link to Blender tutorial.">Blender 3D: Noob to Pro</a> .  Once you face the Blender GUI for the first time, you&#8217;ll be very thankful for this grand effort at a tutorial!</p>
<p>Before I go on, I need to state that I&#8217;m a real noob myself and my needs at this point only include the creation of some meshes that I&#8217;m going to import into my application and then manage entirely there.  I haven&#8217;t yet had a need or chance to try out boned meshes or any of the animation features.  That being said, here are a few guidelines for developing your meshes in Blender with the intenion of importing them into an <a title="Link to Oolong web site." href="http://oolongengine.com/" target="_blank" title="Link to Oolong web site.">Oolong</a> (<a title="Link to PowerVR SDK web site." href="http://www.imgtec.com/powervr/insider/powervr-sdk.asp" target="_blank" title="Link to PowerVR SDK web site.">PowerVR</a> ) application as POD files.</p>
<ul>
<li>Go ahead and create your meshes in Blender, but recognize that rendering is going to be performed in your application, so don&#8217;t spend a lot of time trying to get it to look &quot;just right&quot; in the Blender renderer.</li>
<li>You can set up initial light and camera locations in Blender.  These are imported in the POD file.</li>
<li>Create and apply your materials in Blender.  Materials will be imported in the POD file (although I can&#8217;t find the Emission component yet.)</li>
<li>Note that meshes with different materials on different faces will be split up into multiple meshes (with a single parent mesh.)  For instance, a cube with a different material on each face will be split up into 6 different meshes, one for each face.  Each of these &quot;child&quot; meshes will have a pointer to the parent node.  More on how to deal with this in Oolong later.</li>
<li>Right now, I&#8217;m applying textures to textured surfaces as place-holders only.  This ensures that the UV coordinates are included in the interleaved vertex data.  In Oolong, textures are imported from PVR files, and I haven&#8217;t yet figured out a path from Blender texture to PVR.  If you can help out with this, please chime in!  The result is that you will have to figure out the right texture settings through experimentation.</li>
</ul>
<p>Once you have your meshes built, you&#8217;ll want to do the export/import dance to get to POD.  Right now, it appears that the best path is from Blender to Collada 1.4 (via the Blender Export menu) then from Collada to POD via the PowerVR Collada2POD tool.  (Collada2POD is in the utilities folder of the PowerVR SDK distribution.)  Sorry, I couldn&#8217;t find a Mac OS-X version of the SDK, so I have to use a Windows PC for this step.  Here are the settings I&#8217;ve come up with for the export and import.</p>
<h2>Export to Collada 1.4 Settings</h2>
<ul>
<li>Set the geometry type to triangles.</li>
<li>Don&#8217;t set anything else.  I tried messing with the &quot;UV Image Materials&quot; but didn&#8217;t find that useful.</li>
</ul>
<p>That&#8217;s all.</p>
<h2>Collada2POD Settings</h2>
<ul>
<li>Under geometry options select (not all of these may be required, I didn&#8217;t experiment with dropping any out.):
<ul>
<li>Normals</li>
<li>Vertex Colors</li>
<li>Mapping Channels</li>
<li>Flip V</li>
<li>Interleave Vectors</li>
</ul>
</li>
<li>PowerVR documentation recommends sorted, indexed, triangle strips for performance, so I turned on
<ul>
<li>Sort vertices with PVRTTriStrip</li>
<li>Indexed Triangle List</li>
</ul>
</li>
<li>I haven&#8217;t selected anything special in the Vertex vector formats.</li>
<li>The resulting POD file can be automatically opened in PVR Shaman for examination by simply setting up the path on the Post-Export tab.</li>
</ul>
<p>I used the Shadowing example as the template for how to load POD and PVR texture files.  Here are a few notes on what I&#8217;ve discovered:</p>
<ul>
<li>A &quot;SPODNode&quot; is created for each instance of a mesh, the camera and light, and each parent node (for composite meshes.)  The Node has a link to it&#8217;s defining mesh, a transform, and a link to it&#8217;s SPODMaterial.</li>
<li>A &quot;SPODMesh&quot; is created for each mesh and contains the interleaved, indexed, vertex data.</li>
<li>You can draw the children of  &quot;composite&quot; nodes ad-hoc if you like, because the GetWorldMatrix( ) methods automatically multiply by the parent&#8217;s transform matrix.  However, if you&#8217;re doing physics, you&#8217;ll want to treat them as a unit (a single btCollisionShape for the composite node.)</li>
<li>As mentioned before the Emission component of materials doesn&#8217;t come through, so I&#8217;m having handle that manually in my application.</li>
<li>Again, I haven&#8217;t figured out how to get textures directly from Blender to PVR.  I&#8217;m handling them separately.  Create your texture externally, use it in Blender and convert it to PVR for use in your application and fiddle to get things right.  (If you&#8217;ve got a better way, please tell us noobs about it!)</li>
<li>April 24, 2009 &#8212; Discovered that if you have a material assigned to an object, and you have also assigned materials to faces, but the material assigned to the object is not used on any of the faces, the Collada exporter will crash.  Make sure that all materials assigned to an object in blender are actually used.  Delete any that are unused before attempting to export.</li>
</ul>
<p>Note that there has been some recent discussion of this same topic on the Oolong mailing list, so I really recommend getting hooked up to that.  In particular, there is someone there working on a direct Blender reader (into the ModelPOD structures), and mention of a blender reader in the Bullet physics toolkit.  So, there may be more direct methods of using your Blender models in Oolong soon.</p>
<p>I&#8217;d really like to thank Wolfgang Engel, the PowerVR folks, the Bullet Physics team, and the rest of the Oolong contributors.  My early efforts are showing excellent performance on the device and I&#8217;m having a blast with the programming.  I don&#8217;t know where things are headed next for Oolong, but it can only get better!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.BluMtnWerx.com/blog/2009/03/blender-to-pod-for-oolong/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

