<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Kevin Goldsmith</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/" />
    <link rel="self" type="application/atom+xml" href="http://blogs.adobe.com/kevin.goldsmith/atom.xml" />
    <id>tag:blogs.adobe.com,2009-08-07:/kevin.goldsmith//24</id>
    <updated>2009-11-19T00:40:27Z</updated>
    <subtitle>Kevin is the engineering manager for the Adobe Image Foundation team, the team that develops the Pixel Bender language and GPU and multi-core image processing technologies for Adobe products.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.261</generator>

<entry>
    <title>Friday 11/20 in Portland, OR</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/11/friday_1120_in.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.44148</id>

    <published>2009-11-19T00:30:18Z</published>
    <updated>2009-11-19T00:40:27Z</updated>

    <summary>I&apos;m going to be in Portland, Oregon this Friday. At 10:30 I&apos;ll be on a panel at the Supercomputing 2009 conference with folks from Intel, NVidia, AMD, Dreamworks and Contra Costa College talking about preparing developers for new parallel programming...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="Pixel Bender" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="conference" label="conference" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="meeting" label="meeting" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pixelbender" label="pixel bender" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tweetup" label="tweetup" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[<p>I'm going to be in Portland, Oregon this Friday. At 10:30 I'll be on a <a href="http://scyourway.supercomputing.org/conference/view/pan121">panel at the Supercomputing 2009 conference</a> with folks from Intel, NVidia, AMD, Dreamworks and Contra Costa College talking about preparing developers for new parallel programming paradigms.</p>

<p>At 3pm, I'll be at <a href="http://www.kellsirish.com/portland/index.php">Kells Irish Pub in the Pearl District</a> for a Pixel Bender tweetup.</p>

<p>Portland Pixel Bender Developers (or interested folk), C'mon down! Looking forward to meeting you. I'll be wearing the bright red Adobe jacket.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Pixel Bender BOF at Adobe MAX</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/09/pixel_bender_bo.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.43252</id>

    <published>2009-09-30T00:01:07Z</published>
    <updated>2009-09-30T00:11:10Z</updated>

    <summary>It is MAX time again, and this year looks like it will be over the top. There are some exciting things that will be shown related to Pixel Bender. None of which I can discuss right now, of course! I&apos;ll...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="Pixel Bender" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="max" label="MAX" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pixelbender" label="pixel bender" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[<p>It is MAX time again, and this year looks like it will be over the top. There are some exciting things that will be shown related to Pixel Bender. None of which I can discuss right now, of course!</p>

<p>I'll be hosting a Pixel Bender Birds of a Feather on Wednesday at noon at Table 1. Please join us to discuss your Pixel Bender feature requests and ask any of your burning questions.</p>

<p>If you can't wait until Wednesday, tweet a message to <a href="http://twitter.com/pixelbender">@pixelbender</a> (after Monday's keynote) and if I have time, I'd love to talk to any Pixel Bender developers who will be in Los Angeles during MAX.</p>

<p>See you in LA!</p>]]>
        
    </content>
</entry>

<entry>
    <title>New release of the Pixel Bender Toolkit 1.5.1</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/09/new_release_of.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.42799</id>

    <published>2009-09-08T18:58:31Z</published>
    <updated>2009-09-08T19:04:13Z</updated>

    <summary>Last week, we posted a new revision of the Pixel Bender Toolkit (1.5.1) into the downloads area on Adobe labs. This version fixes a couple bugs from the previous release in exporting Pixel Bender Bytecode for Flash. Booleans should now...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Pixel Bender" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="api" label="api" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="development" label="development" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="documentation" label="documentation" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="download" label="download" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pixelbender" label="pixel bender" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sdk" label="sdk" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="toolkit" label="toolkit" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="update" label="update" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[<p>Last week, we posted a new revision of the Pixel Bender Toolkit (1.5.1) into the <a href="http://labs.adobe.com/downloads/pixelbender.html">downloads area on Adobe labs</a>. This version fixes a couple bugs from the previous release in exporting Pixel Bender Bytecode for Flash. Booleans should now work correctly.</p>

