Flash passe à la 3D

Arnaud de la Grandière |
Lors de la conférence MAX, Adobe a présenté les prochaines fonctionnalités de Flash, qui mise tout sur la 3D.

Molehill est le moteur de rendu 3D, tirant pleinement parti de DirectX et Open GL ES 2.0 (ce qui permettra également de réaliser des jeux en 3D pour smartphones), le tout en tirant le maximum de l'accélération vidéo sans tirer sur le CPU. Flash intègrera également le support de contrôleurs de jeux (gamepads, volants…).



D'autre part, Adobe a également présenté PixelBender 3D, qui permet de manipuler le rendu de textures et de modèles 3D



Adobe a indiqué que ces fonctionnalités seraient disponibles en beta pour les développeurs durant le premier semestre 2011. Eu égard à la popularité de Flash, nul doute qu'il deviendra le standard de facto pour la 3D sur le web.

C'est une mauvaise nouvelle pour Unity, qui propose un plugin web visant aux mêmes fonctions, mais également pour WebGL, futur standard ouvert pour les navigateurs, qui voient là un concurrent de taille. Mais les plus amers seront sans doute les derniers fidèles du couple Shockwave/Director, autre produit d'Adobe qui était jusqu'ici son logiciel "phare" pour faire de la 3D sur le web, qui se voient ainsi trahis par la maison mère après vingt-cinq ans (!) de bons et loyaux services.

avatar iNabil | 

Euh bof quoi c'est surtout une mauvaise nouvelle pour les macs, vous avez vu le nombre de configurations qui ne supportent pas l'acceleration graphique de flash ?

avatar ssssteffff | 

Je ne suis pas spécialement d'accord avec la dernière phrase, à propos des "25 ans de bons et loyaux services". Il ne faut pas oublier que Shockwave et Director ne sont dans le giron d'Adobe que depuis le rachat de Macromedia en 2005 (tout comme Flash d'ailleurs :o)

avatar Frodon | 

Oui, cela dit puisque Flash utilise OpenGL ES 2.0 tout comme WebGL, le portage de l'un à l'autre devrait se faire très facilement. Du moins pour les smartphones.

Par contre le choix de DirectX pour Flash Desktop n'est pas très cohérente, voir incompréhensible, cette technologie n'existant que sous Windows... OpenGL aurait été beaucoup plus logique puisque Flash a vocation à être multi-plateformes, or en choisissant DirectX, cela voudra dire que les jeux 3D Flash ne marcheront que sous Windows... Du coup pas grand intérêt.

avatar lennoyl | 

Il était temps qu'il se mettent à la 3D (parce que la 3D qu'il y a actuellement dans Flash est plutôt limitée)

avatar Arnaud de la Grandière | 

@ ssssteffff : Adobe n'a pas racheté Macromedia mais fusionné avec (en ne gardant que le nom d'Adobe). La phrase est donc parfaitement correcte ;¬)

@ Frodon : les applications en Flash fonctionneront indépendamment avec DirectX ou OpenGL en fonction de la plateforme sur laquelle elles sont exécutées (comme c'était le cas avec Director d'ailleurs).

avatar gronobo | 

Je me demande tout de même comment l'IDE de Flash va bien pouvoir s'adapter au workflow d'un jeu 3D. Cette techno est un non sens au vu de ce que Unity a déjà accompli. Une interface claire et efficace, des scripts propres aux objets (behaviour scripts à la director). Sachant que la vm de Unity est déja très rapide (bien plus que celle de flash). Pour la 3D simple pour le web il y a WEBGL, pour des jeux 3D il y a Unity. Lâchez Adobe et passez à une vraie techno qui tien la route.

avatar Bjeko | 

Pour un moribond, Flash semble se porter plutôt bien non ?

avatar Armas | 

C'est cool tout ça, mais la consommation de ressources doit être colossale.

avatar sebastiano | 

Le rendu est plutôt pas mal. Le Flash va s'imposer comme un vrai complément à l'HTML5. L'étape 3D était indispensable, bien joué Adobe (et Dieu sait que je déteste cette boîte).

avatar 2-fre | 

c'est les flasheurs qui vont être contents... flasheur = graphiste, développer, animateur 2D, modelisateur, animateur 3D... hummmmm !!!!

avatar eilon | 

Aïe... Encore une fois, est-ce que Steve Jobs a bien fait de tirer un trait sur le Flash ?

Je crois qu'on a tous notre réponse.

avatar romain1 | 

