<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-2228462097393285519</atom:id><lastBuildDate>Sat, 21 Sep 2024 00:02:42 +0000</lastBuildDate><category>Web Development</category><category>Flash</category><category>Actionscript</category><category>Papervision</category><category>Actionscript Physics Engine</category><category>APE</category><category>Flash Builder</category><category>Flex</category><category>Photography</category><category>SEO</category><category>Adobe</category><category>Dopplr API</category><category>Flash Player</category><category>Hardware Acceleration</category><category>Twitter API</category><category>Workflow</category><title>Federico Calvo</title><description>Web Developer - Flash, Actionscript, Papervision3D and much, much more...</description><link>http://blog.federicocalvo.com/</link><managingEditor>noreply@blogger.com (Anonymous)</managingEditor><generator>Blogger</generator><openSearch:totalResults>22</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-30406426235801483</guid><pubDate>Mon, 26 Jul 2010 03:58:00 +0000</pubDate><atom:updated>2010-07-25T21:07:28.691-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Photography</category><title>Latest iStockphoto addition.</title><description>This photo was taken in the Zoo of Buenos Aires this past June. The couple of white rhinoceros(es?) were just laying there, not very amused it seemed. They looked just like they were having peaceful moment.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.istockphoto.com/file_closeup.php?id=13698979&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 380px; height: 254px;&quot; src=&quot;http://www.istockphoto.com//file_thumbview_approve/13698979/2/istockphoto_13698979-rhinoceroses-resting.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Oh, forgot to mention that it is toned mapped also, I made it as subtle as possible so as not to incite iStock&#39;s approval gremlins fury, but it really shows on the textured animal skin.&lt;br /&gt;&lt;br /&gt;You can buy it now in &lt;a href=&quot;http://www.istockphoto.com/file_closeup.php?id=13698979&quot;&gt;iStockphoto.com&lt;/a&gt;</description><link>http://blog.federicocalvo.com/2010/07/latest-istockphoto-addition.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-8715970322643816876</guid><pubDate>Mon, 16 Nov 2009 21:43:00 +0000</pubDate><atom:updated>2009-11-16T14:33:53.723-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Actionscript</category><category domain="http://www.blogger.com/atom/ns#">Flex</category><title>Making Flex Profiler Work</title><description>Trying to improve my &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_0&quot;&gt;Actionscript&lt;/span&gt; debugging skills I decided to finally investigate what Adobe Flex 3 Professional &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_1&quot;&gt;Profiler&lt;/span&gt; is all about. David &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_2&quot;&gt;Gassner&#39;s&lt;/span&gt; &lt;a href=&quot;http://www.amazon.com/Flex-3-Bible-David-Gassner/dp/0470287640/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1258409767&amp;amp;sr=8-1&quot; target=&quot;_blank&quot;&gt;Flex 3 Bible&lt;/a&gt; was not much help unfortunately. It just references it and limits itself to telling you what buttons to click in the &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_3&quot;&gt;UI&lt;/span&gt; to start it but doesn&#39;t give a detailed explanation on it.&lt;br /&gt;&lt;br /&gt;Obviously, it didn&#39;t work for me. Opened up a project in Flex, clicked Run/Profile and nothing happened. At first I thought it was because it was an pure &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_4&quot;&gt;Actionscript&lt;/span&gt; Project but then after researching a bit I found out that I was not alone, it is a fairly common problem with &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_5&quot;&gt;FB&lt;/span&gt;3 Pro.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://arielsommeria.com/blog/2008/12/22/getting-the-flex-profiler-to-work/comment-page-1/#comment-224&quot; target=&quot;_blank&quot;&gt;This&lt;/a&gt; post from arielsommeria.com helped me the most but I still couldn&#39;t make it work. Trying out different things, I &lt;span style=&quot;font-weight: bold;&quot;&gt;finally made it work&lt;/span&gt; when I entered the &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_6&quot;&gt;ProfilerAgent&lt;/span&gt;.&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_7&quot;&gt;swf&lt;/span&gt; path like so in the mm.&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_8&quot;&gt;cfg&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;[Windows Vista]&lt;br /&gt;PreloadSwf=file:///C:/Users/[profile name]/[Flex Workspace]/.metadata/.plugins/com.adobe.flash.profiler/ProfilerAgent.swf?host=localhost&amp;amp;port=9999&lt;p&gt;This is, the file system path not the paths that appeared on every post online.&lt;/p&gt;&lt;p&gt;I hope it helps somebody and also check out the following video &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_9&quot;&gt;explanation&lt;/span&gt; of &lt;a href=&quot;http://tv.adobe.com/watch/360flex-conference/using-the-flex-builder-3-profiler-by-jun-heider&quot;&gt;Flex &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_10&quot;&gt;Profiler&lt;/span&gt; from Adobe TV&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description><link>http://blog.federicocalvo.com/2009/11/flex-profiler.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-1328607420624486410</guid><pubDate>Tue, 22 Sep 2009 14:00:00 +0000</pubDate><atom:updated>2009-09-22T07:23:11.381-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Dopplr API</category><category domain="http://www.blogger.com/atom/ns#">Twitter API</category><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>Twitter Flawed Profile Status Options</title><description>I really hate &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_0&quot;&gt;OAuth&lt;/span&gt;, the secure authorization open protocol which allows applications to get access to Twitter profiles without requesting the user to enter a &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_1&quot;&gt;username&lt;/span&gt; and password. I&#39;ve worked with &lt;a href=&quot;http://code.google.com/apis/accounts/docs/AuthForWebApps.html&quot;&gt;Google &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_2&quot;&gt;AuthSub&lt;/span&gt;&lt;/a&gt; for a &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_3&quot;&gt;Dopplr&lt;/span&gt; feed integration before and it was much simpler to work with...&lt;br /&gt;&lt;br /&gt;I believe that there is a profile status option missing in Twitter.I think they should have a profile status that is private, meaning that you authorize people to follow you and chose whether to follow them back and still have the twitter timeline public for all to see, subscribe to through RSS or consume as XML.&lt;br /&gt;&lt;br /&gt;The way it is now is that you are either completely public or completely private but the reason many users (like myself) are protecting their accounts is due to fake followers that have nothing to do with you or your interests and are simply pushing Twitts to your account. I want to decide who follows me and who to follow and at the same time have my timeline public. Another downside to the private status is that you won&#39;t appear on searches, so people cannot find you by things you write and tag.&lt;br /&gt;&lt;br /&gt;Oh! and Twitter also closed their crossdomain policy file so no direct flash consumption of any syndication or service they offer.</description><link>http://blog.federicocalvo.com/2009/09/twitter-flawed-profile-status-options.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-172489041899240142</guid><pubDate>Wed, 19 Aug 2009 13:33:00 +0000</pubDate><atom:updated>2009-08-19T06:39:40.975-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SEO</category><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>Tiny URLS and Search Engines</title><description>I was wondering today while posting to Twitter if tiny url references would be counted towards Google, Yahoo and other search engines rankings... It turns out that it doesn&#39;t.&lt;br /&gt;&lt;br /&gt;From Tiny.cc:&lt;pre&gt;&lt;blockquote&gt;We block search engine robots and spiders from following&lt;br /&gt;our redirect URLs. Using Tiny.cc in an effort to boost&lt;br /&gt;search engine rankings is useless.&lt;/blockquote&gt;&lt;/pre&gt;&lt;br /&gt;It makes sense from the anti-spam point of view but it is also killing legitimate references... I guess it pays to have a short domain name and link urls as it relates to Twitter specially.</description><link>http://blog.federicocalvo.com/2009/08/tiny-urls-and-search-engines.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-8936310634662833096</guid><pubDate>Fri, 26 Jun 2009 18:31:00 +0000</pubDate><atom:updated>2009-06-26T11:39:02.031-07:00</atom:updated><title>Flash Builder 4 - Auto Getter/Setter function generator</title><description>Here&#39;s another GUI improvement that I liked. Flash Builder 4 can generate getter/setter function automatically for you when you select a variable nad either right click on it:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8JRCLZbvvKjoLl7Lnx2jWgHkgLJyF7EOf8RaPO6PWxBWdrowXM2l08lOkT1dPMrFGOSE8X4edQKcAvkk90SraG6g8zOGTESat7X1az9P_Qim1e6pBNkmevKV1JWjj1wnKcnB0jLWqJmo/s1600-h/Untitled+picture.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8JRCLZbvvKjoLl7Lnx2jWgHkgLJyF7EOf8RaPO6PWxBWdrowXM2l08lOkT1dPMrFGOSE8X4edQKcAvkk90SraG6g8zOGTESat7X1az9P_Qim1e6pBNkmevKV1JWjj1wnKcnB0jLWqJmo/s400/Untitled+picture.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5351705713889541458&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Or select Source from the menu bar and then Generate Getter/Setter...:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8vG-pqpa8uVe8nUot1CGfHWzeknd1pckxUelwBNChSyXkJDiqJoHTqEm9Io95G9kBWCyMmRBmW8e6pjcTae5OEuBAfXpNRW6xMrvDNsvAuSD8qcwTIuERl0g2C9L4Ku8iTbcqwsKR8lU/s1600-h/Untitled+picture2.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 213px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8vG-pqpa8uVe8nUot1CGfHWzeknd1pckxUelwBNChSyXkJDiqJoHTqEm9Io95G9kBWCyMmRBmW8e6pjcTae5OEuBAfXpNRW6xMrvDNsvAuSD8qcwTIuERl0g2C9L4Ku8iTbcqwsKR8lU/s400/Untitled+picture2.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5351706893633756290&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It brings up this window:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEije36M-NInONfBMLdZ_HoMbxfcsxOfySoKhqZbJFNsJcr8wjTWWbNeVKHjzTzWnZDvvb0lPa4Pp61C4iRaZAERMcUJpLUo0I2OQoIGYzguh5OtRpDfVtCZQeAtXJ6LYr8Q4jsRuhTv8CE/s1600-h/Untitled+picture3.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 311px; height: 400px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEije36M-NInONfBMLdZ_HoMbxfcsxOfySoKhqZbJFNsJcr8wjTWWbNeVKHjzTzWnZDvvb0lPa4Pp61C4iRaZAERMcUJpLUo0I2OQoIGYzguh5OtRpDfVtCZQeAtXJ6LYr8Q4jsRuhTv8CE/s400/Untitled+picture3.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5351707355750326898&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It&#39;s nice, it&#39;ll save just a little bit of typing time for me.</description><link>http://blog.federicocalvo.com/2009/06/flash-builder-4-more-goodness.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8JRCLZbvvKjoLl7Lnx2jWgHkgLJyF7EOf8RaPO6PWxBWdrowXM2l08lOkT1dPMrFGOSE8X4edQKcAvkk90SraG6g8zOGTESat7X1az9P_Qim1e6pBNkmevKV1JWjj1wnKcnB0jLWqJmo/s72-c/Untitled+picture.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-227863479729518288</guid><pubDate>Fri, 19 Jun 2009 20:13:00 +0000</pubDate><atom:updated>2009-06-19T13:34:04.357-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Flash</category><category domain="http://www.blogger.com/atom/ns#">SEO</category><title>Searchable &amp; Indexable SWFs - In Depth</title><description>This is the most insightful recourse on Flash  searchability I&#39;ve found so far. It&#39;s a session on Flash and search engines in MAX 2008.&lt;br /&gt;&lt;br /&gt;&lt;embed src=&quot;http://tv.adobe.com/Embed.swf&quot; quality=&quot;high&quot; bgcolor=&quot;#000000&quot; width=&quot;450&quot; height=&quot;300&quot; name=&quot;AdobeTVPlayer&quot; play=&quot;true&quot; loop=&quot;false&quot; quality=&quot;high&quot; allowScriptAccess=&quot;always&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot; flashVars=&quot;v=~b64~aHR0cDovL2Fkb2JlLmVkZ2Vib3NzLm5ldC9mbGFzaC9hZG9iZS9hZG9iZXR2Mi9tYXhfMjAwOF9kZXZlbG9wLzE1OTY3NDE2MTNfMjkzNTM4OTAwMV8yMDAwLWNvcmJldHQtd2VkLTJwbS1kZXZlbG9wLmZsdj9yc3NfZmVlZGlkPTE1Mzg0JnhtbHZlcnM9Mg==&amp;w=450&amp;t=http://tv.adobe.com/vi+f15384v1000&amp;h=300&quot;&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;It is a monumental task what Adobe and Google have undertaken. Google programmed an automated virtual user that sorts the interactivities of any given SWF to present all the different states in that swf. Adobe has created a customized flash player called Ichabod that is tailor made for the virtual user to access and control. Apparently Ichabod runs much faster than the normal player so that the process is as efficient as possible. &lt;br /&gt;&lt;br /&gt;Even dynamically genererated textfields populated with content loaded at runtime like XML, txt, etc is now being indexed apparently.&lt;br /&gt;&lt;br /&gt;This is an unbelievable undertaking, but one that was absolutely necessary to ensure the viability of the flash platform into the future and the continued supremacy of Google as the Nr1 search Engine.&lt;br /&gt;&lt;br /&gt;Brilliant!</description><link>http://blog.federicocalvo.com/2009/06/searchable-indexable-swfs-in-depth.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-9136747953894857551</guid><pubDate>Mon, 08 Jun 2009 14:00:00 +0000</pubDate><atom:updated>2009-06-08T07:39:35.775-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Flash</category><category domain="http://www.blogger.com/atom/ns#">Flash Builder</category><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>More Flash Builder 4 niceties</title><description>I am posting these as I go along surprising myselft with new UI features that make my life easier.&lt;br /&gt;&lt;br /&gt;Here is a couple more:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzdoJcoo7x-S1xV2SiKuquKsVgKgSngDM93YkYYjlNBB_bK32jPEWDQhUG8NH6ij5LkjqD4dY2BpRlFMPKqyWVXJJMfvolagWDpKPe5D2IGN-uCBBgX_xXqHK83HemSr5dO_u93kjrxVs/s1600-h/Untitled-picture.gif&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 140px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzdoJcoo7x-S1xV2SiKuquKsVgKgSngDM93YkYYjlNBB_bK32jPEWDQhUG8NH6ij5LkjqD4dY2BpRlFMPKqyWVXJJMfvolagWDpKPe5D2IGN-uCBBgX_xXqHK83HemSr5dO_u93kjrxVs/s400/Untitled-picture.gif&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5344964902541417154&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;To the left of the code row numbers a green arrow appears that signals that the current method is being overridden  and also, when you place the cursor over a method or variable, all instances and declarations of it get highlighted in the code in gray. I&#39;ve already found these features very good in helping me keep track of my code very quick and intuitively.&lt;br /&gt;&lt;br /&gt;Good stuff Adobe!&lt;br /&gt;&lt;img src=&quot;file:///C:/Users/fede/AppData/Local/Temp/moz-screenshot.jpg&quot; alt=&quot;&quot; /&gt;</description><link>http://blog.federicocalvo.com/2009/06/more-flash-builder-4-niceties.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzdoJcoo7x-S1xV2SiKuquKsVgKgSngDM93YkYYjlNBB_bK32jPEWDQhUG8NH6ij5LkjqD4dY2BpRlFMPKqyWVXJJMfvolagWDpKPe5D2IGN-uCBBgX_xXqHK83HemSr5dO_u93kjrxVs/s72-c/Untitled-picture.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-1954615483393275294</guid><pubDate>Sat, 06 Jun 2009 23:21:00 +0000</pubDate><atom:updated>2009-06-06T16:40:26.597-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Flash</category><category domain="http://www.blogger.com/atom/ns#">Flash Player</category><category domain="http://www.blogger.com/atom/ns#">Hardware Acceleration</category><title>Flash Player to harness hardware acceletarion</title><description>Soon,  Flash Player is going to start making use of GPUs power for video and graphics acceleration. This is a feature that the Flash 3D community is clamoring for quite some time now. Nobody is saying how soon though, maybe on the next version of the player? I hope so.&lt;br /&gt;&lt;br /&gt;This expands the currently available hardware acceleration in the FP which I believe is geared for scaling, particularly in fullscreen mode.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.macromedia.com/support/documentation/en/flashplayer/help/images/display_en.gif&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 213px; height: 136px;&quot; src=&quot;http://www.macromedia.com/support/documentation/en/flashplayer/help/images/display_en.gif&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is an &lt;a href=&quot;http://www.nvidia.com/object/io_1243934217700.html&quot; target=&quot;_parent&quot;&gt;nVidia press release&lt;/a&gt; that announces the collaboration. This makes me think though, what happens if I have an ATI Video Board? Are we going to start recognizing hardware now as we routinelly do with browsers?&lt;br /&gt;&lt;br /&gt;Here&#39;s an answer to this question with the currently available FP hardware acceleration from Adobe so that we can get a hold of the complexity that this could bring to the table:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;h4 id=&quot;117111&quot;&gt;Will hardware-accelerated scaling work on all computers?&lt;/h4&gt; &lt;p&gt;For hardware-accelerated scaling to work, you need Microsoft® DirectX 9 with VRAM 128 MB for Windows and OpenGL for Apple® Macintosh®, OS X v10.2 or higher. There might be compatibility issues with older hardware and drivers. (See &lt;a href=&quot;http://www.adobe.com/products/flashplayer/productinfo/systemreqs/&quot;&gt;Flash Player system requirements&lt;/a&gt;.) With older versions of Flash Player, you should not see dramatic changes as the player reverts from hardware-accelerated scaling back to software scaling.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;</description><link>http://blog.federicocalvo.com/2009/06/flash-player-to-harness-hardware.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-480750478015851970</guid><pubDate>Thu, 04 Jun 2009 14:06:00 +0000</pubDate><atom:updated>2009-06-04T14:31:42.791-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Flash</category><category domain="http://www.blogger.com/atom/ns#">Flash Builder</category><category domain="http://www.blogger.com/atom/ns#">Flex</category><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>Flash Builder 4 Beta - First Impressions</title><description>I&#39;ve installed the beta and here are the first things that stood out for me which look very promising:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Imported Flex Builder 3 with no problems, it let me know that the project being imported was created under an older version of the Flex Framework and offered the option to select which one I wanted to utilize for it in Flash Builder.&lt;/li&gt;&lt;li&gt;It also listed the Path Variables that needed to be setup.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuS0vzXesx_e1z7lk3N0mjlqACCGlfOwT2JAgqYrteamqII-hHOvHfoxwUWF5Rl42B90470bJ2lMMyRLr6F0VKz5KY6In3V2Tbd84RvXkjgfDQAuZi9aURRV1ajmhgHJO7n0SEqPhVEow/s1600-h/Untitled-3.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 212px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuS0vzXesx_e1z7lk3N0mjlqACCGlfOwT2JAgqYrteamqII-hHOvHfoxwUWF5Rl42B90470bJ2lMMyRLr6F0VKz5KY6In3V2Tbd84RvXkjgfDQAuZi9aURRV1ajmhgHJO7n0SEqPhVEow/s400/Untitled-3.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5343477303235930290&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;UI Glitches are gone. Many (including me) have complained of disappearing UI elements in Flex Builder 3, in my case I always have problems under Project/Preferences screen.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I was pleased to see that under the project source folder (src by default) there is now a Package node, which is clearer instead of showing (or not showing in the case of default packages) subfolders.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDul-w5aTPXqfi9pfv7qMR8mHV5mCJGALXcnXkqAh67Z5R7otFCRt-ZzjBkd8kOrLZRICpwdG1wnc6IJCjqROpEQJ5d_yx0vlfyowhDeFR4Wz9TlmwO9dq7n2pO5ZBDXZc2ozpKo_z_QY/s1600-h/Untitled-2.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 218px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDul-w5aTPXqfi9pfv7qMR8mHV5mCJGALXcnXkqAh67Z5R7otFCRt-ZzjBkd8kOrLZRICpwdG1wnc6IJCjqROpEQJ5d_yx0vlfyowhDeFR4Wz9TlmwO9dq7n2pO5ZBDXZc2ozpKo_z_QY/s400/Untitled-2.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5343479884975384482&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;There is also a new node on the Package Explorer for Referenced Libraries which holds all imported SWCs.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNCjbMMU4pV71xhJpT3lVzewSpriTPOQozTs8KRM8u7HvQe-GrtTvLeV3gwPs1aRHcVX3pX6tKGuc1qmQuCnptai8JLKR6kbhbfGNib0wj-MS0VtFcAEEnJuUbflWEO4QQhKkW5AL4-z4/s1600-h/Untitled-4.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 393px; height: 400px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNCjbMMU4pV71xhJpT3lVzewSpriTPOQozTs8KRM8u7HvQe-GrtTvLeV3gwPs1aRHcVX3pX6tKGuc1qmQuCnptai8JLKR6kbhbfGNib0wj-MS0VtFcAEEnJuUbflWEO4QQhKkW5AL4-z4/s400/Untitled-4.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5343480893153828050&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;More to come as I continue to use it!&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;</description><link>http://blog.federicocalvo.com/2009/06/flash-builder-4-beta-first-impressions.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuS0vzXesx_e1z7lk3N0mjlqACCGlfOwT2JAgqYrteamqII-hHOvHfoxwUWF5Rl42B90470bJ2lMMyRLr6F0VKz5KY6In3V2Tbd84RvXkjgfDQAuZi9aURRV1ajmhgHJO7n0SEqPhVEow/s72-c/Untitled-3.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-1945463131203180363</guid><pubDate>Tue, 02 Jun 2009 13:36:00 +0000</pubDate><atom:updated>2009-06-02T06:49:09.674-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Adobe</category><category domain="http://www.blogger.com/atom/ns#">Flash</category><category domain="http://www.blogger.com/atom/ns#">Flash Builder</category><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>Adobe Flash Builder 4 Beta now available (Formerly Flex Builder)</title><description>Adobe announced the release of Flash Builder 4 which was previously known as Flex Builder 3. As they say in their posting in Adobe Labs, the shift in name has to do with the differentiation between the open source free Flex Framework and the commercially available developing product suite. Also, dropping in the F brand into the name of this awesome product is definitely going to attract more flash developers who might have been reluctant to pick it up until now.&lt;br /&gt;&lt;br /&gt;A video of the new features can be found &lt;a href=&quot;http://labs.adobe.com/technologies/flashbuilder4/tutorials/intro/&quot;&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;The 30 free beta is available &lt;a href=&quot;http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_flashbuilder4&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I am downloading it now, so I haven&#39;t tested it yet but I am excited with the improvement of the workflow as it has to do with working with flash graphic assets, which anyone doing pure Actionscript Projects will attest to, it desperately needed simplification.</description><link>http://blog.federicocalvo.com/2009/06/adobe-flash-builder-4-beta-now.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-8109025986025032722</guid><pubDate>Thu, 14 May 2009 13:44:00 +0000</pubDate><atom:updated>2009-05-14T06:46:10.282-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Photography</category><title>My Latest iStockPhoto addition</title><description>The goblins at &lt;a href=&quot;http://www.iStockphoto.com&quot; target=&quot;_blank&quot;&gt;iStockphoto.com&lt;/a&gt; just approved my newest addition.&lt;br /&gt;&lt;br /&gt;Check it out, it&#39;s a dusk photo of the Miami Skyline taken from the Rickenbacker causeway coming from Key Biscayne.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.istockphoto.com/file_closeup.php?id=9253475&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 380px; height: 220px;&quot; src=&quot;http://www2.istockphoto.com/file_thumbview_approve/9253475/2/istockphoto_9253475-miami-cityscape-at-dusk.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The truck lights where a little bit of a lucky shot. I had the tripod setup and my Nikon D200 setup on a 2 second release timer. So I heard something big coming behind me, closed my eyes and released the shutter. The camera started counting and it released just at the perfect time. Couldn&#39;t have done it if tried timing it manually.&lt;br /&gt;&lt;br /&gt;Thank you Goblins!</description><link>http://blog.federicocalvo.com/2009/05/my-latest-istockphoto-addition.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-112263698525307579</guid><pubDate>Tue, 14 Apr 2009 18:16:00 +0000</pubDate><atom:updated>2009-04-20T06:47:17.132-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Actionscript</category><category domain="http://www.blogger.com/atom/ns#">Actionscript Physics Engine</category><category domain="http://www.blogger.com/atom/ns#">APE</category><category domain="http://www.blogger.com/atom/ns#">Flash</category><category domain="http://www.blogger.com/atom/ns#">Papervision</category><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>Papervision 3D + physics engine.</title><description>I&#39;ve done several updates to the model which I haven&#39;t posted about. They are:&lt;br /&gt;&lt;br /&gt;- Got rid of ShadowCaster.&lt;br /&gt;- Added click behavior.&lt;br /&gt;&lt;br /&gt;The reason I had to eliminate ShadowCaster was because it was downgrading performance too much when the stage was big. Because I am working with full screen stage it was a big issue.&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href=&quot;http://blog.zupko.info/&quot;&gt;Andy Zupko&lt;/a&gt; who recommended a better alternative for shadows for what I was trying to do, and even provided the logic for calculating positioning based on light and sphere position. The new version has a plane with blurred circle baked texture material per sphere. Positioned at the bottom of the sphere and with the following logic from Andy to calculate position:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style=&quot;font-style: italic;&quot;&gt;var vector: Number3D = new Number3D(m.x - light.x, m.y-light.y, m.z - light.z);&lt;br /&gt;var spherePos:Number3D = new Number3D(m.x, m.y, m.z);&lt;br /&gt;vector.normalize();&lt;br /&gt;vector.multiplyEq(m.radius);&lt;br /&gt;vector = Number3D.add(vector, spherePos);&lt;br /&gt;this.position = vector;&lt;/blockquote&gt;m being each marble (sphere), and light, well... the light :s.&lt;br /&gt;&lt;br /&gt;This runs on every frame as well because as the position of the sphere relative to the light position changes, so does the shadow obviously.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border: 4px solid rgb(204, 102, 0); width: 400px; height: 300px; text-align: center;&quot;&gt;&lt;embed src=&quot;http://www.federicocalvo.com/marbles/9.swf&quot; bgcolor=&quot;#000000&quot; name=&quot;9&quot; play=&quot;true&quot; loop=&quot;false&quot; quality=&quot;high&quot; allowscriptaccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot; width=&quot;100%&quot; align=&quot;middle&quot; height=&quot;100%&quot;&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;You&#39;ll also notice that I added onClick event handler as well finally. More on that on my next posting.&lt;br /&gt;&lt;br /&gt;Oops! spheres too big? Visit the bigger site &lt;a href=&quot;http://www.federicocalvo.com/marbles/paperbase.html&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;here&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Cheers!</description><link>http://blog.federicocalvo.com/2009/04/papervision-3d-physics-engine.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-4866459952794305871</guid><pubDate>Wed, 08 Apr 2009 13:11:00 +0000</pubDate><atom:updated>2009-04-08T08:06:33.259-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Actionscript</category><category domain="http://www.blogger.com/atom/ns#">Actionscript Physics Engine</category><category domain="http://www.blogger.com/atom/ns#">Papervision</category><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>Papervision 3D, ShadowCaster tweaks and ColorMatrixFilter Animation</title><description>In this version I &quot;modified&quot; (hacked would be a better word) &lt;a href=&quot;http://blog.zupko.info/?p=146&quot;&gt;Andy Zupko&#39;s ShadowCaster&lt;/a&gt; class because of the problems I was having using it (see my &lt;a href=&quot;http://blog.federicocalvo.com/2009/04/casting-shadows-in-papervision3d.html&quot;&gt;previous post&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;Fixed (or hacked really) my problem with the non perFaceCasting, that is using the ShadowCaster.castBoundingSphere() method. My problem was that the shadow was being affected by the rotation of the sphere (see my previous post), so I changed the following in the ShadowCaster class:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;FROM&lt;/span&gt;&lt;br /&gt;var dx:Number = r2d.x-c2d.x;&lt;br /&gt;var dy:Number = r2d.y-c2d.y;&lt;br /&gt;var rad:Number = Math.sqrt(dx*dx+dy*dy);&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;TO&lt;/span&gt;&lt;br /&gt;var dx:Number = r2d.x-c2d.x;&lt;br /&gt;var dy:Number = r2d.y-c2d.y;&lt;br /&gt;var rad:Number = &lt;span style=&quot;font-style:italic;&quot;&gt;b.radius/1.1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Divided by 1.1 to make the shadow a little smaller than the radius. It’s not accurate but it works and hopefully somebody will address this in a more professional/consistent way.&lt;br /&gt;&lt;br /&gt;I also added some some behavior to the mouse and collision events. For now just animated color using ColorMatrixFilter.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border: 4px solid rgb(204, 102, 0); width: 400px; height: 300px; text-align: center;&quot;&gt;&lt;embed src=&quot;http://www.federicocalvo.com/marbles/8.swf&quot; bgcolor=&quot;#000000&quot; name=&quot;8&quot; play=&quot;true&quot; loop=&quot;false&quot; quality=&quot;high&quot; allowscriptaccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot; width=&quot;100%&quot; align=&quot;middle&quot; height=&quot;100%&quot;&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Bigger, stand-alone version &lt;a href=&quot;http://www.federicocalvo.com/marbles/paperbase.html&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I also debugged the mouse generated forces (Ad nauseam) because I found some problems with it. Thanks &lt;a href=&quot;http://www.linkedin.com/pub/6/1ba/611&quot;&gt;Cesar Cintron&lt;/a&gt; for the feedback. A brief explanation is that I was canceling events from being dispatched by the mouse on the wrong side of the sphere. This happened when the mouse movement was very fast and so the event was dispatched late when the mouse had already passed the center of rotation and thus fired on the wrong side of the ball, making it shoot very fast in the opposite direction from that of the mouse movement.</description><link>http://blog.federicocalvo.com/2009/04/papervision-3d-shadowcaster-tweaks-and.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-5907271348277543306</guid><pubDate>Fri, 03 Apr 2009 00:56:00 +0000</pubDate><atom:updated>2009-04-02T18:28:48.672-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Actionscript</category><category domain="http://www.blogger.com/atom/ns#">Flash</category><category domain="http://www.blogger.com/atom/ns#">Papervision</category><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>Casting Shadows in Papervision3D - ShadowCaster class</title><description>I&#39;ve added shadows to my model today. Thanks to the amazing work of  &lt;a href=&quot;http://blog.zupko.info&quot;&gt;Andrew Zupko&lt;/a&gt; who did (and re-did) the classes for &lt;a href=&quot;http://blog.zupko.info/?p=146&quot;&gt;shadow casting in Papervision3D&lt;/a&gt;, I was able to integrate them very easily. I think this stand-alone class should make it into the trunk eventually.&lt;br /&gt;&lt;br /&gt;I bumped into a problem though, when I setup the castPerFace parameter in the castModel method to true, it works perfectly. You can even see the shadow of the sides of the sphere which, in order to keep polygon count down, is not entirely smooth. You can see this &quot;good&quot; version below.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border: 4px solid rgb(204, 102, 0); width: 400px; height: 300px; text-align: center;&quot;&gt;&lt;embed src=&quot;http://www.federicocalvo.com/marbles/7_good.swf&quot; bgcolor=&quot;#000000&quot; name=&quot;7&quot; play=&quot;true&quot; loop=&quot;false&quot; quality=&quot;high&quot; allowscriptaccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot; width=&quot;100%&quot; align=&quot;middle&quot; height=&quot;100%&quot;&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;BUT, I don&#39;t really need per face casting, it adds some some processing to the already cpu intensive model and the non-per face casting method is perfect because it projects a bounding sphere of the model as a shadow. So given that my models are spheres, I could use the performance benefit of using the simpler shadow casting.&lt;br /&gt;&lt;br /&gt;Here&#39;s the thing, shadows do weird things when setup without the per face casting. It&#39;s like the shadow is bouncing underneath the ball. Must surelly have something to do with the fact that it is turning but couldn&#39;t figure out the mathematics in the ShadowCaster class to be able to fix it, or at least play with it. What makes me think the it could be the ShadowCaster class and not the  way I&#39;ve implemented it (didn&#39;t include the clone hack for example) is because it works as expected with the per face casting.&lt;br /&gt;&lt;br /&gt;I am going to leave it like that for now until I (or someone) finds a fix to this issue. This bad version can be found &lt;a href=&quot;http://www.federicocalvo.com/marbles/7_bad.html&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;here&lt;/span&gt;&lt;/a&gt;.</description><link>http://blog.federicocalvo.com/2009/04/casting-shadows-in-papervision3d.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-6280795425625110734</guid><pubDate>Mon, 30 Mar 2009 20:31:00 +0000</pubDate><atom:updated>2009-03-31T06:29:22.565-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Actionscript</category><category domain="http://www.blogger.com/atom/ns#">Actionscript Physics Engine</category><category domain="http://www.blogger.com/atom/ns#">APE</category><category domain="http://www.blogger.com/atom/ns#">Flash</category><category domain="http://www.blogger.com/atom/ns#">Papervision</category><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>Papervision 3D + APE Physics Engine, Mouse Forces tweaks.</title><description>After some diaper changes, a few baby bottles and a couple of trips to the day care, I was able to implement some needed logic to the spheres model. Here&#39;s what I added/changed this time around:&lt;br /&gt;&lt;br /&gt;- Calculated the mouse speed and added it into the calculations of the &quot;onOver&quot; force. In this version, the force generated at the collision between mouse and sphere, is proportional to the instantaneous mouse speed at that moment (an the mass of the sphere as well, but this is taken care of by physics engine (APE).&lt;br /&gt;&lt;br /&gt;- Played around with various parameters so that the overall movement ends up like I wanted it to.&lt;br /&gt;&lt;blockquote&gt;APEngine.init(1/3);&lt;br /&gt;APEngine.damping=0.98;&lt;br /&gt;CircleParticle.mass = 3&lt;br /&gt;CircleParticle.elasticity=0.4 (this one might be too high)&lt;br /&gt;CircleParticle.friction=0.1&lt;br /&gt;CircleParticle.multisample = 4 (might have to reduce this for performance)&lt;br /&gt;&lt;/blockquote&gt;The multisample value is the amount of times the engine checks for collision in each step of the engine.&lt;br /&gt;&lt;br /&gt;- Added calculations to reduce the magnitude of the resulting mouse collision velocity vector if the sphere is already moving in the same direction as the mouse. If not, every mouse collision would generate a force as if the sphere was static which results in a bigger force.&lt;br /&gt;&lt;br /&gt;Here is the result, view it full screen &lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;a href=&quot;http://www.federicocalvo.com/marbles/paperbase.html&quot;&gt;here&lt;/a&gt;&lt;/span&gt; for a better experience:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border: 4px solid rgb(204, 102, 0); width: 400px; height: 300px; text-align: center;&quot;&gt;&lt;embed src=&quot;http://www.federicocalvo.com/marbles/6.swf&quot; bgcolor=&quot;#000000&quot; name=&quot;6&quot; play=&quot;true&quot; loop=&quot;false&quot; quality=&quot;high&quot; allowscriptaccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot; width=&quot;100%&quot; align=&quot;middle&quot; height=&quot;100%&quot;&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Thanks &lt;a href=&quot;http://www.axelbunge.com/&quot; target=&quot;_blank&quot;&gt;Axel Bunge&lt;/a&gt;, Sebastián Pisa, &lt;a href=&quot;http://www.linkedin.com/pub/4/319/5aa&quot; target=&quot;_blank&quot;&gt;Esteban Rodriguez&lt;/a&gt;, &lt;a href=&quot;http://www.linkedin.com/pub/6/1ba/611&quot; target=&quot;_blank&quot;&gt;Cesar Cintron&lt;/a&gt; &amp; Facundo Gamallo for the feedback.</description><link>http://blog.federicocalvo.com/2009/03/papervision-3d-ape-physics-engine-mouse.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-225944238573270014</guid><pubDate>Wed, 25 Mar 2009 21:17:00 +0000</pubDate><atom:updated>2009-03-25T16:03:48.674-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Actionscript</category><category domain="http://www.blogger.com/atom/ns#">Actionscript Physics Engine</category><category domain="http://www.blogger.com/atom/ns#">APE</category><category domain="http://www.blogger.com/atom/ns#">Flash</category><category domain="http://www.blogger.com/atom/ns#">Papervision</category><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>Papervision3D + APE Physics Engine - Fourth Iteration</title><description>Completed the next step. &lt;br /&gt;&lt;br /&gt;- I added two more balls to see how they would work with each other in terms of the physics and everything worked like a charm. Their initial positions are random in the 2d space.&lt;br /&gt;&lt;br /&gt;- I changed the material of the sphere at this point because the wire material was degrading performance of the mouseover event handler. The event fired over every line of the geometry and was really annoying.&lt;br /&gt;&lt;br /&gt;- Added a white light so the volume of the sphere would be seen better.&lt;br /&gt;&lt;br /&gt;- Changed the mouse interactivity to happen on mousemove over the sphere as well as on mouseover. The mousemove handler created much smaller forcers that the mouseover one. I like it this way because you can &#39;kick&#39; the ball initially (on over) and  then by following it and on over it can be handled much easier, including slowing it down.&lt;br /&gt;&lt;br /&gt;Here it is.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border: 4px solid rgb(204, 102, 0); width: 400px; height: 300px; text-align: center;&quot;&gt;&lt;embed src=&quot;http://www.federicocalvo.com/marbles/5.swf&quot; bgcolor=&quot;#000000&quot; name=&quot;5&quot; play=&quot;true&quot; loop=&quot;false&quot; quality=&quot;high&quot; allowscriptaccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot; width=&quot;100%&quot; align=&quot;middle&quot; height=&quot;100%&quot;&gt;&lt;/embed&gt;&lt;br /&gt;  &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;- After some usability feedback it is clear that I have to consider the mouse velocity so that the forces are greater or smaller depending on it. This is the next step.</description><link>http://blog.federicocalvo.com/2009/03/papervision3d-ape-physics-engine-fourth.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-7331828821406957369</guid><pubDate>Wed, 25 Mar 2009 13:45:00 +0000</pubDate><atom:updated>2009-03-25T16:23:33.503-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Actionscript</category><category domain="http://www.blogger.com/atom/ns#">Actionscript Physics Engine</category><category domain="http://www.blogger.com/atom/ns#">APE</category><category domain="http://www.blogger.com/atom/ns#">Flash</category><category domain="http://www.blogger.com/atom/ns#">Papervision</category><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>Papervision 3D + Physics Rotation Easing</title><description>This turned out to be easier that I expected. The AbstractParticle class which CircleParticle inherits from, implements a velocity property in the form of a vector. SO the only thing left was using the X &amp;amp; Y components of the vector as inputs on the Matrix3D.rotationX &amp;amp; Matrix3D.rotationY transformation Matrixes.&lt;br /&gt;&lt;br /&gt;A by-product of tying translation to rotation, which, thinking about it it&#39;s just the way it is in the real world, is that bounces automatically change rotation direction as the sphere changes translation directions. It also ensures the perfect synch between rotation speed and rotation speed, so once the correct matching ratio between the two velocities is found, it works perfectly.&lt;br /&gt;&lt;br /&gt;Here it it the result:&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border: 4px solid rgb(204, 102, 0); width: 400px; height: 300px; text-align: center;&quot;&gt;&lt;embed src=&quot;http://www.federicocalvo.com/marbles/4.swf&quot; bgcolor=&quot;#000000&quot; name=&quot;4&quot; play=&quot;true&quot; loop=&quot;false&quot; quality=&quot;high&quot; allowscriptaccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot; width=&quot;100%&quot; align=&quot;middle&quot; height=&quot;100%&quot;&gt;&lt;/embed&gt;&lt;br /&gt;  &lt;/div&gt;</description><link>http://blog.federicocalvo.com/2009/03/papervision-3d-physics-rotation-easing.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-4227112072240193595</guid><pubDate>Tue, 24 Mar 2009 18:41:00 +0000</pubDate><atom:updated>2009-03-25T16:23:33.504-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Actionscript</category><category domain="http://www.blogger.com/atom/ns#">Actionscript Physics Engine</category><category domain="http://www.blogger.com/atom/ns#">APE</category><category domain="http://www.blogger.com/atom/ns#">Flash</category><category domain="http://www.blogger.com/atom/ns#">Papervision</category><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>Papervision 3D 2 plus APE physics engine integration.</title><description>So I&#39;ve completed the initial &lt;a href=&quot;http://blog.papervision3d.org/&quot;&gt;Papervision3D&lt;/a&gt; + &lt;a href=&quot;http://www.cove.org/ape/&quot;&gt;APE &lt;/a&gt;integration. I added forces on mouseOver to the sphere so that at the same time that the handler rotates it, it moves it as well. Also, I&#39;ve set the boundaries of the stage so that the sphere or marble doesn&#39;t get off-stage. There is a slight mis-alignment between the Camera 3D perspective and the APE 2D engine because, being 2D the projections of the viewpoint are different, but I can live with that. &lt;br /&gt;&lt;br /&gt;To sum it all up this is a Papervision3D Sphere primitive, a static camera, a 2D CircleParticle for the physics engine dummy and the four RecatangleParticles for the &#39;walls&#39;.  &lt;br /&gt;&lt;br /&gt;I&#39;m still playing with damping ratios, animation speed and the synchronization of the Papervision 3D spherical rotation and the 2D physics translation &amp; bounces. Also the interactivity is still a little slow but once there are multiple marbles interacting with each other, it going to feel faster. I don&#39;t think I&#39;ll have more than 6 spheres if it isn&#39;t too hard on the CPU. &lt;br /&gt;&lt;br /&gt;Next I&#39;ll be working on the easing of the rotation so that it synchs with the damping of the translations. I have an idea of how to do this but as it often turns out, it never is as easy as I had originally thought. &lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;width:400px;height:300px;border:solid #cc6600 4px;text-align:center&quot;&gt;&lt;embed src=&quot;http://www.federicocalvo.com/marbles/3.swf&quot; quality=&quot;high&quot;  bgcolor=&quot;#000000&quot; width=&quot;100%&quot; height=&quot;100%&quot; name=&quot;3&quot; align=&quot;middle&quot; play=&quot;true&quot;     loop=&quot;false&quot; quality=&quot;high&quot; allowScriptAccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot;&gt;&lt;br /&gt;   &lt;/embed&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I&#39;m also going to try to recreate the way bounces off constraints invert the rotation vector on the sphere.</description><link>http://blog.federicocalvo.com/2009/03/papervision-3d-2-plus-ape-physics.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-3539850268345585549</guid><pubDate>Mon, 23 Mar 2009 20:26:00 +0000</pubDate><atom:updated>2009-03-24T16:51:17.436-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Actionscript</category><category domain="http://www.blogger.com/atom/ns#">Flash</category><category domain="http://www.blogger.com/atom/ns#">Papervision</category><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>Papervision 3D Sphere Globlal Axis Rotation</title><description>&lt;span style=&quot;font-weight: bold;&quot;&gt;Problem:&lt;/span&gt;&lt;br /&gt;In my previous post (link here) I realized the the quick and dirty way of turning a sphere was not cutting it for me because the sphere was always turning along the Sphere&#39;s own coordinate axis (x &amp;amp; y in this case). So, no matter how the sphere was oriented, meaning what the angle of the X axis was for example, if the user moused over the (absolute) lower half of the sphere it turned it (relatively) along it&#39;s own X axis.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Solved!&lt;/span&gt;&lt;br /&gt;In this second iteration I converted the rotation on mouseOver so that the sphere  rotates around the axis defined by the perpendicular of the vector created by the point on the surface of the sphere over which the user rolled the mouse over and the origin of the sphere coordinates (0,0,0).&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border: 4px solid rgb(204, 102, 0); width: 400px; height: 300px; text-align: center;&quot;&gt;&lt;embed src=&quot;http://www.federicocalvo.com/marbles/2.swf&quot; bgcolor=&quot;#000000&quot; name=&quot;2&quot; play=&quot;true&quot; loop=&quot;false&quot; quality=&quot;high&quot; allowscriptaccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot; width=&quot;100%&quot; align=&quot;middle&quot; height=&quot;100%&quot;&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;How is this done?&lt;/span&gt;&lt;br /&gt;Regular trigonometry doesn&#39;t cut it for this. Why? because both rotating axis are dependent on each other. As the sphere rotates along one axis by a given the angle, it affects the other... or something like that. A new axis of rotation needs to be resolved for every step of the 3d animation. For an in-depth explanation go to this website that deals with &lt;a href=&quot;http://www.euclideanspace.com/maths/algebra/matrix/orthogonal/rotation/index.htm&quot; target=&quot;_blank&quot;&gt;3D axis rotations, spherical trigonometry and other nasty looking mathematical models&lt;/a&gt;. Specifically scroll down to the &quot;Axis Angle rotation&quot; and the link for &quot;axis-angle to matrix conversion&quot;.&lt;br /&gt;&lt;br /&gt;Luckily the Papervision Gods gave us full fledge transformation matrixes to resolve this in a relatively simple way. Particularly the rotationX &amp;amp; Y static methods of the Matrix3D class saves us a LOT of work. The calculations of the new revolving 3d axis looks something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: courier new;&quot;&gt;//get original sphere transform matrix&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt;var tempMatrix:Matrix3D = sphere.transform;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: courier new;&quot;&gt;//create&lt;/span&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: courier new;&quot;&gt;the rotation Matrixes for each local rotation axis given the corresponding X &amp;amp; Y&lt;br /&gt;//distances where the user rolled over on the surface of the sphere&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: courier new;&quot;&gt;//Note: The value passed to Matrix3D.rotationX() should really be radians but I&#39;m just using the x &amp;amp; y values divided by rotSpeedRatio which is a constant to bring the values down to &quot;radiany&quot; magnitudes and thus decrease the speed of the rotation. this will have to be the variable to work with when I implement the slowing down of the rotation.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt; var rotX:Matrix3D  = Matrix3D.rotationX(-[mouse Y here]/[rotSpeedRatio]);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt; var rotY:Matrix3D  = Matrix3D.rotationY(-[mouse X here]/[rotSpeedRatio]);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: courier new;&quot;&gt;//Mix both Matrixes together&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt; var rotResult:Matrix3D = Matrix3D.multiply(rotX,rotY);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(153, 153, 153); font-family: courier new;&quot;&gt;//Apply (Multiply) the final transform matrix to the original one and assign it to the sphere transform&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier new;&quot;&gt; sphere.transform = Matrix3D.multiply(rotResult,tempMatrix);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That&#39;s it.&lt;br /&gt;&lt;br /&gt;What I&#39;ve done also in the example is get the mouse X &amp;amp; Y on MouseMove over the sphere so that the rotation gets refreshed then and because we are using this values for the rotation matixes, it slows down as you move the mouse towards the center of of the sphere (Ie: x and/or y approximates to zero)&lt;br /&gt;&lt;br /&gt;This was fun but I really should take a math class soon.</description><link>http://blog.federicocalvo.com/2009/03/papervision-3d-sphere-globla-axis.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-4275481399378782647</guid><pubDate>Sun, 22 Mar 2009 22:35:00 +0000</pubDate><atom:updated>2009-03-24T15:58:09.951-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Actionscript</category><category domain="http://www.blogger.com/atom/ns#">Flash</category><category domain="http://www.blogger.com/atom/ns#">Papervision</category><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>Sphere Rotation</title><description>The first thing I did after getting all the Papervision and general project setup is creating a Sphere and make it rotate based on users input (Mouse RollOver) over the same Sphere surface.&lt;br /&gt;&lt;br /&gt;Using InteractiveScene3DEvent.renderHitData object we can tell the X and Y values of where the mouse hit on the surface of the sphere. These values are then used to affect the rotationX and rotationY properties of the Sphere.&lt;br /&gt;&lt;br /&gt;In the MouseOver and/or MouseMove handler:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;var locX:Number = e.renderHitData.x-x;&lt;br /&gt;var locY:Number  = e.renderHitData.y-y;&lt;br /&gt;&lt;br /&gt;sphere.rotationX  -=    locY/10;&lt;br /&gt;sphere.rotationY +=    locX/10;&lt;/blockquote&gt;&lt;br /&gt;Divided by 10 just because the values are too big otherwise.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border: 4px solid rgb(204, 102, 0); width: 400px; height: 300px; text-align: center;&quot;&gt;&lt;embed src=&quot;http://www.federicocalvo.com/marbles/1.swf&quot; bgcolor=&quot;#000000&quot; name=&quot;1&quot; play=&quot;true&quot; loop=&quot;false&quot; quality=&quot;high&quot; allowscriptaccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.adobe.com/go/getflashplayer&quot; width=&quot;100%&quot; align=&quot;middle&quot; height=&quot;100%&quot;&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;You&#39;ll recognize a problem with this way of doing this though. Rotations are done around the sphere&#39;s local axis X &amp; Y. and what I really need is a rotation over a global axis based on a vertex defined by the user interaction with the surface of the sphere. This is what I&#39;ll work on next.</description><link>http://blog.federicocalvo.com/2009/03/sphere-rotation.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-8479750904780640054</guid><pubDate>Sat, 21 Mar 2009 22:58:00 +0000</pubDate><atom:updated>2009-03-24T13:50:51.456-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Web Development</category><category domain="http://www.blogger.com/atom/ns#">Workflow</category><title>Idea and Workflow</title><description>The initial idea is to have a website that could help me get more business, so it has to have in itself some of the ingredients of what I like working on the most and that hopefully are in demand. &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Workflow&lt;/span&gt;&lt;br /&gt;I am going to build it in &lt;span style=&quot;font-weight:bold;&quot;&gt;Actionscript 3&lt;/span&gt; using &lt;span style=&quot;font-weight:bold;&quot;&gt;Adobe Flex Builder 3&lt;/span&gt; in a pure Actionscript Project. It&#39;s so much better that the Flash IDE for coding that I dread going back to it. Graphical assets will remain in Flash IDE though, with exported SWCs as needed and imported into the FLEX Library path. This workflow has given me some headaches in the past but I think I have it under control now.&lt;br /&gt;&lt;br /&gt;I am going to use some open source Actionscript libraries to help me materialize the crazy ideas I am having. I might be getting myself into a quagmire but what I plan to do is have the entire menu/navigation system done in &lt;span style=&quot;font-weight:bold;&quot;&gt;Papervision3D 2&lt;/span&gt; with a little dose of physics thanks to either &lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;a href=&quot;http://www.fisixengine.com/&quot;&gt;Fisix&lt;/a&gt;&lt;/span&gt; or &lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;a href=&quot;http://www.cove.org/ape/&quot;&gt;APE&lt;/a&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Some &lt;span style=&quot;font-weight:bold;&quot;&gt;Adobe After Effects&lt;/span&gt; will throw in there for good measure to create 2D animations that I am thinking of using as some eyecandy.&lt;br /&gt;&lt;br /&gt;Next will be may fist &#39;real&#39; posting as I jump into the project itself.</description><link>http://blog.federicocalvo.com/2009/03/idea-and-workflow.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2228462097393285519.post-6043924306325664502</guid><pubDate>Sat, 21 Mar 2009 22:52:00 +0000</pubDate><atom:updated>2009-03-24T13:49:34.837-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Web Development</category><title>Website Project</title><description>After more that 10 years of interactive development I&#39;ve decided to finally create my own website... this is pathetic I know but I don&#39;t care. The reason for this really is that I never needed it. So now, with some time in my hands I am committed to building it. It&#39;s not going to be a pretentious website but it will have a few things that I think will be very much fun creating. In doing so, I&#39;ve decided to also document everything in this blog. Just for me to have and for friends to track my progress hopefully.&lt;br /&gt;&lt;br /&gt;So, stay tuned. Next, my first post.</description><link>http://blog.federicocalvo.com/2009/03/my-website-project.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item></channel></rss>