<p>A request we've had a few times on the <a href="http://forums.adobe.com/community/labs/pixelbender">Pixel Bender forum</a> and over on <a href="http://twitter.com/pixelbender">twitter</a> has been that we post the language reference and developer's guide separate from the Toolkit download itself. Those documents are now available as well on the <a href="http://labs.adobe.com/downloads/pixelbender.html">downloads page</a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Matrices and Pixel Bender</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/08/matrices_and_pi.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.42470</id>

    <published>2009-08-22T05:52:17Z</published>
    <updated>2009-08-22T06:08:56Z</updated>

    <summary>This is a guest post from Bob Archer, a Development Lead in the Adobe Image Foundation team. I ofter see people doing a lot of extra math in their kernels when they could have simply done a matrix multiplication. This...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="Pixel Bender" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="bobarcher" label="Bob Archer" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="linearalgebra" label="linear algebra" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="math" label="math" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="matrices" label="matrices" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="matrix" label="matrix" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pixelbender" label="pixel bender" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="vector" label="vector" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[<p><em>This is a guest post from Bob Archer, a Development Lead in the Adobe Image Foundation team. I ofter see people doing a lot of extra math in their kernels when they could have simply done a matrix multiplication. This post won't explain linear algebra to you, but if you've been confused by Pixel Bender's column major order or aren't sure how it works, it should hopefully give you some pointers... [End of intro]<br />
</em></p>

<p>I thought this would be of interest to everyone - I finally have the definitive guide on how matrix math works within Pixel Bender.</p>

<p>Pixel Bender matrixes are in column-major order. This means that this line:</p>

<pre>float3x3 m = float3x3( a, b, c, d, e, f, g, h, i );</pre>

<p><br />
Sets up a matrix that looks like this:<br />
<pre>a  d  g<br />
b  e  h<br />
c  f  i</pre></p>

<p><br />
If I access a matrix using a single [] operator I get these results:<br />
<pre>m[ 0 ] == float3( a, b, c );<br />
m[ 1 ] == float3( d, e, f );<br />
m[ 2 ] == float3( g, h, i );</pre></p>

<p><br />
If I set up a vector like this:<br />
<pre>float3 v = float3( X, Y, Z );</pre></p>

<p><br />
and do some vector / matrix or matrix / vector multiplications I get these results:<br />
<pre>v * m == float3( Xa+Yb+Zc, Xd+Ye+Zf, Xg+Yh+Zi )<br />
m * v == float3( Xa+Yd+Zg, Xb+Ye+Zh, Xc+Yf+Zi )</pre></p>

<p><br />
i.e. v * m does this calculation:<br />
<pre>( X  Y  Z  )  *  a  d  g<br />
                 b  e  h<br />
                 c  f  i</pre></p>

<p><br />
while m * v does this calculation:<br />
<pre>a  d  g     X<br />
b  e  h  *  Y<br />
c  f  i     Z</pre></p>

<p><br />
If we are multiplying two matrices together:<br />
<pre>float3x3 m1 = float3x3( a, c, b, d, e, f, g, h, i );<br />
float3x3 m2 = float3x3( J, K, L, M, N, O, P, Q, R );</pre></p>

<p><br />
m1 * m2 does this calculation:<br />
<pre>a  d  g     J  M  P      aJ+dK+gL  aM+dN+gO  aP+dQ+gR<br />
b  e  h  *  K  N  Q  ==  bJ+eK+hL  bM+eN+hO  bP+eQ+hR<br />
c  f  i     L  O  R      cJ+fK+iL  cM+fN+iO  cP+fQ+iR</pre></p>

<p>Some references:<br />
<a href="http://en.wikipedia.org/wiki/Row-major_order">http://en.wikipedia.org/wiki/Row-major_order</a><br />
<a href="http://everything2.com/title/Column+major+arrays+vs.+row+major+arrays">http://everything2.com/title/Column+major+arrays+vs.+row+major+arrays</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>Pixel Bender audio processing sample code</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/08/pixel_bender_au.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.42409</id>

    <published>2009-08-19T10:10:55Z</published>
    <updated>2009-08-19T11:09:10Z</updated>

    <summary>I&apos;ve been doing some playing around with processing audio using Pixel Bender in Flash and I realized that it was hard to find some working code to get started with. So i wrote up this sample. I tried to do...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Pixel Bender" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="actionscript" label="actionscript" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="audio" label="audio" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="flash" label="flash" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="flex" label="flex" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mxml" label="mxml" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pixelbender" label="pixel bender" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sample" label="sample" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tutorial" label="tutorial" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[<p>I've been doing some playing around with processing audio using Pixel Bender in Flash and I realized that it was hard to find some working code to get started with. So i wrote up this sample. I tried to do a minimal app that actually did something interesting and would be a start for someone else. To that end, this AIR app sample loads an MP3 file and then the embedded Pixel Bender kernel lets you change the level of the individual channels separately.</p>