La seule perspective pour adobe, c'est d'essayer de rendre Flash indispensable sur ce que l'html5 ne peut pas faire... Et l'imposer le plus vite possible! Sinon, Flash disparaitra bien plus vite qu'on ne le pense...

Pour la 3D, on verra si la sauce prendra....

Je suis pas forcément convaincu....

avatar Stanley Lubrik | 

Mais Romain1, Arnaud de la Grandiėre te le dit claurement dans sa news :

[b] ".... Eu égard à la popularité de Flash, nul doute qu'il deviendra le standard de facto pour la 3D sur le web...." [/b]

Pourquoi tergiverser quand un fin analyste te délivre une vision objective d'un marché dont il observe tous les jours les grands mouvements significatifs pour le futur ?

avatar gronobo | 

Appelez moi quand Flash en arrivera la : http://unity3d.com/
Flash est devenu une usine à gaz, au départ pensé comme un logiciel d'animation vectoriel, il en est également devenu un lecteur vidéo, un framework d'interface et maintenant un moteur de rendu 3D !!! Arrêtez de croire que Flash est la solution à tout. Certes Flash saura bientôt tout faire, mais il fera tout mal. Les performances de Flash notamment sur mac (ce qui devrai vous pourtant concernez) son désastreuse. Je n'utilise a présent Flash que pour des jeux et animations vectorielles. Pour le reste site -> HTML5, 3D -> Unity, WebGL, UDK,Ogre etc..., GUI -> Xcode, Qt, GWT,ext-js. Documentez vous, testez, vous verrez que Flash n'est pas LA solution universelle.

avatar Arnaud de la Grandière | 

@ Stanley Lubrik & Romain1 :

Calcul simple : Flash est installé sur 99 % des ordinateurs. Shockwave 60 % au mieux. Unity probablement encore moins, et WebGL n'est pour l'heure pas encore activé par défaut dans quelque navigateur en version finale (la donne évoluera probablement d'ici à ce que Molehill soit disponible, néanmoins une fois installé il fonctionnera avec tous les navigateurs - même Internet Explorer 6 - alors qu'il faudra mettre à jour les navigateurs pour bénéficier de WebGL).

Si un commanditaire a un budget pour faire développer un jeu 3D pour son site, quelle technologie sera la plus susceptible de retenir son attention ? Et accessoirement, Stanley Lubrik, le fin analyste il a quand même 15 ans de développement Director/Shockwave au compteur, jeux en 3D y compris. J'ai la faiblesse de croire que ça me donne un tout petit peu de légitimité. Et toi, c'est quoi ton pédigrée ?

avatar Nordlaser | 

Il conduit comme un pied dans la vidéo. :-P
Déjà la vidéo lag terriblement, alors qu'est-ce que ce sera en 3D !
Mis à part cela, la vidéo est sympa.

avatar Zed-K | 

