A moins de ne vraiment pas vous intéresser à l'actu 3D des derniers jours, vous avez forcément entendu parler de O3D, une API développée par Google qui permet aux développeurs d'intégrer des graphismes 3D dans un navigateur.
Pour voir les démos réalisées avec O3D, un plug-in est à télécharger sur le site officiel ; on pourra ensuite tester un des nombreux samples. Shaders, textures, instancing (qui permet d'afficher 1000 théières dans le sample sans pour autant faire s'effondrer les performances), plusieurs modes de rendu, gestion de la transparence avec tri des objets, animation, interfaces avancées ou encore physique et interactions avec l'utilisateur, tout y est.

Google O3D: instancing de théières 3D, transparence avec tri en fonction de la distance à la caméra (back to front), Beach Demo avec shaders et particules, interfaces 2D (Head-Up Display)
Google a par ailleurs mis en ligne une vidéo issue d'une démo disponible sur le site indiqué plus haut, qui donne une idée des capacités de O3D.
Bien entendu, Google étant à l'origine du projet ( l'API est toutefois open-source), le Buzz ne s'est pas fait attendre... Mais a déjà commencé à retomber, comme en témoigne ce graphique issu de Google Trends, qui montre l'évolution des recherches du mot "O3D" sur google, ainsi que le nombre d'articles d'actualité parlant du sujet.

