September 24, 2008

Spilling the beans on Pixel Bender

david van brink comments on the Kevin Goldsmith post Spilling the beans... Pixel Bender in CS4:

"Pixel Bender is Adobe’s way of packaging up (essentially) OpenGL Shader Language, for use as effects plugins to their imaging products.

The outcome will be a lot of extremely cool effects plugins. Some of these will be old effects that run much faster, meaning we can use them more freely. Some of these will new effects that would have been prohibitively slow, but are now merely non-realtime."

In CS4 can you share these pieces of code, like the early shaders and filters done for Flash 10 pictured above (from Pixelero and Mr.doob, or even something akin to Fluffy)? I'm not sure, but After Effects is supposed to support the whole set of Pixel Bender functions, while Flash currently supports only a smaller subset, e.g., no GPU acceleration.

As noted earlier today, the Cartoon filter is a Pixel Bender filter, and the other 2 new GPU-accelerated effects, Turbulent Noise and Bilateral Blur, probably are too. And from an old post here, Pixel Bender in action in the Flash beta.

Update: Create Digital Motion (9/25) covers the same ground as this post and attracted clarifying comments by Kevin Goldsmith:

"Pixel Bender runs on the GPU in the Toolkit, in Photoshop and in After Effects. Photoshop’s new pan-rotate-and-zoom of super large images is also using the GPU. Premiere is using GPU acceleration built on AIF technologies, but does not support Pixel Bender filters in CS4.

Flash runs Pixel Bender multi-threaded on the CPU in 10.0

Peter’s original point is absolutely correct. Adobe was already using GPU acceleration before CS4, but in CS4 we’re pushing it even further. We’re also doing a lot of work on scaling for bigger numbers of multiple-cores. Run a complex Pixel Bender filter in FP 10 on an 4 or 8 core system and watch the CPU utilization."

Update 2: Kevin Goldsmith adds more with CPU, GPU, multi-core.

No comments: