Thursday, October 9, 2008

Why is Flash 10 Super Awesome

I just downloaded the flash 10 documentation today. Downloading Source code from google code, or sourceforge is a great thing to do . It shows how big projects are organised, what are the best practices e.t.c

After looking at the Documentation I found some things very very useful.
1) All the 3D Buzz. Matrix3D, vector3D, perspectiveTransform, GraphicsTrianglePath e.t.c. Because all this are implemented down in c++, and are optimised. You get to do alot of drawing without worrying about the frame rate. Even though there is alot of code, the API is very very simple, well documented and clean. (One thing I've always admired about adobe)

2) Shaders. With the Shader Class, GraphicsShaderFill Class, you can acheive great eye candies. The Shader is actually code that is written with PixelBender Toolkit. It is then compiled into byteCode. With flash player 10 you can then load it into Shader.byteCode, and pass in input object. I haven't played with the shader, to say how much input the Shader can take. I'm not so sure whether you can do RayTracing. For those who don't know what RayTracing is, Its a technique used in graphics, that outputs images so real, that the human eye cannot differentiate whether they were taken by a camera, or drawn in a computer.

3) One of the features which just took me away is Templates. I just said to myself. "Oh wow!! best of JAVA + best of C++ + best of ECMAScript = ActionScript3). You have the powerful Vector class. e.g a vector of Strings looks like Vector. = new Vector("Hello","World"); This is much faster than Array Class. (An Array Class of flash is actually a HashTable).

What Next. I have a Graphics Assignment due next week. Most people are doing it with openGL (whose API really sucks!!). I like learning what goes on behind openGL, so I'm set out building my own 3D engine from scratch. As soon as Flash Goes out of Beta, Gona make a port to it. I have to be the first one though, before Away3D, sandy3D, or papervision3D make it. Lol!!!

No comments: