The web developer's guide to 3D site building

Unity3D
Unity is worth considering as an alternative to Flash

The ability of the web to deliver 3D content is nothing new: people have been finding ways to create 3D within Flash since ActionScript 1.

But in the last year there's been a sea-change in terms of the richness and proliferation of 3D content on the web. 3D is here to stay, and it's time that every web designer and developer sat up and took note. So what's been happening?

PixelBender

PIXEL BENDER: The Pixel Bender toolkit is used to create shaders that can be used within Flash to create filters and effects

It runs at a lower level than ActionScript and runs calculations in parallel, so it has the ability to perform complex tasks at lightning speed. It's primarily intended for filters and effects and can be animated, so expect to see a fast uptake for its use in transition effects and the like. Developers can share their filters at the Pixel Bender exchange.

There's also the ability to pass other types of data such as bitmapData, vectors and byteArrays to the shader. This means that experienced users will be able to harness its speed for doing complex calculations for applications like advanced physics simulations, sound processing and number crunching in 3D engines.

Alchemy: Alchemy enables you to compile existing C and C++ code libraries to AS3 as a SWF or SWC to run within FP10 or AIR 1.5. The compiled libraries can then be accessed directly using AS3. This means developers can tap into thousands of open source C and C++ libraries and compile them to be used in their web applications to expand the possibilities of what's technically possible.

The compiled library will be ideal for tasks that require intensive calculations. Adobe Labs suggest uses such as audio/video transcoding, data manipulation, XML parsing, cryptographic functions or physics simulation. They suggest performance can be considerably faster than trying to achieve the same result using AS3 alone.

Drawing API: With every recent release of Flash there have been modest updates to the drawing API but with Flash 10, the changes are anything but modest. For starters, there's a much faster and more powerful way to draw lines using the new drawPath method and the introduction of winding.

Triangle drawing methods have been added, primarily aimed at 3D effects but useful for a lot more besides. Significant improvements to bitmap fills when combined with the new triangle provide a powerful means for distorting bitmaps.

And the list goes on, including a set of new graphics data classes that can act as containers for drawing information and can be passed around, used with any target or reused.

Contemplating what the introduction of all these features means makes you think. On the one hand, there's excitement at the huge increase in potential, all the new toys to play with and the fact that pretty much any visuals that can be conceived can probably now be realised within ActionScript. Yet at the same time there is trepidation in the spiralling complexity of it all.

The sites of the future that define the next era in Flash will demand a superior level of technical understanding to even be conceived. The role of the purely graphical Flash designer may become limited while designers with technical ability begin to shine.