[quote=Armas]C'est cool tout ça, mais la consommation de ressources doit être colossale.[/quote]
0% de CPU utilisé sur la machine (probablement puissante mais tout de même) de Thibault Imbert (Flasheur français célèbre travaillant désormais chez Adobe et sur le projet Molehill en l'occurence) :
[url]http://www.bytearray.org/?p=2310[/url]
(première vidéo, il y montre l'utilisation CPU dans le gestionnaire des tâches de Windows 7)

Plus de vidéo sur le lien en question, les projets ont l'air tout de même bien avancés, pour des tests basés sur une pre-release.

Je reste prudent, mais si utilisation comme annoncé des fonctionnalités 3D natives de l'OS (via DirectX/OpenGL/OpenGL ES suivant l'OS), ça devrait techniquement fonctionner sur absolument toute machine équipée d'une carte (ou puce) d'accélération graphique.
Thibaut Imbert explique que pour les plus anciennes machines n'en bénéficiant pas, il y a un fall-back CPU (rendu soft donc, là par contre ça va faire très mal, surtout sur des vieilles machines, mais la situation est strictement identique à ce qui se passe dans le monde du jeu vidéo sur Mac/PC, tout à fait normal donc).

J'attends également de savoir si cette accélération sera utilisée pour la 2D (afin d'en finir une bonne fois pour toute avec l'utilisation CPU atroce des contenus Flash mal conçus ou plus complexes).
J'ai posé la question en commentaire du lien ci-dessus mais n'ait pas encore eu de réponse (quelqu'un d'autre l'a reposé plus bas d'ailleurs).

avatar Goldevil | 

Cela fait longtemps que l'on peut faire de la 3D avec Flash mais maintenant, un framework complet et un support de l'accélération matérielle est proposée. Les graphismes vectoriels 3D sont avant tout des graphisme vectoriels 2D, ce qui a toujours été la force de Flash.

L'idée de supporter DirectX quand l'applet Flash tourne sous Windows est une bonne idée vue les excellentes performances de ce dernier.

Je trouve la technologie intéressante ... même si je n'ai pas d'utilité de la 3D pour les applis Flash que nous développons.

avatar Gr3gZZ | 

Ils sont où les anti flash là ? haha

avatar Zed-K | 

[quote=gronobo]Flash est devenu une usine à gaz, au départ pensé comme un logiciel d'animation vectoriel, il en est également devenu un lecteur vidéo, un framework d'interface et maintenant un moteur de rendu 3D !!![/quote]
Tu confonds tout.

Flash est une plateforme complète composée de plusieurs éléments bien distincts :
- Flash CS : soft d'authoring orienté animation vectorielle
- Flash Builder : soft basé sur Eclipse orienté développement pur
- ActionScript : le langage de POO basé sur ECMAScript 4
- Le SDK Flex : framework orienté RIA + compilateur (le tout Open Source)
- Flash Player : le lecteur, intégré au navigateur ou en version stand-alone, et ses API afin de tirer parti des nouveautés (lecture vidéo et traitement bitmap en v8, nouvelle machine virtuelle plus performante en v9, 3D 2.5 en v10, support mobile en v10.1, 3D accélérée en v11 - entre autres, bien évidemment)

Plus AIR pour développer (plus généralement pour porter) avec les langages Web (Flash ou HTML/JS/CSS - utilisation de WebKit dans ce cas) des applis bureau, qui comporte :
- Un runtime
- Des API supplémentaires (ActionScript ou JavaScript suivant le cas) offrant des fonctionnalités propres aux applications bureau (accès au système de fichier, execution de programmes, mises à jour, etc)

D'autre part, le Flash Player 11 donnera accès à des [b]API[/b] 3D, pas à un moteur de rendu.
Les démos ont été réalisées par Alternativa (un moteur 3D tiers qui a eu accès aux prerelease en exclusivité pour réaliser ces démos en utilisant ces dites API).

[quote=gronobo]Arrêtez de croire que Flash est la solution à tout.[/quote]
Euh... personne n'a dit ça, si ? O_o
Flash et HTML sont (du moins pour le moment) complémentaires, c'est tout.
Après si certains développent un jeu entier en WebGL ou un site de news en Flash... c'est un choix inadapté, la techno n'y est pour rien.

avatar marc_os | 

@ Stanley Lubrik : A part des attaques personnelles emballées dans une ironie douteuse, quels sont donc ton message et surtout tes arguments ?

avatar cliclem | 

En HTML5 on peut aussi faire de l'opengl 2 ... menfin

avatar BioSS | 

Sauf qu'en HTML5 on est qu'à 30% de navigateurs compatibles, vous allez comprendre quand putain que c'est pas utilisable auprès d'un client ? "coucou on va faire un jeu 3D OpenGL bien complexe, mais seuls 30% de vos visiteurs chèrement acquis avec votre campagne de pubs pourront y accéder". Bah NON.

avatar gronobo | 

@Zed-K
Désolé si j'ai pu paraître confus, le point sur lequel je voulais insisté est que malgré la multiplicité des IDE (Flash CS pro, Flex Builder, Cataslyst etc...) ll n'en ressort pas moins qu'un projet sous la forme d'un swf et qui sera lu par un seul player. J'insiste sur la lourdeur de toutes ces implémentation au sein d'une seule vm, et je crains que la course à la diversité empêche les ingénieur d'adobe de se retourner sur leur propre code et d'optimiser leur plate forme. Ce que je constate c'est que toute les application qui découlent de cette technologie pèse très lourd sur le système. Il n'y a qu'a voir la navigation sur un site en désactivant les fenêtres flash. Dernièrement j'ai testé "Rome" un projet d'adobe réalisé sous Flex/Air. Une "calamité" en terme de performance qui m'amène a dire que Flex/Air ne procure que l'illusion de pouvoir faire une application simplement pour le desktop. Adobe sent que pour rendre son player indispensable il doit se mouvoir d'une fonctionnalité que HTML5 ne permet pas, et ce, rapidement. Alors certe cette implémentation du moteur 3D d'alternativa à l'air intéressante, néanmoins cela fait des années que la concurrence est la. Quand tu dis "le Flash Player 11 donnera accès à des API 3D, pas à un moteur de rendu", ledis moteur de rendu devra bien être téléchargé sur le poste client non? Que ce sois au sein du flash player ou comme greffon externe. Auquel cas je ne vois quel argument commercial peuvent déployer adobe au sujet de leur 95% de pdm.

avatar revol | 

@Frodon c'est vrai, ca ne représente que 90% du marché.

Entre choisir d'utiliser une API moderne et performante, disponible uniquement sous Windows, et une API poussive, disponible sur les 10% restant du marché...

Sous Windows, on FAIT du DirectX...c'est comme ça.

avatar ErGo_404 | 

gronobo on a compris que tu ne jurais que par Unity, mais tu vois comme beaucoup je préfère avoir un seul plugin plutôt que d'installer 50 machins (et autant de failles potentielles !) qui se rajoutent à mon navigateur.
Flash est très connu, simple à utiliser, et je ne doute pas un instant qu'ils produiront un IDE qui va bien avec.

Quand à ta remarque comme quoi ils vont dans toutes les directions, oui et c'est tant mieux, se cantonner aux animations vectorielles leur aurait assuré un échec sur le long terme.

Je suis curieux de voir comment ils vont se débrouiller pour la 3D en tous cas, ils se faisaient critiquer de partout et le HTML5 était sensé les faire disparaître et pourtant ils sortent une techno que le HTML5 ne gère pas.

avatar gronobo | 

@ErGo_404 Tout ce que je reproche a Adobe au sujet de Flash c'est de vouloir se battre sur trop de terrains différents pour au final avoir un player polyvalent mais peu performant. Comme tu le dis je ne jure que par Unity, simplement parce que eux ils savent se concentrer sur leur corps de métier pour au final fournir quelque chose de qualité. Et "plutôt que d'installer 50 machins (et autant de failles potentielles !)" regarde juste le nombre de faille du flash player, je crois qu'il se suffit à lui même ;)

avatar Zed-K | 

[quote=gronobo]il n'en ressort pas moins qu'un projet sous la forme d'un swf et qui sera lu par un seul player.[/quote]
C'est là à mon sens à la fois toute la force et la faiblesse de la plateforme Flash.
Force car :
- un plugin unique et pas 36 comme à une époque
- rendu homogène sur tous navigateurs, compatible même avec les vieilleries type IE6
Faiblesse car le player mériterait clairement une SÉRIEUSE optimisation, surtout dans sa version OSX (la version plugin ActiveX pour IE ayant des perfs plus qu'acceptables).

Le Flash Player n'utilise qu'une seule VM pour tout car Flash est une plateforme multimedia qui doit permettre de mélanger tous les éléments sans restriction et quelque soit le type d'applications (et en conservant un workflow impeccable entre graphistes, animateurs et développeurs - la plus grosse qualité de la suite d'Adobe en entreprise).

[quote=gronobo]je crains que la course à la diversité empêche les ingénieur d'adobe de se retourner sur leur propre code et d'optimiser leur plate forme.[/quote]
Crainte partagée et constatée de mon côté, +1 là-dessus.

[quote=gronobo]Adobe sent que pour rendre son player indispensable il doit se mouvoir d'une fonctionnalité que HTML5 ne permet pas, et ce, rapidement.[/quote]
Il y a probablement de ça, mais je tiens à relativiser : cela fait de nombreuses années que les dev Flash demandent un vrai support de la 3D, et qu'Adobe y travaille. L'équipe travaillant sur Flash est très à l'écoute des demandes des développeurs (souvent trop à mon goût, je préfèrerai de loin une grosse optimisation plutôt qu'une API 3D, même si elle m'intéresse...)

[quote=gronobo]Quand tu dis "le Flash Player 11 donnera accès à des API 3D, pas à un moteur de rendu", ledis moteur de rendu devra bien être téléchargé sur le poste client non?[/quote]
En effet.
Maintenant, un moteur 3D comme Alternativa, c'est 250Ko supplémentaires, ce qui est négligeable au vu des connexions actuelles et du poids des modèles, textures, musique, sons...

avatar bugman | 

Pour le jeu (je ne suis pas dev mais j'ai des bases), mon coeur pencherait plus vers une solution comme Unity. Pour ce qui est du coté créatif (n'étant pas non plus "the" créatif du siècle), cela me semble une solution plutôt intéressante.

avatar BioSS | 

Justement gronobo, la richesse de Flash c'est que c'est toi qui code ton moteur, autrement dit tu n'es pas limité (à l'inverse d'Unity qui embarque son moteur directement).

CONNEXION UTILISATEUR