O3D: le Buzz...
On peut accorder à O3D une victoire : le Buzz a permis d'éclipser Canvas 3D JS Libary, une initiative semblable soutenue cette fois par Mozilla. Ce projet est parfois évoqué dans l'actualité informatique, mais le plus souvent... Dans des articles sur O3D. Voir par exemple cet article de clubic, ou un autre sur le site CNET.com.
Il n'en reste pas moins que le plus dur reste à faire. La nécessité d'installer un plug-in est un sérieux frein à l'envol d'une technologie en ligne, et nombreux sont ceux qui s'y sont cassé les dents. Comme le souligne un article sur le blog realityprime, tant qu'il n'y aura pas d'application apportant une vraie valeur ajoutée, l'utilisateur lambda n'installera pas de plug-in, et les développeurs n'utiliseront pas l'API.
En clair, O3D aura besoin de ce que youtube a fait pour Flash, qui est aujourd'hui présent sur l'immense majorité des PC de la planète. Sans cela, il restera un outil parmi d'autres, comme le moteur 3D Unity3D, qui a beaucoup fait parler de lui ces derniers temps, notamment sur ce blog...
Il ne reste donc plus qu'à... attendre de voir ce que Google fera de sa propre technologie.
Pour les développeurs impatients, ou les curieux, Geeks3D a mis en ligne plusieurs articles sur O3D, dont un qui plonge un peu plus en profondeur dans l'API, extraits de code à l'appui : Google O3D API: First Test and Impressions.
On y apprend plusieurs choses intéressantes, notamment l'orientation shader ( pas de fixed pipeline ). Plusieurs shaders de base étant déjà intégrés à l'API, les débutants ne seront pas gênés par ce point. Par contre, le langage utilisé pour les shaders est de O3D shading language, qui serait un croisement entre HLSL (DirectX) et Cg (NVidia). Une mauvaise nouvelle pour les développeurs qui devront apprendre un nouveau langage.
Autre point qui pourra rebuter certains : il est apparemment impossible de cacher le code source, qui est directement inclus dans le code html de la page web. Tout visiteur peut donc voir et copier le code, ce qui laisse des possibilités de reverse engineering immenses. Ceci laisserait comme principale protection l'obfuscation1, une technique de programmation qui consiste notamment à changer les noms des fonctions et variables et à retirer les commentaires, dans le but de rendre le code incompréhensible.
Commentaires
déjà vu....en mieux
3D temps réel dans un browser, immersif, ....ça existe déjà: avec 3DXplorer: (www.3DXplorer.com). Et en plus on a les sessions multi-users, avatars et chat, le tout sans installation de plug-in!! (seul le runtime de base de Java est nécessaire, ce qui est présent sur plus de 98% des machines).
Google a déjà essayé ce secteur avec Lively (browser-based) avant de le retirer voici quelques mois. Quand on peut éviter de forcer l'utilisateur d'installer un plug-in (ce que 90% des users casual le refusent), alors pourquoi le faire.
... Avec quelques nuances, toutefois. ;-)
Attention quand même, 3DXplorer n'a pas des possibilités identiques à celles de O3D, et vise à mon sens un public différent.
3DXplorer, d'après ce que je peux voir sur le site officiel, correspond effectivement à ce que Lively avait peut-être l'ambition d'être (avant d'échouer de façon assez spectaculaire) : la création assistée de mondes virtuels à explorer en 3D. Apparemment, peu ou pas de programmation avec 3DXplorer, mais aussi des possibilités assez "cadrées" : faire un mini jeu de stratégie en 3D, ou expérimenter des shaders, risque, je pense, de sortir du cadre préconçu. Avec O3D, tout cela reste possible.
Attention, je ne dis pas qu'O3D est "mieux" que 3DXplorer, simplement que le public est radicalement différent.
3DXplorer permet aux non programmeurs de créer des visites virtuelles gratuitement, et d'utiliser des modèles prédéfinis pour faciliter cette création.
O3D étant une API, on peut "tout" faire, mais pas forcément aussi facilement : créer une visite virtuelle sous O3D sera bien évidemment plus long et plus complexe (et à déconseiller fortement aux débutants...). Par contre on peut faire à peu près tout ce qu'on veut.
Finalement, opposer O3D et 3DXplorer, c'est presque comme vouloir opposer OpenGL et Unity... ;-)
pas d'opposition, mais solution existante
On est d'accord sur le fait qu'O3D est un outil de développement, alors que 3DXplorer est non seulement un outil de développement (il y a une API avec des dévs en Javascript notamment) mais aussi une série d'applications web3D (collaborative, web marketing) à destination de non-développeurs.
Il ne s'agissait pas d'opposer O3D à 3DXplorer, en effet ils ne se situent pas au même niveau et ne s'adressent pas tout à fait aux mêmes personnes. Cela dit, le point essentiel derrière l'annonce de O3D qui consiste à apporter une 3D temps réel dans le browser, sans installation (O3D espere généraliser son plug-in, à supposer qu'ils réussisent ce pari pas gagné du tout), 3DXplorer le fait déjà.... rien de plus.
3DXplorer
Il ne s'agissait pas d'opposer O3D à 3DXplorer, en effet ils ne se situent pas au même niveau et ne s'adressent pas tout à fait aux mêmes personnes. Cela dit, le point essentiel derrière l'annonce de O3D qui consiste à apporter une 3D temps réel dans le browser, sans installation (O3D espere généraliser son plug-in, à supposer qu'ils réussisent ce pari pas gagné du tout), 3DXplorer le fait déjà.... rien de plus.
Rien à ajouter, je suis entièrement d'accord.
Sinon, une autre voie fait aussi son apparition : le rendu serveur, que Nova par exemple est en train de mettre en place : http://www.vertice.fr/Products.aspx?product=12
Les images sont calculées sur un serveur distant, et envoyées à l'utilisateur.
Pas de plug-in, pas besoin d'un PC puissant chez le client... Inconvénient : sans haut débit, inutile de penser avoir du temps réel.
Autre souci, il faut pouvoir disposer d'un serveur puissant derrière, surtout si le site est beaucoup visité. Reste enfin à voir le prix de cette fonction.
Les avantages et inconvénients étant particuliers, cela reste un segment spécifique du marché, d'ailleurs Nova ne semble pas songer à abandonner le rendu classique avec plug-in.
Poster un nouveau commentaire