<?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>astatic notes</title>
	<atom:link href="http://blog.inspirit.ru/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.inspirit.ru</link>
	<description>Adobe Flash experiments and stuff</description>
	<lastBuildDate>Fri, 23 Jul 2010 13:19:34 +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>FITC San Francisco 2010</title>
		<link>http://blog.inspirit.ru/?p=437</link>
		<comments>http://blog.inspirit.ru/?p=437#comments</comments>
		<pubDate>Wed, 07 Jul 2010 06:56:08 +0000</pubDate>
		<dc:creator>Eugene</dc:creator>
				<category><![CDATA[Flash news]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[ASSURF]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[fitc]]></category>
		<category><![CDATA[sfo]]></category>

		<guid isPermaLink="false">http://blog.inspirit.ru/?p=437</guid>
		<description><![CDATA[
Well this is going to be my first post on the subject without code 
FITC events are really well known in the world and presented in many countries. Unfortunately not in Russia yet&#8230;   For me this is the first large event to speak at. (first was Flash2000 in Antwerp &#8211; greetz to Mr. [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><a href="http://www.fitc.ca/events/about/?event=110"><img style="border: 5px solid #DDDDDD;" src="/wp-content/uploads/fitc_sfo.jpg" alt="FITC San Francisco 2010" /></a></div>
<p>Well this is going to be my first post on the subject without code <img src='http://blog.inspirit.ru/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
FITC events are really well known in the world and presented in many countries. Unfortunately not in Russia yet&#8230; <img src='http://blog.inspirit.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  For me this is the first large event to speak at. (first was <a href="http://blog.mrhenry.be/2009/09/the-aftermath-2000/">Flash2000 in Antwerp</a> &#8211; greetz to <a href="http://www.mrhenry.be/">Mr. Henry</a>) <del datetime="2010-07-23T13:19:05+00:00">But I&#8217;ve to mention that I&#8217;m still in Visa getting process and who knows how it turns next Monday during my interview in US embassy</del> (solved) <img src='http://blog.inspirit.ru/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
In any case I&#8217;m more then sure that this particular event will be great! Just look at the speaker list. My personal flash hero is <a href="http://yugop.com/">Yugo Nakamura</a> who is inspiring thousands of people to try and learn Flash more then anyone/anything else! (still my personal thought)! I&#8217;ll be happy to see him in person.<br />
Also there are several people like <a href="http://www.quasimondo.com/">Mario Klingemann</a>, <a href="http://blog.joa-ebert.com/">Joa Ebert</a>, <a href="http://www.unitzeroone.com">Ralph Hauwert</a>, <a href="http://sebleedelisle.com/">Seb Lee-Delisle</a> and others w/whom I speak often but never seen in person and this gonna be fun to talk to them in real life!<br />
Fingers crossed &#8211; wish I can see you all soon!</p>
<p>Oh, and I almost forget about my session &#8211; &#8220;<a href="http://www.fitc.ca/events/presentations/presentation.cfm?event=110&#038;presentation_id=1204">Recognize This! Seeing with Flash</a>&#8220;! As you may guess this talk will be covering <a href="http://code.google.com/p/in-spirit/wiki/ASSURF">ASSURF project</a>. I&#8217;m going to tell you a story of my journey from first working examples to smth completely new that is not presented yet!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspirit.ru/?feed=rss2&amp;p=437</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ASLSD &#8211; Line Segment Detector</title>
		<link>http://blog.inspirit.ru/?p=432</link>
		<comments>http://blog.inspirit.ru/?p=432#comments</comments>
		<pubDate>Thu, 01 Jul 2010 12:26:42 +0000</pubDate>
		<dc:creator>Eugene</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[alchemy]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[aslsd]]></category>
		<category><![CDATA[line detector]]></category>

		<guid isPermaLink="false">http://blog.inspirit.ru/?p=432</guid>
		<description><![CDATA[
I found this detector very useful for one of my projects and decided to share the code.
You can find  original implementation here. It is not like simple edge detectors but designed specially for line detection. As the result you got an array of {x, y} coordinates that represent all available line segments and this [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><a title="ASLSD example" rel="shadowbox;width=640;height=520" href="/wp-content/uploads/aslsd/main.swf"><img style="border: 5px solid #DDDDDD;" src="/wp-content/uploads/aslsd/aslsd.jpg" alt="ASLSD example" /></a></div>
<p>I found this detector very useful for one of my projects and decided to share the code.<br />
You can find  <a href="http://www.ipol.im/pub/algo/gjmr_line_segment_detector/">original implementation here</a>. It is not like simple edge detectors but designed specially for line detection. As the result you got an array of {x, y} coordinates that represent all available line segments and this opens very large usage opportunities.</p>
<p><a title="ASLSD example" rel="shadowbox;width=640;height=520" href="/wp-content/uploads/aslsd/main.swf">Try demo application</a><br />
<a href="http://in-spirit.googlecode.com/files/ASLSD.zip">Download Library SWC</a><br />
<a href="http://code.google.com/p/in-spirit/wiki/ASLSD">WIKI Page</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspirit.ru/?feed=rss2&amp;p=432</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Viola-Jones object detection [updated]</title>
		<link>http://blog.inspirit.ru/?p=416</link>
		<comments>http://blog.inspirit.ru/?p=416#comments</comments>
		<pubDate>Mon, 29 Mar 2010 21:02:57 +0000</pubDate>
		<dc:creator>Eugene</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[works]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[face detection]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[object detection]]></category>
		<category><![CDATA[viola-jones]]></category>

		<guid isPermaLink="false">http://blog.inspirit.ru/?p=416</guid>
		<description><![CDATA[
Recently I was playing with face detection demos done using ported from OpenCV Marilena Lib by Ohtsuka Masakazu and optimized one by Mario Klingemann. I have an idea of using it with my ASSURF project but as far as ASSURF uses lots of CPU resources I cant merge it with Face detection. So I decided [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><a title="Face detection example" rel="shadowbox;width=940;height=720" href="/wp-content/uploads/facedetect/Main.swf"><img style="border: 5px solid #DDDDDD;" src="/wp-content/uploads/facedetect/face_detect_620.png" alt="Face detection example" /></a></div>
<p>Recently I was playing with face detection demos done using ported from OpenCV Marilena Lib by <a href="http://maaash.jp/as3/as3marilena-object-detection-in-as3/">Ohtsuka Masakazu</a> and optimized one by <a href="http://www.quasimondo.com/archives/000687.php">Mario Klingemann</a>. I have an idea of using it with my ASSURF project but as far as ASSURF uses lots of CPU resources I cant merge it with Face detection. So I decided to revisit the implementation with more simple and fast solution. Taking into account the speed of Linked Lists and also using TDSI memory optimizer I was able to produce a lot more faster version. I also decided not to hardcode haar cascades XML files into the lib but allow to load it. Currently library supports simple Stump based cascades and Tree based. I wouldn&#8217;t recommend using Tree based cascades cause they are significantly slower. This is because we have to use recursion while analyzing image with Tree based cascades.</p>
<p><strong>Update: Added Canny Edge Detector to skip low edged areas of image that result in some nice performance boost. (this will be added to repository soon)</strong></p>
<p><a href="http://code.google.com/p/in-spirit/wiki/HaarCascadesDetector">You will find some usage info at wiki page</a><br />
<a href="http://in-spirit.googlecode.com/files/HaarCascadesDetector.swc.zip">Download Library SWC</a><br />
<a title="Face detection example" rel="shadowbox;width=940;height=720" href="/wp-content/uploads/facedetect/Main.swf">Try demo application (recognizing faces, eyes and mouth)</a> (make sure that u are not using debug player)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspirit.ru/?feed=rss2&amp;p=416</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>ASFFT update</title>
		<link>http://blog.inspirit.ru/?p=410</link>
		<comments>http://blog.inspirit.ru/?p=410#comments</comments>
		<pubDate>Mon, 15 Mar 2010 14:30:57 +0000</pubDate>
		<dc:creator>Eugene</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[works]]></category>
		<category><![CDATA[alchemy]]></category>
		<category><![CDATA[fft]]></category>
		<category><![CDATA[pitch shift]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[spectrum]]></category>

		<guid isPermaLink="false">http://blog.inspirit.ru/?p=410</guid>
		<description><![CDATA[ASFFT project got some updates:

1 dimensional FFT added
FFT Spectrum analyzer class added
updated methods that lets you work with FFT data via BitmapData object

Special thanx to Mario Klingemann for the help with the correction of setDataBitmapData and getDataBitmapData methods.
See Wiki page for more info on project
Demo of 1D FFT and FFTSpectrumAnalyzer usage
Pitch Shifter demo that uses [...]]]></description>
			<content:encoded><![CDATA[<p>ASFFT project got some updates:</p>
<ul>
<li>1 dimensional FFT added</li>
<li>FFT Spectrum analyzer class added</li>
<li>updated methods that lets you work with FFT data via BitmapData object</li>
</ul>
<p><em>Special thanx to Mario Klingemann for the help with the correction of <strong>setDataBitmapData</strong> and <strong>getDataBitmapData</strong> methods.</em></p>
<p><a href="http://code.google.com/p/in-spirit/wiki/ASFFT">See Wiki page for more info on project</a></p>
<p><a title="FFT and FFTSpectrumAnalyzer usage example" rel="shadowbox;width=800;height=420" href="/wp-content/uploads/asfft/FFTSpectrumTest.swf">Demo of 1D FFT and FFTSpectrumAnalyzer usage</a><br />
<a title="Sound Pitch Shifter" rel="shadowbox;width=900;height=320" href="/wp-content/uploads/asfft/PitchShiftTest.swf">Pitch Shifter demo that uses FFT to transform sound data</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspirit.ru/?feed=rss2&amp;p=410</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Fast Fourier Transform for Flash</title>
		<link>http://blog.inspirit.ru/?p=405</link>
		<comments>http://blog.inspirit.ru/?p=405#comments</comments>
		<pubDate>Tue, 09 Mar 2010 09:59:11 +0000</pubDate>
		<dc:creator>Eugene</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[works]]></category>
		<category><![CDATA[alchemy]]></category>
		<category><![CDATA[fft]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[pixel bender]]></category>

		<guid isPermaLink="false">http://blog.inspirit.ru/?p=405</guid>
		<description><![CDATA[
There is smth new I would like to share with Flash community: ASFFT Project. Well project is too loud name as far as it is only small library that allows users to decompose images using Fast Fourier Transform in to Real and Imaginary parts. But if you dig more in to the title you will [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><a title="FFT simple usage example" rel="shadowbox;width=1000;height=390" href="/wp-content/uploads/asfft/FFTTest.swf"><img style="border: 5px solid #DDDDDD;" src="/wp-content/uploads/asfft/fft_screen_small.png" alt="FFT simple usage example" /></a></div>
<p>There is smth new I would like to share with Flash community: <a href="http://code.google.com/p/in-spirit/wiki/ASFFT">ASFFT Project</a>. Well project is too loud name as far as it is only small library that allows users to decompose images using<a href="http://en.wikipedia.org/wiki/Fast_Fourier_transform"> Fast Fourier Transform</a> in to Real and Imaginary parts. But if you dig more in to the title you will find lots of amazing possibilities it brings to you. The problem is that it is pretty slow and can&#8217;t be used on processing video frames for example but it is fast enough to do different image manipulations without freezing Flash Player.</p>
<p>The lib will contain 2 classes &#8220;FFT2D&#8221; and &#8220;FFT&#8221;. First one is to work with two dimensional data mostly presented as images. The second one is for streaming (or not) one dimensional data. Usually used in sound signal manipulations/transformation.<br />
At this very moment only FFT2D class available. I will add one dimensional FFT class in near future.</p>
<p><a title="FFT simple usage example" rel="shadowbox;width=1000;height=390" href="/wp-content/uploads/asfft/FFTTest.swf">Simple demo example of FFT usage</a><br />
<a href="http://code.google.com/p/in-spirit/wiki/ASFFT">Project page at Google Code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspirit.ru/?feed=rss2&amp;p=405</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>FlashSURF -&gt; ASSURF</title>
		<link>http://blog.inspirit.ru/?p=401</link>
		<comments>http://blog.inspirit.ru/?p=401#comments</comments>
		<pubDate>Thu, 25 Feb 2010 00:22:21 +0000</pubDate>
		<dc:creator>Eugene</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[works]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[ASSURF]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[FlashSURF]]></category>
		<category><![CDATA[surf]]></category>

		<guid isPermaLink="false">http://blog.inspirit.ru/?p=401</guid>
		<description><![CDATA[The shortest blog post of mine.
I&#8217;ve received a mail from the Group Product Manager of Adobe Flash Player:
&#8220;I’m writing to you because the current name of the library misuses the Flash brand. As you know, Flash® is a well-known trademark of Adobe registered in many countries, and in order for us to protect it we [...]]]></description>
			<content:encoded><![CDATA[<p>The shortest blog post of mine.<br />
I&#8217;ve received a mail from the Group Product Manager of Adobe Flash Player:<br />
<em>&#8220;I’m writing to you because the current name of the library misuses the Flash brand. As you know, Flash® is a well-known trademark of Adobe registered in many countries, and in order for us to protect it we need to be diligent about the proper use of the mark&#8230; etc.&#8221;</em></p>
<p>As you may understand Adobe asked me to change the Lib name. I&#8217;ve no chance to debate on the subject as far as they are right here and they do what they should do. So after not long conversation new name has been chosen <strong>ASSURF</strong>. (thanx to Mario Klingemann and Jon Howard for the idea)</p>
<p>So if you have any bookmarks update it:<br />
<a href="http://code.google.com/p/in-spirit/wiki/ASSURF">ASSURF Wiki page</a><br />
<a href="http://code.google.com/p/in-spirit/source/browse/#svn/trunk/projects/ASSURF">ASSURF SWC Lib development project</a><br />
<a href="http://code.google.com/p/in-spirit/source/browse/#svn/trunk/projects/ASSURF.Examples">ASSURF usage examples project</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspirit.ru/?feed=rss2&amp;p=401</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
		<item>
		<title>FlashSURF &#8211; moving further</title>
		<link>http://blog.inspirit.ru/?p=386</link>
		<comments>http://blog.inspirit.ru/?p=386#comments</comments>
		<pubDate>Mon, 22 Feb 2010 10:29:44 +0000</pubDate>
		<dc:creator>Eugene</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[works]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[FlashSURF]]></category>
		<category><![CDATA[image processing]]></category>
		<category><![CDATA[image recognition]]></category>
		<category><![CDATA[surf]]></category>

		<guid isPermaLink="false">http://blog.inspirit.ru/?p=386</guid>
		<description><![CDATA[
Past couple of weeks I was working on FlashSURF project updates. More likely cosmetic updates: refactoring, adding methods, etc. I&#8217;ve screen-casted several videos showing up some usage possibilities.
Project SVN repo was divided in to 2 separate projects: one for FlashSURF SWC Lib development only and another for example projects. Now FlashSURF become really easy to [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><a href="http://code.google.com/p/in-spirit/wiki/ASSURF"><img style="border: 5px solid #DDDDDD;" src="/wp-content/uploads/flashsurf/fsurf.jpg" alt="FlashSURF" /></a></div>
<p>Past couple of weeks I was working on <a href="http://code.google.com/p/in-spirit/wiki/ASSURF">FlashSURF project</a> updates. More likely cosmetic updates: refactoring, adding methods, etc. I&#8217;ve screen-casted several videos showing up some usage possibilities.<br />
Project SVN repo was divided in to 2 separate projects: one for <a href="http://code.google.com/p/in-spirit/source/browse/#svn/trunk/projects/ASSURF">FlashSURF SWC Lib</a> development only and another for <a href="http://code.google.com/p/in-spirit/source/browse/#svn/trunk/projects/ASSURF.Examples">example projects</a>. Now FlashSURF become really easy to use as far you don&#8217;t have to compile and process it with <a href="http://blog.joa-ebert.com/2009/08/05/turbodieselsportinjection/">TDSI</a> every time you testing your project. Provided SWC lib already processed, all you need is to include it in your project.</p>
<p>As I&#8217;ve already mentioned I&#8217;ve screen-casted some videos. All this features are presented in Examples project and can be easily reproduced.</p>
<p><em>This one demonstrates multiple image tracking/searching in input video stream. I&#8217;ve precalculated several images and store them as references for future tracking. Then we just loops through references to search each on the screen.</em></p>
<p><object width="620" height="318"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9272590&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=9272590&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="620" height="318"></embed></object><br />
<br/><br />
<em>Here I&#8217;ve implemented selection tool and with the help of it I can easily select regions on the screen to store it as references. I was experimenting with playing cards and as you see it works pretty well.</em></p>
<p><object width="620" height="318"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9440333&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=9440333&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="620" height="318"></embed></object></p>
<p><strong>You will find more examples in the repository with demonstration of panoramic stitching, finding Homography matrix between reference and tracked object on the screen, saving and loading references as local binary files etc.</strong></p>
<p>I do realize there is a lot to add and improve in the project. I kindly ask everyone who is interested in using it to take a part by submitting features/methods requests and sharing improvements that can be done to existing methods. Just submit an issue in <a href="http://code.google.com/p/in-spirit/issues/list">Code repo</a> or simply drop me a line.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspirit.ru/?feed=rss2&amp;p=386</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Async PNG encoding and merging</title>
		<link>http://blog.inspirit.ru/?p=378</link>
		<comments>http://blog.inspirit.ru/?p=378#comments</comments>
		<pubDate>Mon, 25 Jan 2010 10:01:43 +0000</pubDate>
		<dc:creator>Eugene</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[works]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[async]]></category>
		<category><![CDATA[encoder]]></category>
		<category><![CDATA[filters]]></category>
		<category><![CDATA[flash10]]></category>
		<category><![CDATA[merging]]></category>
		<category><![CDATA[png]]></category>

		<guid isPermaLink="false">http://blog.inspirit.ru/?p=378</guid>
		<description><![CDATA[As you may read in my Twitter last week I was experimenting with asynchronous PNG image encoding and saving. It is very easy task until you need to save a really large/huge image file (for print purpose or whatever). As far as Flash don&#8217;t have ability to compress/deflate ByteArrays in append way or simply partly [...]]]></description>
			<content:encoded><![CDATA[<p>As you may read in my Twitter last week I was experimenting with asynchronous PNG image encoding and saving. It is very easy task until you need to save a really large/huge image file (for print purpose or whatever). As far as Flash don&#8217;t have ability to compress/deflate ByteArrays in append way or simply partly we surely will crash flash player while compressing image data for image larger then 10.000&#215;10.000 px.</p>
<p><a href="http://twitter.com/joa">Joa</a> provided a link to a <a href="http://github.com/emcmanus/flashzlib">flashzlib</a> by Ed McManus and that way the &#8220;sign&#8221; to use Alchemy to process compression via ZLIB.<br />
But what was my surprise when I found that we easily can compile original ZLIB sources in alchemy and use it in our Alchemy projects without any changes! And that was possible since December 2008! Can you believe it? <img src='http://blog.inspirit.ru/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
So I downloaded ZLIB sources and compile them in alchemy as the result I got static library I can append to any Alchemy project. All you need is to write wrapper C class to call functions in ZLIB and get the result back.</p>
<p>I also found brilliant optimized PNG class at <a href="http://wonderfl.net/code/05c93e9a9bb9ec5e4eb2eeefb37cd26be36ebdd6">wonderfl</a> that used different filters for the image data. I&#8217;ve encapsulated that filters in my PNG encoder in both synchronous and asynchronous way. Alchemy is used only for the compress of image data all other operations done in Flash. It is also possible to compile PNGLIB for the Alchemy (as easy as ZLIB) but it will result in really huge *.swc file. So it is to you to decide.</p>
<p>See small demo app where you can encode large PNG files asynchronous with compress level and filter options.</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_AsyncPNG_1888883294"
			class="flashmovie"
			width="620"
			height="70">
	<param name="movie" value="http://blog.inspirit.ru/wp-content/uploads/pngencode/AsyncPNG.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://blog.inspirit.ru/wp-content/uploads/pngencode/AsyncPNG.swf"
			name="fm_AsyncPNG_1888883294"
			width="620"
			height="70">
	<!--<![endif]-->
		<br />
<a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a><br />

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p><a href="http://code.google.com/p/in-spirit/wiki/PNGEncoder">You can find the package and usage example here</a><br />
<a href="http://in-spirit.googlecode.com/files/PNGEncoder.swc.zip">Direct PNGEncoder SWC Download</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspirit.ru/?feed=rss2&amp;p=378</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>FluidSolver 3D &#124; first steps</title>
		<link>http://blog.inspirit.ru/?p=373</link>
		<comments>http://blog.inspirit.ru/?p=373#comments</comments>
		<pubDate>Tue, 29 Dec 2009 10:48:39 +0000</pubDate>
		<dc:creator>Eugene</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[fluids]]></category>
		<category><![CDATA[particles]]></category>
		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://blog.inspirit.ru/?p=373</guid>
		<description><![CDATA[
Well finally I got some time to finish Flash based demo application for the FluidSolver in 3D experiment project. This project is based on my previous fluid solver classes and heavily use Joa&#8217;s TDSI tool. This is my first try to implement this simulation if flash and decided to start from Alchemy based Memory usage [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><a title="FluidSolver in 3D" rel="shadowbox;width=780;height=460" href="/wp-content/uploads/fluids3d/FluidSolver3D.swf"><img style="border: 5px solid #DDDDDD;" src="/wp-content/uploads/fluids3d/screen.png" alt="FluidSolver in 3D" /></a></div>
<p>Well finally I got some time to finish Flash based demo application for the FluidSolver in 3D experiment project. This project is based on my previous fluid solver classes and heavily use <a href="http://blog.joa-ebert.com/2009/08/05/turbodieselsportinjection/">Joa&#8217;s TDSI tool</a>. This is my first try to implement this simulation if flash and decided to start from Alchemy based Memory usage approach. In plans to try Pixel Bender combined with Alchemy&#8230; All calculations made in Flash using ByteArray read/write with TDSI to handle data. Particle engine is based on dynamically growing/reducing LinkedList.<br />
During building this demo I&#8217;ve lots of test versions, I&#8217;ve tried to use Processing to see the performance difference (you will find links to this screencasts later) also finally discovered the great power of GLSL in Java etc. Mostly because of my Processing results I decided to try Pixel Bender/Alchemy approach in near future. I truly belive it can be done faster in Flash.</p>
<p><a href="http://code.google.com/p/in-spirit/source/browse/#svn/trunk/projects/FluidSolver3D">Sources can be found in my Google repo at FluidSolver3D branch</a> (be careful it is not well organized cause still in heavy development)</p>
<p>OK, here we have Flash demo application that supports different option changes via <strong>Right Click menu</strong>. You can choose live mode by selecting any local mp3 file to visualize or to switch to manual mode. There is also an option to turn on/off Sparkles on particles.</p>
<p><a title="FluidSolver in 3D" rel="shadowbox;width=780;height=460" href="/wp-content/uploads/fluids3d/FluidSolver3D.swf">Fluids Solver in 3D demo application</a><br />
<a href="http://vimeo.com/8435362">See screencasted video on Akira Kiteshi &#8211; Pinball composition</a></p>
<p>Here is some Processing based demos:<br />
<a href="http://vimeo.com/7937565">Fluids 3D | Processing progress</a><br />
<a href="http://vimeo.com/8174093">Cube Fluids | fully GLSL based approach</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspirit.ru/?feed=rss2&amp;p=373</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Super Shape in 3D</title>
		<link>http://blog.inspirit.ru/?p=364</link>
		<comments>http://blog.inspirit.ru/?p=364#comments</comments>
		<pubDate>Thu, 12 Nov 2009 14:32:17 +0000</pubDate>
		<dc:creator>Eugene</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash10]]></category>
		<category><![CDATA[supershape]]></category>
		<category><![CDATA[supershape3d]]></category>

		<guid isPermaLink="false">http://blog.inspirit.ru/?p=364</guid>
		<description><![CDATA[
Couple of days before I stumbled upon Andre Michelle Super Ellipse example. You can think &#8211; nothing special but it is like magic how fast it performs and deforming in different 3D shapes. Next thing after Super Ellipse is Super Shape. It is a lot more complex in computation and I thought Flash would stack [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><a title="Super Shape in 3D" rel="shadowbox;width=1000;height=560" href="/wp-content/uploads/supershape3d/"><img style="border: 5px solid #DDDDDD;" src="/wp-content/uploads/supershape3d/screen.png" alt="Super Shape in 3D" /></a></div>
<p>Couple of days before I stumbled upon <a href="http://wonderfl.net/code/7139f357051926fe7514765e5038d252d12ba6ff">Andre Michelle Super Ellipse example</a>. You can think &#8211; nothing special but it is like magic how fast it performs and deforming in different 3D shapes. Next thing after Super Ellipse is Super Shape. It is a lot more complex in computation and I thought Flash would stack with it. But after some test it turns to be possible.<br />
You can find a lot more info on subject at <a href="http://local.wasp.uwa.edu.au/~pbourke/geometry/supershape3d/">Paul Bourke website</a>.<br />
I have created a demo application that shows basic usage of Super Shape class. <a href="http://hype.joshuadavis.com/">Hype project</a> was used for Sound Spectrum control and options adjustments upon sound change. This is a very dirty 3D rendering using built in Flash methods with very very primitive triangle Z sorting.</p>
<p><a href="/wp-content/uploads/supershape3d/super_shape_3d.zip">Here is the source for the class</a><br />
<a title="Super Shape in 3D" rel="shadowbox;width=1000;height=560" href="/wp-content/uploads/supershape3d/">Demo Application</a></p>
<p>Simple code example:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900;">// create instance with resolution 24</span>
<span style="color: #6699cc;">var</span> ss3d<span style="color: #000000;">:</span>SuperShape3d = <span style="color: #0033ff;">new</span> SuperShape3D<span style="color: #000000;">&#40;</span><span style="color: #000000;">24</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #009900;">// update shape by applying 2 Super Shapes parameters</span>
ss3d.update<span style="color: #000000;">&#40;</span><span style="color: #000000;">1.0</span>, <span style="color: #000000;">1.0</span>, <span style="color: #000000;">7.0</span>, <span style="color: #000000;">0.2</span>, <span style="color: #000000;">1.7</span>, <span style="color: #000000;">1.7</span>,
			<span style="color: #000000;">1.0</span>, <span style="color: #000000;">1.0</span>, <span style="color: #000000;">7.0</span>, <span style="color: #000000;">0.2</span>, <span style="color: #000000;">1.7</span>, <span style="color: #000000;">1.7</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #6699cc;">var</span> proj<span style="color: #000000;">:</span>PerspectiveProjection = <span style="color: #0033ff;">new</span> PerspectiveProjection<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
proj.fieldOfView = <span style="color: #000000;">75</span>;
<span style="color: #6699cc;">var</span> <span style="color: #004993;">matrix</span><span style="color: #000000;">:</span>Matrix3D = <span style="color: #0033ff;">new</span> Matrix3D<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #004993;">matrix</span>.appendScale<span style="color: #000000;">&#40;</span><span style="color: #000000;">64</span>, <span style="color: #000000;">64</span>, <span style="color: #000000;">64</span><span style="color: #000000;">&#41;</span>;
<span style="color: #004993;">matrix</span>.appendTranslation<span style="color: #000000;">&#40;</span> <span style="color: #000000;">0</span>, <span style="color: #000000;">0</span>, <span style="color: #000000;">128</span><span style="color: #000000;">&#41;</span>;
<span style="color: #004993;">matrix</span>.append<span style="color: #000000;">&#40;</span>proj.toMatrix3D<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
Utils3D.projectVectors<span style="color: #000000;">&#40;</span><span style="color: #004993;">matrix</span>, ss3d.wVerts, ss3d.projectedVerts, ss3d.uvts<span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #0033ff;">this</span>.<span style="color: #004993;">graphics</span>.<span style="color: #004993;">clear</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
ss3d.<span style="color: #004993;">draw</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff;">this</span>.<span style="color: #004993;">graphics</span>, <span style="color: #000000;">1</span>, 0x333333, <span style="color: #000000;">0</span><span style="color: #000000;">&#41;</span>;</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.inspirit.ru/?feed=rss2&amp;p=364</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