<p>The MXML code is below:<br />
<script src="http://embed.snipt.org/lnoo"></script></p>

<p><br />
All the action is in the ProcessAudio function, that pulls samples from the input file and executes a ShaderJob across them. There is something important to reference here:</p>

<pre>
effectShader.data["source"].width = BUFFER_SIZE / 1024;
effectShader.data["source"].height = 512;
effectShader.data["source"].input = shaderBuffer;
effectShader.data["volume"].value = [ leftSlider.value, righttSlider.value ];
				
var effectJob:ShaderJob = new ShaderJob( effectShader, event.data, BUFFER_SIZE / 1024, 512 );	
effectJob.start(true);
</pre>

<p>I pass the buffer into the shader job as a 2D buffer instead of a buffer with a height of one. This may make less sense logically, but the Flash player breaks the data up by rows for multi-threading, so this should make that perform faster.</p>

<p>Here is the kernel:<br />
<script src="http://embed.snipt.org/lnop"></script><br />
One thing to notice here is that rather than using an image2 as input and a pixel2 as output (which may make more sense logically again), I instead just use the buffer layout and process 2 stereo samples at the same time. This should also give you better performance for filters that can do this.</p>

<p>Here are the files:<br />
<ul><br />
	<li><span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://blogs.adobe.com/kevin.goldsmith/2009/08/19/PixelBenderAudioDemo.mxml">PixelBenderAudioDemo.mxml</a></span></li><br />
	<li><span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://blogs.adobe.com/kevin.goldsmith/2009/08/19/Volume1Channel.pbk">Volume1Channel.pbk</a></span></li><br />
</ul></p>

<p>For more info, the following references might be helpful<br />
<ul><br />
	<li><a href="http://www.kaourantin.net/2008/10/audio-mixing-with-pixel-bender.html">Tinic Uro's original post on audio processing with Pixel Bender</a></li><br />
	<li><a href="http://flash.mediabox.fr/index.php?showtopic=94758">A post on the mediabox forum which has a working version of Tinic's code</a></li><br />
	<li><a href="http://www.sasarudan.com/en/technologyblog/flashadobe/4-flash10audio.html">A post from Саша Рудан that goes into more detail on sound production</a></li><br />
	<li><a href="http://miti.pricope.com/2008/11/10/playing-with-pixel-bender/">Some Pixel Bender experiments from Mihai Pricope, including an audio mixing sample</a></li><br />
	<li><a href="http://www.flashmagazine.com/tutorials/detail/using_pixel_bender_to_calculate_information/">Flash Magazine wrote up a great tutorial on using Pixel Bender for number crunching which got me thinking about doing this sample</a></li><br />
	<li><a href="http://www.boostworthy.com/blog/?p=243">Ryan Taylor also has a great post on doing number crunching and audio processing with Pixel Bender</a></li><br />
</ul></p>]]>
        
    </content>
</entry>

<entry>
    <title>A proposal on semantic hinting in Pixel Bender metadata</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/08/a_proposal_on_s.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.42204</id>

    <published>2009-08-07T18:48:03Z</published>
    <updated>2009-08-07T19:27:52Z</updated>

    <summary>We tried to be semantically agnostic in the original design of the Pixel Bender language. We&apos;d seen other languages go down rabbit holes of over-specification around what parameters really meant, locking them into archaic and insufficient implementations or clumsy hierarchies...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="After Effects" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Photoshop" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Pixel Bender" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="metadata" label="metadata" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pixelbender" label="pixel bender" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="userinterface" label="user interface" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[<p>We tried to be semantically agnostic in the original design of the Pixel Bender language. We'd seen other languages go down rabbit holes of over-specification around what parameters really <em>meant</em>, locking them into archaic and insufficient implementations or clumsy hierarchies of meanings. We didn't want to limit Pixel Bender developers into what we could conceive at the time of the invention of the language.</p>

