Promethe’s Blog Web, RIAs and chocolate spaghettis…

21Aug/084

DirectFlex : a new Flash 10 3D API

The next version of the Flash player will introduce a lot of new cool/useful features. One of them is the brand new 3D API. Of course, a lot of people are talking about the cool new "3D effects" that use this 3D API, but in the end those do not allow "real" and "complex" 3D such as real-time 3D games. So basically, yeah, drawing 3D spinning planes is "cool", but that's not how you're gonna create some "ass-kicking" RIA...

In order to render complex 3D geometry, you'll have to use the underneath 3D API itself. This 3D API is mainly about three classes : Matrix3D, Vector3D and Utils3D. Those implements data types and methods to transform vertices data from a space to another in order to render actual 3D geometry on our very 2d flat screens. And... that's it. We also have the new "Graphics.drawTriangles" method and hardware acceleration, but all of this does not provide what we could call a user-friendly 3D API. But here comes...

DirectFlex is a "real" 3D API that uses the low level Flash 10 3D API to make it look and behave like any other 3D API such as DirectX or OpenGL. DirectFlex implementation and prototyping have actually a lot in common with Mirosoft's DirectX. A lot of concepts and programing techniques of DirectX can be found in DirectFlex. It means that most of the DirectX resources such as tutorials and samples will be relevant and will provide a lot of help to DirectFlex users.

The main difference between DirectFlex and any other third party 3D flash librairy is the simple fact that DirectFlex actually is a 3D API, and not some kind of a "fake" 3D engine. It means that you can work at the lowest level just like you would do it with DirectX or OpenGL : you have a total control on mathematics, algorithms and vertices/primitives data.

DirectFlex core takes care of most of the 3D rendering issues such as mathematics, z-sorting, mapping, and more. Although, because DirectX programming is not something any flash developer can handle, DirectFlex also includes a fully functional 3D engine and a 3D stage that mimics the behavior of the 2D stage of ActionScript 3.0.

Some demo applications, screenshots and a developers's blog will be released... "when it's done" :D

Comments (4) Trackbacks (0)
  1. Hi,
    I’m following this project very closly, I hope we can have an avaiblable version soon. Do you have the expected date for release?
    Good luck

  2. Hi, thank you for your interest!
    There is no release date for now… “maybe” during this summer :P

  3. Hi there!

    I was just wondering if you wouldn’t mind giving me some pointers on facet sorting? I’ve noticed your directflex demos run quite a bit faster than a 3D API I’ve been making for fun. Basically all I do is build an array of approximate z values for each facet, and then sort them using the quicksort algorithm, but it really hammers my framerate!

    Cheers, and keep up the awesome work! (Love the name too =D)
    Joe

  4. any news on this?
    or is it just drop dead?


Leave a comment


No trackbacks yet.