<?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>*drawlogic &#187; ACTIONSCRIPT3</title>
	<atom:link href="http://drawlogic.com/category/actionscript3/feed/" rel="self" type="application/rss+xml" />
	<link>http://drawlogic.com</link>
	<description>interactive and game development technologies for the web - flash, flex, unity3d, silverlight, javascript</description>
	<lastBuildDate>Tue, 09 Mar 2010 18:39:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ASBlender &#8211; Library to Use Blender Files Directly in Flash</title>
		<link>http://drawlogic.com/2010/01/27/asblender-library-to-use-blender-files-directly-in-flash/</link>
		<comments>http://drawlogic.com/2010/01/27/asblender-library-to-use-blender-files-directly-in-flash/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 21:30:39 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[3d]]></category>
		<category><![CDATA[ACTIONSCRIPT]]></category>
		<category><![CDATA[ACTIONSCRIPT3]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[as]]></category>
		<category><![CDATA[asblender]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[FLASH]]></category>
		<category><![CDATA[parser]]></category>

		<guid isPermaLink="false">http://drawlogic.com/?p=725</guid>
		<description><![CDATA[Tim Knip, a papervision core developer, has brought a pipeline improvement for users of Blender to import blender files directly into papervision and as3. This allows you to get at the blender objects, or blender DNA as it is called, that construct the 3d scene within Blender.
Unity3D has a great workflow that includes this where [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/timknip" target="_blank"><strong>Tim Knip</strong></a><strong>, a papervision core developer, has brought a pipeline improvement for users of Blender to<a href="http://wiki.github.com/timknip/asblender/" target="_blank"> import blender files directly into papervision and as3</a></strong><strong>.</strong> This allows you to get at the blender objects, or blender DNA as it is called, that construct the 3d scene within <a href="http://www.blender.org/" target="_blank">Blender</a>.</p>
<p>Unity3D has a great workflow that includes this where you can update your .blend file and then it updates in the Unity IDE, this work by Tim creates a similar workflow for Flash (recompile would be needed to show if embedded).</p>
<p>Typically exporters are made from the 3d IDE SDKs such as Blender using Python to export to COLLADA or other formats.  But here Tim is parsing the source file directly.  This also opens up the possibility to make other exporters from more simplified Flash AS3 code rather than learning a new IDE SDK just for an exporter.<a href="http://wiki.github.com/timknip/asblender/" target="_blank"><img class="alignnone" title="ASBlender" src="http://i81.photobucket.com/albums/j223/drawkbox/Picture-9-600x331.png" alt="" width="600" height="331" /></a></p>
<p>I am not sure how much people want to embed .blend files with their applications as there is more information in the .blend file for the Blender app and it will add to the download.  But what this might do it inspire others to create simplified exporters from Tim&#8217;s work for Blender to COLLADA, 3ds and more that work well with papervision and flash 3d engines, directly in Flash.  So instead of learning each IDE to build an exporter that is the same, this solution could act as a proxy or middle man to<strong> simplify exporter creation, pretty much any Flash coder that understands 3d could build one from .blend files at a minimum</strong>.  If it was made as a higher level abstraction so the 3d software source could be swapped out it may open up simplified exporter tools a bit.  Since it is really just reading the binary data in the file, in theory other formats could do the same (3dsmax, Maya, Milkshape, etc).</p>
<p>There is a whole host of opportunities with this new tool! It is definitely nice to have this as I use Blender for Flash 3D and Unity 3D most often.  It will be interesting to see how this evolves.</p>
<p><strong>Note from Tim on the tool:</strong></p>
<blockquote><p>I created a library to read Blender files (.blend) directly. So no<br />
more headaches with broken exporters!</p>
<p><strong>Grab the code here:</strong><br />
<a href="http://github.com/timknip/asblender/tree/papervision3d" target="_blank">http://github.com/timknip/asblender/tree/papervision3d</a></p>
<p><strong>Here&#8217;s a first example:</strong><br />
<a href="https://dl.dropbox.com/u/438592/blender/PapervisionTest.swf" target="_blank">https://dl.dropbox.com/u/438592/blender/PapervisionTest.swf</a></p>
<p><strong>And its code:</strong><br />
<a href="http://github.com/timknip/asblender/blob/papervision3d/src/PapervisionTest.as" target="_blank">http://github.com/timknip/asblender/blob/papervision3d/src/PapervisionTest.as</a></p>
<p>ASBlender is simply a library which reads *everything* in a .blend file. So in theory you could grab materials, animations, armatures, the works&#8230; But its up to *you* to grab the relevant bits, since *all* the data is accessible.</p>
<p>Of course: this means you need to study the .blend format, see<br />
<a href="http://wiki.github.com/timknip/asblender/" target="_blank">http://wiki.github.com/timknip/asblender/</a> for more information.</p></blockquote>
<p><strong>Sample Code Snippet posted by Tim:</strong></p>
<pre lang="javascript">[Embed (source="/assets/crystal_cube.blend", mimeType="application/octet-stream")]
public var BlenderData:Class;

var blend:BlendFile = new BlendFile();

blend.read(new BlenderData());

if (blend.scenes.length) {
    // Blender can have multiple scenes, don't know yet how to grab the "active" scene.
  buildScene(blend.scenes[0]);
}

/**
 * Prints out the DNA as contained in the .blend
 */
private function printDNA(blend:BlendFile):void {
  var struct:DNAStruct;
  var field:DNAField;

  for each (struct in blend.dna.structs) {
    var type:String = blend.dna.types[ struct.type ];

    trace(type);

    for each (field in struct.fields) {
      trace(field.type + " " + field.name);
    }
  }
}

private function buildScene(scene:Object):void {

  var obj:Object = scene.base.first;

  while (obj) {
    // grab the Blender Object.
    // The Blender Object defines rotation, scale, translation etc.
    var object:Object = obj.object; 

    trace("Object name: " + object.id.name + " type: " + object.type + " matrix: " + object.obmat);

    //for (var key:String in object) {
    //  trace(key);
    //}

    if (object.data) {
      switch (object.type) {
        case 1:  // Mesh
          trace (" - Mesh: " + object.data.id.name);
          buildMesh(object.data);
          break;
        case 10: // Lamp
          trace (" - Lamp: " + object.data.id.name);
          break;
        case 11: // Camera
          trace (" - Camera: " + object.data.id.name);
          break;
        default:
          break;
      }
    }

    obj = obj.next;
  }
}

private function buildMesh(mesh:Object):void {
  var numVertices:int = mesh.totvert;
  var numFaces:int = mesh.totface;
  var i:int;

  trace(" - #verts : " + numVertices);

  for (i = 0; i < numVertices; i++) {
    var v:Object = mesh.mvert[i];

    var x:Number = v.co[0];
    var y:Number = v.co[1];
    var z:Number = v.co[2];

    trace(" - - vertex: " + x + " " + y + " " + z);
  }

  trace(" - #faces : " + numFaces);

  for (i = 0; i < numFaces; i++) {
    var f:Object = mesh.mface[i];

    var v1:int = f.v1;
    var v2:int = f.v2;
    var v3:int = f.v3;
    var v4:int = f.v4;

    trace(" - indices: " + v1 + " " + v2 + " " + v3 + " " + v4);

    if (mesh.mtface) {
      // UV coords are defined
      var tf:Object = mesh.mtface[i];

      trace(" - - - uv: " + tf.uv);
    }
  }
}</pre>
<ul>
<li><a href="http://github.com/timknip/asblender/" target="_blank">github repo for ASBlender</a></li>
<li><a href="http://techblog.floorplanner.com/2010/01/25/introducing-asblender/" target="_blank">Blog post about it by Tim</a></li>
<li><a href="http://github.com/timknip/js3ds" target="_blank">Another great tool, .3ds js parser also released by Tim</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://drawlogic.com/2010/01/27/asblender-library-to-use-blender-files-directly-in-flash/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash CS5 Will Compile Native iPhone and Touch Games and Applications Coded in AS3</title>
		<link>http://drawlogic.com/2009/10/05/flash-cs5-will-compile-native-iphone-and-touch-applications-coded-in-as3/</link>
		<comments>http://drawlogic.com/2009/10/05/flash-cs5-will-compile-native-iphone-and-touch-applications-coded-in-as3/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 19:51:28 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[ACTIONSCRIPT]]></category>
		<category><![CDATA[ACTIONSCRIPT3]]></category>
		<category><![CDATA[ADOBE]]></category>
		<category><![CDATA[APPLICATIONS]]></category>
		<category><![CDATA[ARCHITECT]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[compile]]></category>
		<category><![CDATA[cross]]></category>
		<category><![CDATA[cs5]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[FLASH]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[llvm]]></category>
		<category><![CDATA[monotouch]]></category>
		<category><![CDATA[touch]]></category>
		<category><![CDATA[xnatouch]]></category>

		<guid isPermaLink="false">http://drawlogic.com/?p=657</guid>
		<description><![CDATA[Well good news for Flash developers, Flash CS5 will finally compile to native iPhone and Touch Applications. This is great news for many developers out there who have stuck with the Flash platform.  I am sure there will still be limitations to what you can do with Flash on the iPhone and it will probably [...]]]></description>
			<content:encoded><![CDATA[<p>Well good news for Flash developers, <a href="http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/" target="_blank">Flash CS5 will finally compile to native iPhone and Touch Applications.</a> This is great news for many developers out there who have stuck with the Flash platform.  I am sure there will still be limitations to what you can do with Flash on the iPhone and it will probably be mostly 2D games and apps but this is a great start to getting the Flash platform truly mobile and up to the rest of the industry.</p>
<blockquote><p>Flash Professional CS5 will enable you to build applications for iPhone and iPod touch using ActionScript 3. These applications can be delivered to iPhone and iPod touch users through the Apple App Store.*</p>
<p>A public beta of Flash Professional CS5 with prerelease support for building applications for iPhone is planned for later this year. <a href="http://www.adobe.com/go/flashprobetanotify">Sign up to be notified when the beta starts</a>.</p></blockquote>
<p>I have been questioning why they have not moved to this model before<a href="http://drawlogic.com/2009/06/19/haxe-on-the-iphone-with-hxcpp-flash-9-api-to-c-for-mobile/" target="_blank"> </a>when others are doing so such as <a href="http://drawlogic.com/2009/06/19/haxe-on-the-iphone-with-hxcpp-flash-9-api-to-c-for-mobile/" target="_blank">haXe</a>, Unity3D and MonoTouch.  Getting Flash on the web browsers on a mobile is hard because Flash is pretty CPU intensive on embedded devices which is really where computers were in the late 90&#8217;s and close to 400-600 MHz processors.  Today these machines wouldn&#8217;t be able to run Flash very well and that is the same effect you get on a mobile phone.  But cross-compiling to native, similar to how <a href="http://unity3d.com/unity/whats-new/iphone-1.5" target="_blank">Unity 3D</a> does it or other solutions like <a href="http://monotouch.net/" target="_blank">MonoTouch</a> and <a href="http://xnatouch.codeplex.com/" target="_blank">XNATouch</a>, this is the best solution until mobile/embedded devices have 1GHz processors and more than 500MB of memory. <a href="http://www.adobe.com/devnet/logged_in/abansod_iphone.html" target="_blank">Adobe is using LLVM</a>, much like the Alchemy model, to achieve getting AS3 content onto an iPhone/Touch with AOT or Ahead of Time compilation rather than JIT compilation.</p>
<blockquote><p>So how do you build an application for the iPhone? It&#8217;s 		  simple, really. The forthcoming beta of <a href="http://labs.adobe.com/technologies/flashcs5/" target="_blank">Adobe Flash Professional CS5</a> incorporates the ability to create an iPhone application. You have access to nearly all the AIR 2.0 and Flash Player 10.1 APIs. For example, you can use APIs such as RTMP, Remote Shared Objects, and AMF as well as AIR APIs like SQLite and filesystem access. For more information see the <a href="http://labs.adobe.com/wiki/index.php/Applications_for_iPhone:Developer_FAQ" target="_blank">developer FAQ</a> on Adobe Labs.</p></blockquote>
<p>I am glad to see Adobe finally moving on mobile platforms beyond Flashlite.  Flashlite is a poor solution in most cases on embedded devices because they really need native apps to perform, again due to the hardware limitations and it is a whole new platform to learn. Adobe is doing the hard work to make it easy to get developers content on the new embedded devices that are storming the world such as the iPhone and Touch.</p>
<ul>
<li><a href="http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/" target="_blank">Info on the CS5 Beta</a></li>
<li><a href="https://www.adobe.com/cfusion/mmform/index.cfm?name=fpcs5_notify" target="_blank">Sign up for the beta of CS5</a></li>
<li><a href="http://labs.adobe.com/wiki/index.php/Applications_for_iPhone" target="_blank">FAQ on Flash iPhone Applications</a></li>
<li><a href="http://www.adobe.com/devnet/logged_in/abansod_iphone.html" target="_blank">Developer article on how the LLVM cross compiling will work</a></li>
<li><a href="http://www.informationweek.com/shared/printableArticle.jhtml;jsessionid=JX41QJDNJ10ZNQE1GHRSKH4ATMY32JVN?articleID=220301033" target="_blank">Flash 10 full version on all phones by Q2 2010 except iPhone</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://drawlogic.com/2009/10/05/flash-cs5-will-compile-native-iphone-and-touch-applications-coded-in-as3/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Haxe Sandy Ability to Generate a 3D Javascript Engine Port of Sandy for Canvas</title>
		<link>http://drawlogic.com/2009/07/16/haxe-sandy-able-to-generate-a-3d-javascript-engine-port-of-sandy-for-canvas/</link>
		<comments>http://drawlogic.com/2009/07/16/haxe-sandy-able-to-generate-a-3d-javascript-engine-port-of-sandy-for-canvas/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 17:32:36 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[3D ENGINES]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[ACTIONSCRIPT]]></category>
		<category><![CDATA[ACTIONSCRIPT3]]></category>
		<category><![CDATA[ARCHITECT]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[GAMEDEV]]></category>
		<category><![CDATA[GAMES]]></category>
		<category><![CDATA[HAXE]]></category>
		<category><![CDATA[JAVASCRIPT]]></category>
		<category><![CDATA[OPEN SOURCE]]></category>
		<category><![CDATA[PROGRAMMING]]></category>
		<category><![CDATA[RENDERING]]></category>
		<category><![CDATA[SANDY]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[TECHNOLOGY]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[ENGINE]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[hx]]></category>
		<category><![CDATA[motor2]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[puremvc]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://drawlogic.com/?p=604</guid>
		<description><![CDATA[Haxe Sandy is a version of Sandy that can export to an experimental Javascript 3D engine taking advantage of the &#60;canvas&#62; element. There are some great demos that run smoothly in canvas capable browsers and very smooth in Chrome.

Demos of Haxe Sandy:

Displaying  		a model
 Getting Started
 Model Loading
Physics
Shading
Tweening
Skybox
Primitives

Sandy was actually the first open source [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flashsandy.org/haxe" target="_blank">Haxe Sandy </a>is a version of Sandy that can export to an experimental Javascript 3D engine taking advantage of the &lt;canvas&gt; element. There are some <a href="http://webdemos.sourceforge.net/haxesandy/gettingstarted-js.html" target="_blank">great demos that run smoothly</a> in canvas capable browsers and very smooth in Chrome.</p>
<p><a href="http://webdemos.sourceforge.net/haxesandy/gettingstarted-js.html" target="_blank"><img class="alignright" title="Sandy Haxe" src="http://i81.photobucket.com/albums/j223/drawkbox/sandyhx.png" alt="" width="341" height="292" /></a></p>
<p><strong>Demos of Haxe Sandy:</strong></p>
<ul>
<li><a href="http://webdemos.sourceforge.net/haxesandy/" target="_blank">Displaying  		a model</a></li>
<li> <a href="http://webdemos.sourceforge.net/haxesandy/gettingstarted-js.html" target="_blank">Getting Started</a></li>
<li> <a href="http://webdemos.sourceforge.net/haxesandy/modelloading-js.html" target="_blank">Model Loading</a></li>
<li><a href="http://webdemos.sourceforge.net/haxesandy/physics-js.html" target="_blank">Physics</a></li>
<li><a href="http://webdemos.sourceforge.net/haxesandy/shading-js.html" target="_blank">Shading</a></li>
<li><a href="http://webdemos.sourceforge.net/haxesandy/tweening-js.html" target="_blank">Tweening</a></li>
<li><a href="http://webdemos.sourceforge.net/haxesandy/skybox-js.html" target="_blank">Skybox</a></li>
<li><a href="http://webdemos.sourceforge.net/haxesandy/primitives-js.html" target="_blank">Primitives</a></li>
</ul>
<p>Sandy was actually the first open source 3d engine in flash, maybe this will be a trend building in <a href="http://haxe.org/" target="_blank">haXe </a>for export to flash and javascript?  It certainly looks like a great start and would make a very nice platform for 3d on the web allowing Sandy or other flash libraries to run in Flash and Javascript by writing in an abstraction platform like haXe. Other libraries like <a href="http://www.motorphysics.de/" target="_blank">Motor2</a>, <a href="http://code.google.com/p/physaxe/" target="_blank">Physaxe</a>, <a href="http://code.google.com/p/haxe3d/" target="_blank">haxe3D</a>, <a href="http://forums.puremvc.org/index.php?topic=636.0" target="_blank">PureMVC </a>and more have haXe versions. Still very experimental but a possible need when Flash and canvas are both in the market in the future.  Right now it is still all Flash.</p>
<ul>
<li><a href="http://www.flashsandy.org/haxe" target="_blank">Haxe Sandy</a></li>
<li><a href="http://webdemos.sourceforge.net/haxesandy/gettingstarted-js.html">Haxe Sandy Demos</a></li>
<li><a href="http://www.brighthub.com/hubfolio/matthew-casperson/blog/archive/2009/07/08/flash-and-javascript-3d-with-sandy-hx.aspx" target="_blank">Haxe Sandy Tutorials by Matthew Casperson</a></li>
<li><a href="http://www.flashsandy.org/download" target="_blank">Haxe Sandy Download</a>
<ul>
<li><a title="http://sandy.googlecode.com/files/sandy-hx-src-3.1.1.tar.gz" rel="nofollow" href="http://sandy.googlecode.com/files/sandy-hx-src-3.1.1.tar.gz">Download sources</a></li>
<li><a title="http://sandy.googlecode.com/files/sandy-hx-docs-3.1.1.tar.gz" rel="nofollow" href="http://sandy.googlecode.com/files/sandy-hx-docs-3.1.1.tar.gz">Download API documentation</a></li>
<li><a title="http://sandy.googlecode.com/files/sandy-hx-tutos-3.1.1.tar.gz" rel="nofollow" href="http://sandy.googlecode.com/files/sandy-hx-tutos-3.1.1.tar.gz">Download all examples to get started</a></li>
</ul>
</li>
</ul>
<p>[ <a href="http://www.devmaster.net/news/index.php?storyid=2296" target="_blank">via Matthew Casperson at devmaster.net</a> ]</p>
]]></content:encoded>
			<wfw:commentRss>http://drawlogic.com/2009/07/16/haxe-sandy-able-to-generate-a-3d-javascript-engine-port-of-sandy-for-canvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AS3 Library for OAuth with Twitter for AIR Apps</title>
		<link>http://drawlogic.com/2009/07/08/as3-library-for-oauth-with-twitter-for-air-apps/</link>
		<comments>http://drawlogic.com/2009/07/08/as3-library-for-oauth-with-twitter-for-air-apps/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 12:01:49 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[ACTIONSCRIPT]]></category>
		<category><![CDATA[ACTIONSCRIPT3]]></category>
		<category><![CDATA[APPLICATIONS]]></category>
		<category><![CDATA[ARCHITECT]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[DEVELOPMENT]]></category>
		<category><![CDATA[FLASH]]></category>
		<category><![CDATA[FLEX]]></category>
		<category><![CDATA[OPEN SOURCE]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[SYNDICATION]]></category>
		<category><![CDATA[TECHNOLOGY]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[CODE]]></category>
		<category><![CDATA[core]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://drawlogic.com/?p=592</guid>
		<description><![CDATA[AIR is very popular for creating twitter clients, Sönke Rohde just made it much easier to make AIR apps for twitter with an AS3 library for Twitter. This library is built on top of core oauth as3 library by iotashin.  Core OAuth as3 library is a standard OAuth library this can be used for your [...]]]></description>
			<content:encoded><![CDATA[<p>AIR is very popular for creating twitter clients, <a href="http://soenkerohde.com/2009/07/high-level-as3flex-library-for-oauth-with-twitter-from-air/" target="_blank">Sönke Rohde just made it much easier to make AIR apps for twitter</a> with an <a href="http://github.com/srohde/OAuth/tree/master" target="_blank">AS3 library for Twitter</a>. This library is built on top of <a href="http://www.iotashan.com/index.php/2008/04/28/oauth-actionscript-library/" target="_blank">core oauth as3 library</a> <a href="http://www.iotashan.com/index.php/2008/04/28/oauth-actionscript-library/" target="_blank">by iotashin</a>.  Core <a href="http://oauth.net/" target="_blank">OAuth</a> as3 library is a standard OAuth library this can be used for your own OAuth backends or connecting to other OAuth services as well.</p>
<p>A very nice feature of this library, in addition to being coded cleanly and as3 style, is the ability to have the Twitter OAuth page render inside of Flash.</p>
<p style="padding-left: 30px;">Instead of opening the Twitter authorization page in the browser the library also contains OAuthLoader which is a wrapper around HTMLLoader which enables to directly show the authorization page within an AIR window:</p>
<pre lang="actionscript">// use this in the requestTokenHandler instead of navigateToURL
var loader:OAuthLoader = new OAuthLoader();
loader.load(request);
loader.percentWidth = 100;
loader.percentHeight = 100;
var w:Window = new Window();
w.width = 800;
w.height = 400;
w.title = req.url;
w.addChild(loader);
w.open();</pre>
<ul>
<li><a href="http://www.iotashan.com/">Shannon Hicks</a> <a href="http://www.iotashan.com/index.php/2008/04/28/oauth-actionscript-library/">core oauth as3 library</a></li>
<li><a href="http://github.com/srohde/OAuth/tree/master">High level AS3/Flex library for OAuth</a></li>
<li><a href="http://code.google.com/p/oauth-as3/" target="_blank">oauth-as3 Google Code page</a></li>
<li><a href="http://oauth.net/">OAuth</a></li>
<li><a href="http://apiwiki.twitter.com/OAuth-FAQ">Twitter OAuth FAQ</a></li>
<li><a href="http://apiwiki.twitter.com/Twitter-API-Documentation">Twitter API Documentation</a></li>
<li><a href="http://www.hueniverse.com/hueniverse/2007/10/beginners-gui-1.html">Getting Started with OAuth</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://drawlogic.com/2009/07/08/as3-library-for-oauth-with-twitter-for-air-apps/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>haXe on the iPhone with hxcpp, Flash 9 API to C++ for Mobile</title>
		<link>http://drawlogic.com/2009/06/19/haxe-on-the-iphone-with-hxcpp-flash-9-api-to-c-for-mobile/</link>
		<comments>http://drawlogic.com/2009/06/19/haxe-on-the-iphone-with-hxcpp-flash-9-api-to-c-for-mobile/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 08:17:25 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[ACTIONSCRIPT]]></category>
		<category><![CDATA[ACTIONSCRIPT3]]></category>
		<category><![CDATA[ARCHITECT]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[HAXE]]></category>
		<category><![CDATA[LIBRARIES]]></category>
		<category><![CDATA[PHYSICS]]></category>
		<category><![CDATA[PROGRAMMING]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[cpp]]></category>
		<category><![CDATA[FLASH]]></category>
		<category><![CDATA[hxcpp]]></category>
		<category><![CDATA[MOBILE]]></category>
		<category><![CDATA[neash]]></category>
		<category><![CDATA[neko]]></category>
		<category><![CDATA[physaxe]]></category>

		<guid isPermaLink="false">http://drawlogic.com/?p=571</guid>
		<description><![CDATA[haXe is an interesting programming language that allows abstracting the source from platform target.  It outputs for targets such as Actionscript and Javascript from haxe language source. But, haXe can also output to native code to run on Windows, Mac OSX, and Linux.
Well because of this it is possible to run haXe on the iPhone. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://haxe.org/" target="_blank">haXe </a>is an interesting programming language that allows abstracting the source from platform target.  It outputs for targets such as Actionscript and Javascript from haxe language source. But, haXe can also output to native code to run on Windows, Mac OSX, and Linux.</p>
<p>Well because of this it is possible to<a href="http://gamehaxe.com/2009/05/27/haxe-on-real-iphone/" target="_blank"> run haXe on the iPhone</a>. The gamehaXe site has found a way to get haXe to compile to iPhone via hxcpp which creates a C++ output from haXe code very similar to Actionscript 3.</p>
<p>I am a <a href="http://www.ncannasse.fr/blog/haxe_for_iphone" target="_blank">bit late to the party</a> but this is great news. It uses the NME library which will allows code to mostly be written to the Flash 9 API and create the C++ for XCode to compile and run on the iPhone and Touch. This creates a path to port Flash games to iPhone/Touch.</p>
<p><a href="http://gamehaxe.com/2009/05/27/haxe-on-real-iphone/" target="_blank"><img class="alignnone" title="haXe on the iPhone" src="http://i81.photobucket.com/albums/j223/drawkbox/iphone3-300x170.jpg" alt="" width="300" height="170" /></a></p>
<p>This <a href="http://gamehaxe.com/" target="_blank">project is one to watch</a> and participate in.  Native compilation to the iPhone from haXe is a more simplified code to write in while providing lower level performance which is needed on mobile devices, as processors, cache and ram are much lower than desktop and below what is capable of running the Flash AVM2 currently.</p>
<p>If you have more interest in haXe there are some <a href="http://gamehaxe.com/older-demos/" target="_blank">other great demos on as3/haXe at the game haXe site</a>. Also, <a href="http://blog.touchmypixel.com/archives/71">Tony at touchmypixel.com</a> has posted some very useful information to help you get started with hxcpp.</p>
<p>The hxcpp project is a newer output target along with a java one but this could be interesting if actionscript like code and many libraries like Physaxe or AS3 libraries could be ported to haXe to output to the iPhone.</p>
]]></content:encoded>
			<wfw:commentRss>http://drawlogic.com/2009/06/19/haxe-on-the-iphone-with-hxcpp-flash-9-api-to-c-for-mobile/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Blender to AS3 Exporter for Papervision 3D, Away 3D and Sandy Updated by Rozengain</title>
		<link>http://drawlogic.com/2009/06/14/blender-to-as3-exporter-for-papervision-3d-away-3d-and-sandy-updated-by-rozengain/</link>
		<comments>http://drawlogic.com/2009/06/14/blender-to-as3-exporter-for-papervision-3d-away-3d-and-sandy-updated-by-rozengain/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 20:27:29 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[3D ENGINES]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[ACTIONSCRIPT]]></category>
		<category><![CDATA[ACTIONSCRIPT3]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[AWAY3D]]></category>
		<category><![CDATA[FLASH]]></category>
		<category><![CDATA[GAMEDEV]]></category>
		<category><![CDATA[GAMES]]></category>
		<category><![CDATA[PAPERVISION]]></category>
		<category><![CDATA[RENDERING]]></category>
		<category><![CDATA[SANDY]]></category>
		<category><![CDATA[TECHNOLOGY]]></category>
		<category><![CDATA[TOOLS]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[exporter]]></category>
		<category><![CDATA[papervision 3d]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://drawlogic.com/?p=567</guid>
		<description><![CDATA[Rozengain or Dennis Ippel of AKQA updated probably one of the tools I use the most for flash 3d and that is the blender to as3 exporter.  This simplifies loading in the meshes you have and lessens the bulk of the COLLADA format.  COLLADA is great but flash is still client side and fairly memory [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.rozengain.com/blog/2009/06/12/blender-to-actionscript-exporter-updated-export-multiple-objects-at-once/" target="_blank">Rozengain or Dennis Ippel</a> of <a title="AKQA" href="http://www.akqa.com/">AKQA</a> updated probably one of the tools I use the most for flash 3d and that is the blender to as3 exporter.  This simplifies loading in the meshes you have and lessens the bulk of the COLLADA format.  COLLADA is great but flash is still client side and fairly memory intensive for 3d so loading in models directly to as3 is nice if flash is your presentation tool.</p>
<p><a href="http://www.rozengain.com/blog/2009/06/12/blender-to-actionscript-exporter-updated-export-multiple-objects-at-once/" target="_blank">AS3 Blender exporter</a> has been updated to allow multiple object export. Also in April is was <a href="http://www.rozengain.com/blog/2009/04/06/blender-to-actionscript-exporter-updated-quads-and-modifiers/" target="_blank">updated to export quads and modifiers</a>.</p>
<p><a href="http://www.rozengain.com/blog/2009/06/12/blender-to-actionscript-exporter-updated-export-multiple-objects-at-once/" target="_blank"><img class="alignnone" title="Rozengain AS3 Blender Exporter" src="http://i81.photobucket.com/albums/j223/drawkbox/blendexpnew.jpg" alt="" width="340" height="229" /></a></p>
<p><a href="http://www.rozengain.com/blog/2009/06/12/blender-to-actionscript-exporter-updated-export-multiple-objects-at-once/" target="_blank"><img class="alignnone" title="Blender to AS3 Pipeline" src="http://i81.photobucket.com/albums/j223/drawkbox/export-actionscript-blender.jpg" alt="" width="350" height="275" /></a></p>
<p>One concern you might have is statically binding the code within a main swf fileon compile and resulting file size compared to loading in the DAE dynamically.  But you can just load these in as you would external DAE COLLADA files as compiled swfs and since it is just code it is very compact.   This adds some duplication of code (such as tweening libraries or the 3d engine source as needed) but allows a more horizontal loading or lazy loading of meshes when needed.</p>
<p>This is just another option to get 3D models into the flash 3d engine of your choice in addition to COLLADA, some MD2 support and limited ASE support.</p>
<p>This is an awesome project that keeps getting better, thanks Rozengain.</p>
]]></content:encoded>
			<wfw:commentRss>http://drawlogic.com/2009/06/14/blender-to-as3-exporter-for-papervision-3d-away-3d-and-sandy-updated-by-rozengain/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>AS3 Flash Efficient Code Techniques, Vectors in Flash 10, Faster JPEG Encoding, Other Optimization Notes</title>
		<link>http://drawlogic.com/2009/05/22/as3-flash-efficient-code-techniques-vectors-in-flash-10-faster-jpeg-encoding-other-optimization-notes/</link>
		<comments>http://drawlogic.com/2009/05/22/as3-flash-efficient-code-techniques-vectors-in-flash-10-faster-jpeg-encoding-other-optimization-notes/#comments</comments>
		<pubDate>Fri, 22 May 2009 09:21:42 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[ACTIONSCRIPT]]></category>
		<category><![CDATA[ACTIONSCRIPT3]]></category>
		<category><![CDATA[APPLICATIONS]]></category>
		<category><![CDATA[ARCHITECT]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[CODE]]></category>
		<category><![CDATA[DEVELOPMENT]]></category>
		<category><![CDATA[FLASH]]></category>
		<category><![CDATA[FLEX]]></category>
		<category><![CDATA[PERFORMANCE]]></category>
		<category><![CDATA[PROGRAMMING]]></category>
		<category><![CDATA[TECHNOLOGY]]></category>
		<category><![CDATA[VECTOR]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[efficient]]></category>
		<category><![CDATA[optmization]]></category>

		<guid isPermaLink="false">http://drawlogic.com/?p=558</guid>
		<description><![CDATA[Flash 10 will be ready for mainstream hopefully by the end of this year, or early &#8216;10 when the penetration numbers will be up in or around the 90% range via zeh fernando based on previous trajectories.  
With that, Flash 10 has many great new things such as the Vector structure that allows a collection of a [...]]]></description>
			<content:encoded><![CDATA[<p>Flash 10 will be ready for mainstream hopefully by the end of this year, or early &#8216;10 when the <a href="http://spreadsheets.google.com/pub?key=pjaKnZUqwo-1XaUCJLlBQeA&amp;gid=1">penetration numbers will be up in or around the 90% range</a> via <a href="http://zehfernando.com/2009/flash-penetration-stats-for-march-2009-now-live-graphs-updated/">zeh fernando based on previous trajectories</a>.  </p>
<p>With that, <strong>Flash 10 has many great new things such as the </strong><a href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0/Vector.html" target="_blank"><strong>Vector</strong></a><strong> structure that allows a collection of a certain type, which results in a faster collection because of the known type.</strong>  So anywhere where Arrays are used, that is a possible candidate for a performance increase within some code because you are asking the virtual machine to do less work on each loop (not having to dynamically find out the type).</p>
<p><a href="http://www.bytearray.org/?p=775" target="_blank">ByteArray</a> (Thibault Imbert) has demonstrated that for the JPEG encoding in corelib it is <a href="http://www.bytearray.org/?p=775" target="_blank">up to 2.5 times faster using Vectors than Arrays</a>.  Your mileage may vary heavily but it is almost a guaranteed speed boost due to less work.  This obviously has great possibilities for speeding up code that uses lots of arrays.  </p>
<p>Due to the performance boost the Vector does have some constraints in the typical give and take of coder flexibility with compiler and virtual machine overhead.  Vectors are more explicit and strongly typed which is why they are fast, but this is also limiting.</p>
<blockquote><p><strong>In addition to the data type restriction, the Vector class has other restrictions that distinguish it from the Array class:</strong></p>
<ul>
<li>A Vector is a dense array. Unlike an Array, which may have values in indices 0 and 7 even if there are no values in positions 1 through 6,<strong> a Vector must have a value (or </strong><code><strong>null</strong></code><strong>) in each index.</strong></li>
<li><strong>A Vector can optionally be fixed-length, </strong><strong>meaning the number of elements it contains can&#8217;t change</strong>.</li>
<li>Access to a Vector&#8217;s elements is bounds-checked. You can never read a value from an index greater than the final element (<code>length - 1</code>). You can never set a value with an index more than one beyond the current final index (in other words, you can only set a value at an existing index or at index <code>[length]</code>).</li>
</ul>
</blockquote>
<p> [ <a href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0/Vector.html" target="_blank">Vector docs</a>  ]</p>
<p><a href="http://www.bytearray.org/?p=775" target="_blank">ByteArray not only used Vectors heavily but did other optimizations</a> that are always good to do, even though optimization is evil when you are working with precious client side resources ensuring an optimized base starting point can be a good thing.</p>
<blockquote><p>So what did I do ?</p>
<ul>
<li>I used bitwise operators as much as possible.</li>
<li><strong>I replaced all Arrays with fixed length Vectors.</strong></li>
<li>I used pre-incrementation rather than post-incrementation (thanks <a title="Joa's wiki" href="http://wiki.joa-ebert.com/" target="_blank">Joa</a> for this one <img src='http://drawlogic.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).</li>
<li>I casted to int all my Vector indices access.</li>
<li>Other minor stuff you always do to optimize your code </li>
</ul>
</blockquote>
<p><strong>Other sources as well for even more optimization or shall I say efficient AS3:</strong></p>
<ul>
<li><a href="http://lab.polygonal.de/2008/06/18/using-object-pools/" target="_blank">Polygonal Labs Using Object Pools</a></li>
<li><a href="http://blog.joa-ebert.com/2008/05/07/tweening-and-object-pools/" target="_blank">Joa Ebert Tweening and Object Pools</a></li>
<li><a href="http://wiki.joa-ebert.com/index.php/Category:Code_Optimization" target="_blank">Joa Ebert Optmization Wiki</a></li>
<li><a href="http://www.insideria.com/2009/04/51-actionscript-30-and-flex-op.html" target="_blank">Sean Moore Efficient AS3 roundup (great list of resources for more at the bottom)</a></li>
<li><a href="http://www.lostinactionscript.com/blog/index.php/2008/09/28/tips-on-how-to-write-efficient-as3/" target="_blank">Lost in Actionscript Efficient AS3 Tips</a></li>
<li><a href="http://www.bigspaceship.com/blog/labs/as3-optimization-tip" target="_blank">Big SpaceShip Mouse Leave Tip</a> (flash can hog resources so when it isn&#8217;t in focus then let is stop tasking the processor)</li>
<li><a href="http://www.gskinner.com/blog/archives/2009/05/idle_cpu_usage.html" target="_blank">Grant Skinner Idle CPU in AIR FPS Tip</a> (set fps to a lower amount when it is out of focus)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://drawlogic.com/2009/05/22/as3-flash-efficient-code-techniques-vectors-in-flash-10-faster-jpeg-encoding-other-optimization-notes/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>amfast Python Remoting and Services Library for Flash, Flex and other AMF</title>
		<link>http://drawlogic.com/2009/05/18/amfast-python-remoting-and-services-library-for-flash-flex-and-other-amf/</link>
		<comments>http://drawlogic.com/2009/05/18/amfast-python-remoting-and-services-library-for-flash-flex-and-other-amf/#comments</comments>
		<pubDate>Mon, 18 May 2009 07:18:12 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[ACTIONSCRIPT]]></category>
		<category><![CDATA[ACTIONSCRIPT3]]></category>
		<category><![CDATA[AMF]]></category>
		<category><![CDATA[APPLICATIONS]]></category>
		<category><![CDATA[ARCHITECT]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[DEVELOPMENT]]></category>
		<category><![CDATA[FLASH]]></category>
		<category><![CDATA[FLEX]]></category>
		<category><![CDATA[GAMEDEV]]></category>
		<category><![CDATA[GAMES]]></category>
		<category><![CDATA[LIBRARIES]]></category>
		<category><![CDATA[OPEN SOURCE]]></category>
		<category><![CDATA[PYTHON]]></category>
		<category><![CDATA[TECHNOLOGY]]></category>
		<category><![CDATA[tracking]]></category>
		<category><![CDATA[AMF0]]></category>
		<category><![CDATA[AMF3]]></category>
		<category><![CDATA[messaging]]></category>
		<category><![CDATA[remoting]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://drawlogic.com/?p=548</guid>
		<description><![CDATA[pyamf is pretty sweet for Flash remoting with Pythonic server side, but now we have two nicely done and integrated remoting kits for python on the server side.
amfast is a new remoting library  that looks to be as sweet as pyamf (where sweet == fast and useful).  I am checking out amfast now but the [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://pyamf.org/" target="_blank">pyamf </a></strong>is pretty sweet for Flash remoting with Pythonic server side, but now we have two nicely done and integrated remoting kits for python on the server side.</p>
<p><strong><a href="http://code.google.com/p/amfast/" target="_blank">amfast </a></strong>is a new remoting library  that looks to be as sweet as pyamf (where sweet == fast and useful).  I am checking out <a href="http://code.google.com/p/amfast/" target="_blank">amfast </a>now but the speed boost alone might be worth it.  For instance, working with real-time games, when you need static content you need to grab that quickly sometimes via a content service.  The faster that link the better. It also has <a href="http://twistedmatrix.com/trac/" target="_blank">Twisted</a> integration which is great for networking and <a href="http://www.sqlalchemy.org/" target="_blank">SQLAlchemy </a>integration which is in my opinion the best ORM for python (pyamf has twisted, django, pylons, sqlalchemy as well)</p>
<p><a href="http://code.google.com/p/amfast/" target="_blank">amfast </a>is well documented and has some great examples.  If you have the Python addiction, check it.</p>
<blockquote>
<h3>Description</h3>
<ul>
<li>AmFast is a Flash remoting framework for Python.</li>
<li>AmFast can use AMF to communicate between Python and Flash, Flex, and any other system that supports AMF.</li>
<li>AMF is a binary object serialization protocol used by Actionscript based applications.</li>
</ul>
<h3>Server Features</h3>
<ul>
<li>Support for NetConnection and RemoteObject RPC.</li>
<li><strong>Support for Producer/Consumer &#8216;push&#8217; messaging with HTTP polling, HTTP long-polling, and real-time HTTP streaming channels.</strong></li>
<li>Support for authentication with NetConnection and RemoteObject.</li>
<li>Flexible Target mapping system to map message destinations to invokable Target objects.</li>
<li>Support for ChannelSets with multiple Channels to expose resources in different ways.</li>
<li>Built in Channels for <a rel="nofollow" href="http://cherrypy.org/">CherryPy</a>, <a rel="nofollow" href="http://twistedmatrix.com/trac/">Twisted Web</a>, and plain WSGI.</li>
<li>Support for configurable Endpoints. Use AmFast&#8217;s built-in AMF encoder/decoder C-extension, or use an external AMF encoder/decoder, such as <a rel="nofollow" href="http://pyamf.org/">PyAmf</a> for a pure-Python implementation.</li>
</ul>
<h3>AMF Encoder/Decoder Features</h3>
<ul>
<li>AMF0/AMF3 encoder/decoder written in C as a Python extension for speed.</li>
<li><strong>More than 10x faster than the <a rel="nofollow" href="http://pyamf.org/">PyAmf</a> encoder/decoder (even when using <a rel="nofollow" href="http://pyamf.org/">PyAmf&#8217;s</a> optional C-extension).</strong></li>
<li>Map custom classes with ClassDef objects for <strong>complete control over serialization/de-serialization</strong>.</li>
<li>Full support for IExternalizable objects.</li>
<li>Data persistence with <a rel="nofollow" href="http://www.sqlalchemy.org/">SqlAlchemy</a> including remotely-loadable lazy-loaded attributes.</li>
<li><strong>Actionscript code generation from ClassDef objects.</strong></li>
</ul>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://drawlogic.com/2009/05/18/amfast-python-remoting-and-services-library-for-flash-flex-and-other-amf/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Augmented Reality ARToolkit for Processing</title>
		<link>http://drawlogic.com/2009/04/30/augmented-reality-artoolkit-for-processing/</link>
		<comments>http://drawlogic.com/2009/04/30/augmented-reality-artoolkit-for-processing/#comments</comments>
		<pubDate>Fri, 01 May 2009 04:08:26 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[3d]]></category>
		<category><![CDATA[ACTIONSCRIPT]]></category>
		<category><![CDATA[ACTIONSCRIPT3]]></category>
		<category><![CDATA[AUGMENTED REALITY]]></category>
		<category><![CDATA[EFFECTS]]></category>
		<category><![CDATA[GAMEDEV]]></category>
		<category><![CDATA[GAMES]]></category>
		<category><![CDATA[OPENGL]]></category>
		<category><![CDATA[PROCESSING]]></category>
		<category><![CDATA[RENDERING]]></category>
		<category><![CDATA[tracking]]></category>
		<category><![CDATA[ar]]></category>
		<category><![CDATA[artoolkit]]></category>
		<category><![CDATA[augmented]]></category>
		<category><![CDATA[reality]]></category>

		<guid isPermaLink="false">http://drawlogic.com/?p=543</guid>
		<description><![CDATA[The ARToolkit has been ported to be used with Processing.
Augmented Reality and the base of the original ARToolkit has taken the flash world by storm with the FLARToolkit and really the speed updates of the AVM2 in Flash9 and Flash10 to be able to pull off the OpenCV calculations needed on the bitmap data from [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.bryanchung.net/?page_id=415" target="_blank">ARToolkit has been ported to be used with Processing</a>.</p>
<p>Augmented Reality and the base of <a href="http://www.hitl.washington.edu/artoolkit/" target="_blank">the original ARToolkit</a> has taken <a href="http://drawlogic.com/2008/11/17/as3-augmented-reality-in-flash-and-papervision-3d-flartoolkit/" target="_blank">the flash world by storm with the FLARToolkit</a> and really the speed updates of the AVM2 in Flash9 and Flash10 to be able to pull off the OpenCV calculations needed on the bitmap data from each frame of a camera. It has been around quite some time but now web based engines such as Flash and now Processing can take advantage of this awesome technology.</p>
<p class="entry-title full-title">The <a title="Permanent link to Simple ARToolKit Library for Processing (PC)" rel="bookmark" rev="post-415" href="http://www.bryanchung.net/index.php/?page_id=415">Simple ARToolKit Library for Processing (PC)</a> is just a basic port of single marker AR support and it currently only runs on windows.<a title="Permanent link to Simple ARToolKit Library for Processing (PC)" rel="bookmark" rev="post-415" href="http://www.bryanchung.net/index.php/?page_id=415"><br />
</a></p>
<p><a href="http://www.cleoag.ru/2009/04/14/processing-artoolkit-library-test-video/" target="_blank">Den Ivanov did some cool experiments with this kit</a> but adding the capability to do multiple markers.  In his videos the processing runtime seems to process the render pretty quickly.  It seems that most Flash AR is around like 5-10 frames per second for the detection.</p>
<p>*mute the sound*<br />
<object width="400" height="311" data="http://vimeo.com/moogaloop.swf?clip_id=4137072&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4137072&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /></object><br />
<a href="http://vimeo.com/4137072">ARToolkit for processing tests</a> from <a href="http://vimeo.com/cleoag">den ivanov</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://drawlogic.com/2009/04/30/augmented-reality-artoolkit-for-processing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash 3D Engine Yogurt3D based on OpenGL</title>
		<link>http://drawlogic.com/2009/04/30/flash-3d-engine-yogurt3d-based-on-opengl/</link>
		<comments>http://drawlogic.com/2009/04/30/flash-3d-engine-yogurt3d-based-on-opengl/#comments</comments>
		<pubDate>Fri, 01 May 2009 03:09:02 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[3D ENGINES]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[ACTIONSCRIPT]]></category>
		<category><![CDATA[ACTIONSCRIPT3]]></category>
		<category><![CDATA[APPLICATIONS]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[GAMEDEV]]></category>
		<category><![CDATA[GAMES]]></category>
		<category><![CDATA[LIBRARIES]]></category>
		<category><![CDATA[OPEN SOURCE]]></category>
		<category><![CDATA[PROGRAMMING]]></category>
		<category><![CDATA[RENDERING]]></category>
		<category><![CDATA[TECHNOLOGY]]></category>
		<category><![CDATA[ENGINE]]></category>
		<category><![CDATA[FLASH]]></category>
		<category><![CDATA[OPENGL]]></category>
		<category><![CDATA[swiftgl]]></category>
		<category><![CDATA[yogurt3d]]></category>

		<guid isPermaLink="false">http://drawlogic.com/?p=537</guid>
		<description><![CDATA[Yogurt3D flash based 3d engine appeared recently and is another flash based 3d engine which is based on OpenGL called SwiftGL and is stated as open source.
The site mentions that OpenGL source can be converted to run in the engine.  You can do this now with Alchemy although it is in very early stages.  It [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.yogurt3d.com/en/" target="_blank">Yogurt3D flash based 3d engine</a> appeared recently and is another flash based 3d engine which is based on OpenGL called<a href="http://www.yogurt3d.com/en/?p=15" target="_blank"> SwiftGL and is stated as open source</a>.</p>
<p>The site mentions that OpenGL source can be converted to run in the engine.  You can do this now with Alchemy although it is in very early stages.  It is not clear if it is an automatic conversion or if it simply means it is similar in syntax and method signatures, objects etc.</p>
<p><a href="http://www.yogurtistan.com/demo/OdaDemo/OdaDemo.php" target="_blank"><img class="alignnone" title="yogurt3d" src="http://i81.photobucket.com/albums/j223/drawkbox/yogurt3d.png" alt="" width="560" height="357" /></a></p>
<p>I definitely will be watching and see how it progresses, there isn&#8217;t much other than a single post about the engine so far and no info on the api or sample code.  Looking forward to seeing more, the z-sorting is quite nice.  Doesn&#8217;t appear like collisions are there yet but it has a nice look.</p>
<p>Sometimes excellent toolkits come out of the blue like this such as <a href="http://www.ffilmation.org/website/" target="_blank">Ffilmation</a> (isometric flash engine) or <a href="http://alternativaplatform.com/" target="_blank">Alternativa</a> (flash 3d engine flash 10 focused) so you never know.</p>
]]></content:encoded>
			<wfw:commentRss>http://drawlogic.com/2009/04/30/flash-3d-engine-yogurt3d-based-on-opengl/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
