Adobe Pixel Bender Toolkit Improvement Requests

Hi Adobe!

Thanks for making such a fun technology. I don’t get access to the good stuff because I focus primarily on Flash, but it’s still a cool challenge to work under the constraints to make Flash effects no one has ever seen before.

It’s clear that the Toolkit was meant as a simple IDE for Pixel Bender, and it works pretty well. I just have some requests for the next version. You probably have these all jotted down, but just in case you haven’t thought of one yet:

  • Code Snippet Generator: It would be great to click a button to generate some boilerplate actionscript to instantiate a compiled Pixel Bender and supply it with the currently selected parameter values from the right interface.
  • Mapping “Load Image” functionality to actual image input variable names. I don’t know if there is a bug but sometimes I experience oddness when trying to load the right images in the right order? I think the Toolkit gets confused as to which Image # is assigned to which image input parameter. If I could just assign an image based on the input param name I chose, that would solve that.
  • This might exist, but is there a way to define a parameter so that the individual vector elements can be assigned names? So for a float3, rather than [0], [1], [2] I could choose “R” “G” and “B”, etc. Better yet, actual properties of a dynamic object, so I can assign shader.data.myParam.value = {x: 30, y: 30, z: 30} rather than [30, 30, 30]. I know this would be a change to the Shader object model but hey, I can dream right?
  • The ability to choose an image as a background behind the pixel bender outputs rather than just a background color. Or better yet, a bonafied SWF file in Play mode.
  • In Preferences, I’d like to set a 3rd folder for exporting Pixel Bender kernels for flash (PBJ). I keep the PBK and PBJ files in totally different areas so it would improve my workflow a lot if I could control these separately.

That’s it … for now. Muahaha. ;)

Great Performance Tips for Pixel Bender

David Lenaert has shared some really insightful performance tips for Pixel Bender over at his blog Der Schmale. David works in Flash like me, so they’re specific to making Pixel Benders for this environment. Some of his tips include:

  • Only  use 4 channels image inputs if you really need them (transparencies)
  • BitmapData is faster than Vector.<Number> (This one surprised me!)
  • Conditionals are expensive! When using them to try and improve performance, they can actually be slower than just the calculating useless pixels anyway.
  • Offloading outCoord() to a variable doesn’t improve performance (Interesting!)

Thanks David for the good tips!