<p>We were being a bit too idealistic :). It is completely true that the community of Pixel Bender developers continues to blow our minds at what they accomplish with the language and we never would have anticipated half the stuff that you guys are using Pixel Bender for. However, having some generally useful semantic meanings for Pixel Bender parameters would definitely help those who design general user interfaces for Pixel Bender filters.</p>

<p>One smart thing we did (if I do say myself) was to allow parameter and kernel metadata to be extensible. It provided developers like After Effects and <a href="http://picnik.com">Picnik</a> a way to add custom metadata to Pixel Bender that specified semantics or actual UI controls for Pixel Bender kernels and graphs. The <a href="http://forums.adobe.com/thread/228004">picnik metadata</a> and the After Effects metadata are different though. I started to get concerned that by not having something around this that we could end up with many different Pixel Bender semantic metadata mechanisms floating around. To that end, I created the proposal below and started floating it around Adobe and some of the sites that are heavy users of Pixel Bender.</p>

<p>In this design, I tried to follow some general rules:<br />
<ul><br />
	<li>Pixel Bender is not only a way to write image and video filters for Adobe applications, but also a way for you to host 3rd party filters in your Flash-based applications. Any guidelines we create need to be implemented by us, but also by any independent Flash developers creating apps that use Pixel Bender kernels. To that end, <strong>I tried to keep the design relatively simple so that it wouldn't be too difficult to implement in Flash.</strong></li><br />
	<li><strong>This proposal adds semantic metadata, but avoids specifying specific user interface controls.</strong> Rather than specifying a slider as an editor for a parameter, I think it makes more sense to say that the parameter is a percentage and allow someone designing a UI to make a good percentage editor. We are definitely thinking about how to specify custom editor UIs for Pixel Bender filters, but this proposal does not approach that.</li><br />
	<li><strong>The proposal is not a complete answer for all Pixel Bender filters.</strong> I'm trying to get the most universal semantics represented. The most generally useful, as opposed to trying to give the complete solution. If you have an application that is uses Pixel Bender kernels for something that makes sense to augment the metadata you can still choose to do so.</li><br />
        <li><strong>The proposal represents guidelines, not requirements.</strong> As a developer consuming Pixel Bender kernels, you can choose to enumerate the metadata as described in the proposal or not. The suggested metadata is <em>metadata</em>. It is not required. The goal is that if you wish to take advantage of it when it is present, that you can provide a more compelling user interface to your users because you understand the <em>intent</em> of a parameter, not just its <em>type</em>.<br />
</ul></p>

<p>There are a couple open questions in the proposal that I'd like feedback on. They are called out pretty clearly. I'd really like your feedback on this proposal. I hope to issue the final version soon. Reply to this post or in the <a href="http://forums.adobe.com/community/labs/pixelbender">Pixel Bender forums on Adobe Labs</a>. If you decide to post a reply on your own blog, please post a link to your post here or in the forum. Right now trackbacks are off so I won't know about it otherwise. You can also tweet a reply to <a href="http://twitter.com/pixelbender">the Pixel Bender twitter account</a> (if you can fit it in 140 characters :) ).</p>

<p><span class="mt-enclosure mt-enclosure-file" style="display: inline;"><a href="http://blogs.adobe.com/kevin.goldsmith/specs/Pixel%20Bender%20Metadata%20Hinting%20for%20User%20Interface%20Guidelines%20public%20proposal.pdf">Pixel Bender Metadata Hinting for User Interface Guidelines public proposal.pdf</a></span></p>]]>
        
    </content>
</entry>

<entry>
    <title>speaking on Thursday at SeaFlex meeting</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/06/speaking_on_thu.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.11002</id>

    <published>2009-06-08T06:15:31Z</published>
    <updated>2009-06-08T06:17:52Z</updated>

    <summary>Just a note for Seattle folks: I&apos;m speaking at the Seattle Flex User&apos;s group meeting on Thursday. More info: http://seaflexug.org/...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="Pixel Bender" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[<p>Just a note for Seattle folks: I'm speaking at the Seattle Flex User's group meeting on Thursday.</p>

<p>More info: http://seaflexug.org/</p>]]>
        
    </content>
</entry>

