AIR 2.0 brings a lot of new features. Among them is the new ServerSocket class. The Socket class exists since Flash 9 and enabled a lot of new client/server applications. But it has always been limited to client side sockets as long as AIR (and the Flash Platform as a whole for that matter) is concerned. Therefor, this new server socket feature makes it possible to build actual server software using AIR!
The following video demonstrates a new “voice gesture” library targeting the Flash Platform. As you might have guessed, those “voice gestures” are pretty much like “mouse gestures” but they are activated by voice only. I guess it uses some kind of voice learning/recognition algorithm. I can’t stress enough how trhilled I am to see this kind of new and powerful software coming to Flash. This enables a whole new kind of usages and applications…
Update: corrected a few glitches in the bounding sphere creation routine.
Optimization is always important. But when it comes to 3D for the Flash Platform, it’s an everyday battle. The first ideas that come to mind are to avoid:
redrawing the same regions : each pixel value must be set once and only once
rendering invisible objects : objects that are out of sight still take a lot of CPU horsepower
While Flash takes care of the first one in its very renderer, the second one is not handled. But that is something we can easily address!
The Technic
The method is called “frustum culling”. The big picture is that every mesh is approximated using a bounding volume (typically a sphere or a box). If the bounding volume is visible, the corresponding mesh is rendered. The two following pictures show the frustum culling caught in action:
The mesh is visible: TPS counter indicates 18900 triangles per seconds
The mesh is out of sight: frustum culling is acting and TPS counter indicates 0!
For those who have never heard of “augmented reality” (AR), here is Wikipedia’s definition:
Augmented reality (AR) is a term for a live direct or indirect view of a physical real-world environment whose elements are merged with (or augmented by) virtual computer-generated imagery – creating a mixed reality.
Sounds a bit blury? Well… I’ll try to make it clearer with a demo…
Demo
First, you will have to print a little black and white “marker”. The AR software scans the webcam picture and look for this very marker. When it is found, its 3D position, rotation and scale are computed and used to embed a 3D object. You can found the marker here and it looks like this:
Loading and rendering Quake 2’s maps is a challenge because Flash 10 doesn’t handle complex 3D geometry very well. But what about a smaller count of polygons ? Say a 3D model for example… already done! What about an animated 3D model then?
Details, pictures and a demo application right after the jump…
The Quake-series is really awesome. Not only in terms of gameplay but also technically. Quake 1, 2 and 3 are especially impressive. No wonder why Quake’s graphics engine, maps or models file formats have been reused in many many games such as Half Life, Call of Duty or Medal of Honnor! So why not in your own Flash 10 game?
There are so many reasons why loading Quake 2 files inside the Flash player would be considered as just “impossible”. Performance would be the first and main one. One would just consider that Flash is not fast enough to display complex 3D graphics, not even those of a game as old as Quake 2 (published in 1996!). But using Flash 10 latests features such as the Vector and GraphicsTrianglePath classes, it is actually quite doable!
Details, pictures and a demo application right after the jump!
Tonight I attended the “TonTon Flexeurs” (TTFX) meeting with Lee Brimelow and Mike Chambers. While Lee explained all the things that can be done to extend the Flash Platform using the ByteArray class, Mike presented a few of the latest as3corelib library features and a sneak peek of AIR 2.0. AIR 2.0 – codename “Athena” – will feature a lot of new system related updates. Discover a few of them (including a worldwide exclusive!) right after the jump…
FPS: is it possible to display Half Life 1 graphics in Flash ? I don’t know yet… but this experiment is an improvement of the one I posted a while back
Earth: I always wanted to implement the famous Google Earth in Flash. This might be a good first step! I made this experiment in approximately 1 hour to test out a few new features
Please let me know what you think about those new experiments. Any feedback will be greatly appreciated!
UPDATE: you can find a newer version on the DirectFlex Blog.
It’s been a while since the last post. But I’m back and I decided to release the first DirectFlex demo ever
This demo is quite simple and features a 3D model extracted from the famous Half Life 1 add on Counter-Strike 1.6. The model is made of “only” 740 polygons, which is not much compared to what DirectFlex can do. Still, being able to display Half Life 1 models inside of Flash with a decent framerate brings hope for future developments. Anyway it is a good proof that DirectFlex is (way) faster than any other Flash 3D “engine” out there… but hey! live demo first and then technical stuff… (Flash 10 required!)