“Astro” - Flash 10, enfin la 3D ! Intéraction avec material en 3D : avant-goût
Oct 03

Bon après la tempête, il est temps de prendre un peu plus de recul concernant les nouvelles de ces derniers jours concernant le Flash player 10 “Astro”.

Tout d’abord concernant le support de la 3D dans Flash.
Contrairement à ce que l’on pouvait espérer, ce n’est pas un moteur 3D made in Adobe. Bien entendu qu’il ont ajouté au player de moyen de déformer ces Movieclip avec effet 3D (mais possible de changer la perspective par exemple? on en sait rien…), mais il n’y a pas de moteur 3D intégré! Ce n’était pas leur but.

Donc ceux qui parlent d’un “c’est fini pour les moteurs 3D flash” ou encore “va falloir s’unifier car vos trucs servent plus à rien”, et bien vous allez devoir patienter encore un peu ;)

Adobe parle bien d’une possible accélération matérielle, mais attend encore que les 99% de machines équipées de Flash soient équipées de cartes graphiques compatibles. Ils sont à l’écoute, et sont capables d’ajouter la moindre fonctionnalité dès que c’est le bon moment (on a pu le voir avec la vidéo recemment).

Mais un meilleur support natif des fonctionnalités 3D est disponible! Sur la vidéo d’Aral(voir plus bas) , nous voyons bien un vrai mapping avec perspective, chose très rare (faisable, mais lent). Si ce genre de chose est supporté en natif, la 3D va pouvoir grandir sereinement sur cette plateforme, en attendant l’ultime accélération matérielle.
J’imagine qu’Adobe fournira aussi un vrai package natif mathématique (Vector, Matrix, etc.).

Voici un lien vers une vidéo d’‘Aral Balkan  sur la présentation du player : voir la vidéo.


Lee Brimelow nous propose une interview de Justin Everett-Church, “Senior Product Manager for Flash Player”.
Je vous conseille d’aller voir cette interview en vidéo. C’est en anglais, mais très instructif.En conclusion, Adobe pense à la 3D dans Flash, mais plus pour le côté effets visuels, effets de transitions etc. C’est timide, mais choix raisonnable j’imagine.

Bon et maintenant parlons un peu plus de LA nouveauté pour moi: la possibilité de créer ses propres filtres, et de les faire exécuter par le GPU pour les cartes compatibles.
Après rapide lecture de la documentation proposée par l’AIF, les possibilitées semblent enormes. After Effects CS3 et Flash pourraient ainsi se partager des filtres pour agrémenter ceux disponibles dans le package flash.filters.* de Flash.

L’idée est de partir des specs de GLSL (langage de shaders d’OpenGL) pour créer un langage proche du C, permettant de manipuler des pixel shaders.
Ainsi, un ensemble de fonctions spécifiques aux traitement des pixels sont fournis, aidant la création de filtres impressionants.(voir gallerie ci dessous).

Le langage est relativement simple, l’outil disponible en BETA propose un éditeur fort sympathique, très simple à utiliser.
Flash ne supportera que peu des fonctionnalités d’Hydra, je vous conseille donc d’activer les warnings sur l’éditeur, pour éviter de vous faire perdre du temps :)

Mais seul le pixel shader est ainsi accéssible. Hors de question pour le moment de toucher aux vertex shaders ou encore aux geometrie shaders. Dommage… mais ça viendra!

En terme de possibilité pour la 3D, j’imagine qu’il sera possible de créer enfin notre mapping avec perspective en Hydra, et obtenir ceci avec des performances correctes. Tous les effets de shading en seront aussi très simplifiés. J’ai hâte.

AIF Toolkit pour tester vos filtres Hydra
Gallerie de filtres, interessant pour commencer

Malheureusement, pas de date de disponibilité au jour d’aujourd’hui. Normal.

J’espère que tout ceci clarifiera les choses pour certains et surtout ne décevront pas d’autres, car franchement, c’est déja une bien belle avancée :)

5 commentaires pour “Duo Astro&3D - le temps du premier bilan est venu”

  1. Cedric a dit :

    Ca va etre tout simplement enormissime… ;)

  2. Seraf a dit :

    c’est ce que je me suis dit aussi
    je pense qu’il vont ajouté les propriétés rotationX Y Z sur un displayObject pour ce qui est de la 3d

    apres pour les filtres faut voir :)

  3. medi a dit :

    Salut kiroukou,
    Ton article est excellent je me permet juste ^^ de preciser :
    – …Hors de question pour le moment de toucher aux vertex shaders… –
    Oui effectivement, en soit on ne peut pas y “touche” comme on l’entend en GLSL, mais ils sont bel et bien implementé est utilisé. Par exemple le fichier hydra spherize dans la gallery adobe utilise un vertex shader(et egalement un pixel shader) l’algorithme utilise est un derive du sphere mapping au niveau des vertex.
    A+

  4. kiroukou a dit :

    Salut Medi,
    Je t’en prie, plus de précision n’est jamais un mal :)

    Es tu sur de ce que tu dis à propos de vertex shaders? Moi dans ce code de spherize, je vois jsute un travail effectué sur la couleur, en manipulant des pixels. A auncun moment je ne fais une transformation de vertex, ou je n’accede au resultat d’un vertex shader.
    Enfin mes connaissances sont encore limitées dans ce domaine, donc si je me trompe, n’hésites pas à me le dire :)

    ++

  5. medi a dit :

    Salut, tu as raison Kiroukou on ne peut acceder au shader de sommet. mais ils est bel et bien attaché implicitement. il n’a pas d’interface mais il est present implementer derriere dans le code de kGoldSmith.
    Apres je peux pas trop m’etendre sur le sujet sa releve du Hook opengl.^^

    A+

Répondre