<entry>
    <title>Some recent Pixel Bender presentation recordings</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/06/some_recent_pix.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.10969</id>

    <published>2009-06-05T01:05:25Z</published>
    <updated>2009-06-05T01:15:12Z</updated>

    <summary>This week Paul Trani gave a talk on Pixel Bender for Flash, After Effects and Photoshop to Adobe User Group managers and admins. He was a great speaker and really funny. That recording is here. At the 2009 Creative Suite...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="Pixel Bender" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[<p>This week <a href="http://paultrani.com/">Paul Trani</a> gave a talk on Pixel Bender for Flash, After Effects and Photoshop to Adobe User Group managers and admins. He was a great speaker and really funny. That recording is <a href="https://admin.na3.acrobat.com/_a204547676/p43962439/">here</a>.</p>

<p>At the <a href="http://niemannross.host.adobe.com/2009csbuDeveloperSummit/">2009 Creative Suite Developer Summit</a>. I gave a talk on the features of Pixel Bender that are important for doing Photoshop or After Effects filter development. That recording is <a href="https://admin.adobe.acrobat.com/_a295153/p29403665/">here</a>. You'll have to excuse my stammering, I had a major slide malfunction (inadvertently used a way early version of my slide deck).</p>

<p>We also had a really fun event, The Pixel Bender Iron Chef contest where developers from After Effects and the Adobe Image Foundation team challenged attendees in feats of Pixel Bender strength. That recording is <a href="https://admin.adobe.acrobat.com/_a295153/p36235991/">here</a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Adobe Romania Sponsors Pixel Bender contest for BEST</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/05/adobe_romania_s.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.10727</id>

    <published>2009-05-21T17:14:39Z</published>
    <updated>2009-05-21T18:01:35Z</updated>

    <summary>Mihai Pricope, a platform evangelist from Adobe Romania posted about this on his blog. Adobe Romania helped sponsor the 2009 Bucharest Best Engineering Competition for the Board of European Students of Technology. Miti taught introduced the students to Pixel Bender...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="Pixel Bender" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[<p>Mihai Pricope, a platform evangelist from Adobe Romania <a href="http://miti.pricope.com/2009/05/20/best-engineering-competition-pixelbender-contest/">posted about this on his blog</a>. </p>

<p>Adobe Romania helped sponsor the 2009 Bucharest Best Engineering Competition for the Board of European Students of Technology. Miti taught introduced the students to Pixel Bender and below you see what they produced two hours later. He has a zip of the pixel bender kernels on his blog.</p>

<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="pxplayer" width="322" height="300" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"><br />
  <param name="movie" value="http://static.photoshop.com/express/20090514013618/embed/pxplayer.swf"/><br />
  <param name="flashvars" value="uid=home_fc9fea21cdbf46269961e6e59b5191af&gid=f258ed5bf5c040d1bd8790480b53d984"/><br />
  <param name="quality" value="high"/><br />
  <embed src="http://static.photoshop.com/express/20090514013618/embed/pxplayer.swf" flashvars="uid=home_fc9fea21cdbf46269961e6e59b5191af&gid=f258ed5bf5c040d1bd8790480b53d984" quality="high" width="322" height="300" name="pxplayer" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer">ﾠ</embed><br />
</object></p>]]>
        
    </content>
</entry>

<entry>
    <title>Editing Pixel Bender in Eclipse with PBDT</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/05/editing_pixel_b.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.10556</id>

    <published>2009-05-14T17:44:16Z</published>
    <updated>2009-05-14T17:45:14Z</updated>

    <summary> I&apos;ve often been asked if Adobe was going to do an eclipse plug-in for Pixel Bender. It&apos;s been something that we definitely wanted to do, but I wasn&apos;t sure when we would get to it. Joa Ebert decided to...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Pixel Bender" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[
          <p>I've often been asked if Adobe was going to do an eclipse plug-in for Pixel Bender. It's been something that we definitely wanted to do, but I wasn't sure when we would get to it. <a href="http://blog.joa-ebert.com/">Joa Ebert</a> decided to take advantage of the PBUtil command-line application that we ship with the Pixel Bender Toolkit SDK to create his own eclipse plug-in, <a href="http://blog.joa-ebert.com/pbdt/">PBDT</a>. He even came up with a way to get Pixel Bender development working <a href="http://blog.joa-ebert.com/2009/04/28/pixelbender-on-linux/">with Linux</a> (another often requested feature). </p>
            <p><img src="http://blogs.adobe.com/kevin.goldsmith/10.jpg" width="230" height="177" />I've been playing with it a bit (it integrates with Flex and FDT pretty well) and it is a cool alternative way to do Pixel Bender development. </p>
            <p>Thanks to Joa for his contribution to the community! <br/>
                </p>
          ]]>
        
    </content>
