Flash 10: Hydra and AIF (Adobe Image Foundation) and Hardware Rendering
AIF (Adobe Image Foundation) like AIR (Adobe Integrated Runtime) is a new technology just out of the gate but it does show that Adobe is into innovating and the vector wars. AIR is beta2 and Flash player 9 “moviestar” updates for video are coming along nicely but here we have more news out of MAX in Chicago that AIF is now available.
What is AIF? It is a new imaging and effects technology to help people create their own filters for Flash (blur, drop shadow etc are defaults). Hydra the new language for this is reminiscent of processing.org (if you haven’t been to flight404.com since the 90’s then processing is all it is about there) and Cg from nVidia to write and test shaders. The fact that it is based on GLSL (OpenGL Shading Language) will help it easily port shaders coming in 3d gaming into Flash which is really sweet. The direction slowly is that Flash and maybe Silverlight will become more of gaming platforms and this is a nice point in that direction.
From Adobe here is what AIF is:
Introduction to the Adobe Image Foundation Toolkit Technology Preview
The Adobe Image Foundation (AIF) Toolkit preview release includes a high-performance graphics programming language that Adobe is developing for image processing, codenamed Hydra, and an application to create, compile and preview Hydra filters and effects. The toolkit contains a specification for the Hydra language, several sample filters, and sample images provided by AIF team members. The AIF technology delivers a common image and video processing infrastructure which provides automatic runtime optimization on heterogeneous hardware. It currently ships in After Effects CS3 and will be used in other Adobe products in the future. The next release of Flash Player, codenamed Astro, will leverage Hydra to enable developers to create custom filters, effects and blend modes.
Hydra is a programming language used to implement image processing algorithms in a hardware-independent manner. Some benefits of Hydra include:
- Familiar syntax that is based on GLSL, which is C-based
- Allows the same filter to run efficiently on different GPU and CPU architectures, including multi-core and multiprocessor systems in a future update
- Abstracts out the complexity of executing on heterogeneous hardware
- Supports 3rd party creation and sharing of filters and effects
- Delivers excellent image processing performance in Adobe products
Reaction is that this is a strong Adobe direction to move towards more capable technology as in AS3 and Hydra and allow more customizable possibly hardware rendered and accelerated shader like technology for Flash filters. The new AVM2 and AS3 allow for faster processing and pixel based operations that you need for buildng filters and or shaders.
This is pretty interesting, it isn’t full blown hardware rendering which would just be excellent. So far hardware accelerated full screen stretching in Flash 9 Moviestar beta and now filters will have an element of hardware capable rendering, it should help performance. Full hardware acceleration seemingly will not happen in Flash 10 so the 3d engines and new 3d elements from Adobe are all software rendered still. However dual and multi-core processing will help rendering of 3d in flash BUT video cards are more prevalent than dual or multi-core for some time. Basic hardware rendering even for a low bar could greatly change the flash platform.
It is still a while off yet but it was good to know that performance and shaders/filters are getting attention but hardware rendering not just yet for 3d and basic drawing/rendering. One thing is for sure, in 2007 developing interactive for the web is being shook up and changing rapidly.
Here’s a video taken by Aral Balkan of the Astro presentation at MAX
[youtube="http://www.youtube.com/watch?v=ympeCv8lLmw"]
![*drawlogic – interactive and game development technologies for the web – flash, flex, unity3d, silverlight, javascript [ draw.logic ]](http://farm4.static.flickr.com/3270/3068080918_eeebfbdb01_o.png)