</entry>

<entry>
    <title>video of my talk to the Seattle Flash User&apos;s group last June</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/04/video_of_my_tal.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.10198</id>

    <published>2009-04-19T19:50:11Z</published>
    <updated>2009-04-19T19:54:31Z</updated>

    <summary>I spoke to the Seattle Flash User&apos;s group last June, and I hadn&apos;t realized that they&apos;d posted video of it until just now... Live Videos by Ustream...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="Pixel Bender" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[<p>I spoke to the Seattle Flash User's group last June, and I hadn't realized that they'd posted video of it until just now...</p>

<p><embed flashvars="autoplay=false" width="400" height="320" allowfullscreen="true" allowscriptaccess="always" src="http://www.ustream.tv/flash/video/494318" type="application/x-shockwave-flash" /><a href="http://www.ustream.tv/" style="padding:2px 0px 4px;width:400px;background:#FFFFFF;display:block;color:#000000;font-weight:normal;font-size:10px;text-decoration:underline;text-align:center;" target="_blank">Live Videos by Ustream</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>Pixel Bender Toolkit v1.5 released!</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/04/pixel_bender_to_1.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.10029</id>

    <published>2009-04-03T18:15:26Z</published>
    <updated>2009-04-03T18:27:18Z</updated>

    <summary>The newest version of the Pixel Bender Toolkit has been released on Adobe Labs. This is pre-release 6, but it is also version 1.5. This new version includes the ability to edit, compile and run Pixel Bender Graphs (supported in...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="Adobe Image Foundation" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="After Effects" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Flash" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Photoshop" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Pixel Bender" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[<p>The newest version of the Pixel Bender Toolkit has been released on Adobe Labs. This is pre-release 6, but it is also version 1.5. This new version includes the ability to edit, compile and run Pixel Bender Graphs (supported in Photoshop and After Effects). It also has a number of bug fixes, specifically in areas around PBJ generation.</p>

<p>You can get it from the <a href="http://labs.adobe.com/technologies/pixelbender/">Pixel Bender Technology area on Adobe Labs</a>, and please let us know about any issues or suggestions for the next release in <a href="http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid=72&catid=661&entercat=y">our forums</a>, our <a href="http://groups.adobe.com/groups/17d2bf3ffe/summary">Adobe Group</a> or on <a href="http://twitter.com/pixelbender">twitter</a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>More Cool Pixel Bender Experiments</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/04/more_cool_pixel_1.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.10017</id>

    <published>2009-04-03T01:41:43Z</published>
    <updated>2009-04-03T17:24:46Z</updated>

    <summary> Ralph Hauwert wanted to see what he could do with Pixel Bender and Alchemy to get the most possible performance from the Flash Player. He created this experiment showing a 3D particle system using over 300,000 particles rendered in...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="Pixel Bender" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[            <p><img src="http://blogs.adobe.com/kevin.goldsmith/pushingpixels_000.jpg" width="300" height="97" />Ralph Hauwert wanted to see what he could do with Pixel Bender and Alchemy to get the most possible performance from the Flash Player. He created this experiment showing a 3D particle system using over 300,000 particles rendered in 3D in real time. <a href="http://www.unitzeroone.com/blog/2009/03/18/flash-10-massive-amounts-of-3d-particles-with-alchemy-source-included/">More info and the demo on his blog</a>.</p>
<br clear=both>
            <p>Rob Skelly <a href="http://blog.robskelly.com/2009/02/using-pixel-bender-for-math-in-flashflex/">has a post on his blog</a> showing how to use Pixel Bender for general purpose math. &quot;<em>So, does using Pixel Bender for math really help? Yes! In my simple  tests, using Pixel Bender for collections of Numbers larger than a few  hundred is at least 3x as fast and much better still for larger sets  and more complex calculations. There is some overhead associated with  setting up the shader objects, but depending on what you&rsquo;re doing, the  savings are definitely worth it.</em>&quot; </p>
<br clear=both>
            <p><img src="http://blogs.adobe.com/kevin.goldsmith/landscape_full.jpg" width="300" height="121" />Tom Beddard (the creator of the  <a href="http://www.subblue.com/blog/2008/11/17/eschers_droste_effect">Esher Droste</a> effect and the sweet <a href="http://www.subblue.com/blog/2008/11/13/fast_mandelbrot_renderer">Mandelbrot renderer</a> in Pixel Bender) has dropped some new Pixel Bender coolness with <a href="http://www.subblue.com/blog/2009/3/7/tracing_a_terrain">a landscape raytracer</a>! This is pretty neat and he also includes the source and some background on how he created it. Very nice.</p>
<br clear=both>
            <p><img src="http://blogs.adobe.com/kevin.goldsmith/p84_1.jpg" width="222" height="225" />Frank Reitberger has created <a href="http://www.dasprinzip.com/prinzipiell/2009/02/06/generating-spheres-with-pixel-bender/">a very trippy sphere generator</a> with Pixel Bender and also includes the sources and a demo on his blog.</p>
<br clear=both>
            <p><img src="http://blogs.adobe.com/kevin.goldsmith/Anims.jpg" width="254" height="225" />Aaron Conran decided to see what he could do using Pixel Bender, AIR and Explorer. The result is the <a href="http://extjs.com/blog/2009/02/19/pixel-bender-explorer/">Pixel Bender Explorer application</a>. It also allows you to reference pbj files as effects in the wild to play with them. This app is a ton of fun.</p>
<br clear=both>
            <p><img src="http://blogs.adobe.com/kevin.goldsmith/farbe-watercolour.jpg" width="300" height="219" />David  Lanaert has been experimenting with physical simulation in Flash using Alchemy and Pixel Bender. He created an web app called <a href="http://www.derschmale.com/2009/02/16/flash-watercolour-simulation-using-pixelbender/">Farbe</a> that lets you do watercolor simulation in Flash using Pixel Bender. It is really impressive, especially the performance he achieved. Really inspiring to play around with!</p>
<br clear=both>
            <p>Thanks to everybody in the community who continues to push the bounaries using Pixel Bender. We have some very exciting stuff that we're working on that will help you create a whole new generation of awesomeness! Stay tuned! </p>
            ]]>
        
    </content>
</entry>

<entry>
    <title>Open position on the AIF team</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/03/open_position_o.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.9519</id>

    <published>2009-03-02T13:00:57Z</published>
    <updated>2009-03-02T22:24:42Z</updated>

    <summary>My team is hiring! We&apos;re looking for a white-box QE with C++ and scripting experience. For more information: http://cooljobs.adobe.com/frameset.html?goto=er-viewjob&amp;refnode=440636...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="Adobe Image Foundation" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[<p>My team is hiring! We're looking for a white-box QE with C++ and scripting experience.</p>

<p>For more information: <a href="http://cooljobs.adobe.com/frameset.html?goto=er-viewjob&refnode=440636">http://cooljobs.adobe.com/frameset.html?goto=er-viewjob&refnode=440636</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>NVidia&apos;s Pixel Bender contest update: You&apos;ve got two more weeks!</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/kevin.goldsmith/2009/02/nvidias_pixel_b.html" />
    <id>tag:blogs.adobe.com,2009:/kevin.goldsmith//24.9247</id>

    <published>2009-02-14T00:32:35Z</published>
    <updated>2009-02-14T00:36:29Z</updated>

    <summary>The NVidia Pixel Bender contest was extended to the end of February. You&apos;ve got two more weeks to submit your filters for some pretty sweet prizes! More info in my previous post or go straight to the contest page on...</summary>
    <author>
        <name>Kevin Goldsmith</name>
        <uri>http://blogs.adobe.com/kevin.goldsmith/</uri>
    </author>
    
        <category term="Pixel Bender" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/kevin.goldsmith/">
        <![CDATA[<p>The NVidia Pixel Bender contest was extended to the end of February. You've got two more weeks to submit your filters for some pretty sweet prizes!</p>

<p>More info in <a href="http://blogs.adobe.com/kevin.goldsmith/2008/12/nvidia_hosting.html">my previous post</a> or go straight to the <a href="http://www.nzone.com/object/nzone_pixelbender_contest.html">contest page on the NVidia website</a>!</p>]]>
        
    </content>
</entry>

</feed>
