C'est aujourd'hui que Google lance 03D, une API open-source permettant de créer des applications en 3D dans le navigateur et de les consulter via l'installation d'un plug-in. Ainsi pourront être mises en ligne des démonstrations de produits, des univers virtuels ou plus simplement des jeux.
Quelques exemples sont déjà disponibles en ligne ainsi qu'une vidéo de démonstration.
La programmation s'effectue en JavaScript. On peut faire appel à Gears pour permettre une exécution hors-ligne. Des objets provenant de 3D Studio Max, Maya, et Google SketchUp peuvent être importés mais les fonctions proposées sont déjà très complètes (textures, particules, shaders...).
Le plug-in est d'ores et déjà disponible sur différents systèmes :
- Windows XP SP2 ou Vista SP1 avec Firefox 2 et +, Internet Explorer 7 et +, Google Chrome
- Mac OS X 10.5 (Leopard) avec Firefox 2 et +, Safari 3 et + ou Camino
- Linux (instructions de compilation fournies)
O3D embarque V8, le moteur JavaScript open-source également développé par Google que l'on retrouve dans le navigateur Chrome. Les cartes graphiques DirectX9 sont supportées (ATI et nVidia) avec les Vertex Shaders 2.0 et Pixel Shaders 2.0, mais OpenGL est également de la partie.
Typiquement, O3D pourra être utilisé de la sorte en chargeant la librairie JavaScript adéquate et les autres classes requises par l'application :
<script type="text/javascript" src="o3djs/base.js"></script>
<script type="text/javascript">
o3djs.require('o3djs.util');
o3djs.require('o3djs.math');
o3djs.require('o3djs.rendergraph');
...
Le lancement se fait ensuite lorsque le document est chargé (événement window.onload
) et prend place dans un élément HTML, par exemple un <div> de dimensions fixes ou remplissant toute la fenêtre du navigateur. Voyez la source d'un Hello Cube.
Le but affiché est de créer un nouveau standard web pour les graphismes en 3D. Réussira-t-il là où VRML et X3D ont échoué par le passé ?
Commentaires
La 3D sur le web est bien partie pour devenir un standard :
http://standblog.org/blog/post/2009/03/25/Apr..., -les-vidéos,-la-3D-dans-le-navigateur
Vivement que tout ça soit implémenté nativement dans les navigateurs et pas via une Xe extension. :-)
Je ne suis pas sûr que le fait que ce soit lancé par Google soit une bonne chose... Google ne fait pas grand chose de vraiment compatible avec les standards, à commencer par les annonces adsence dont on n'a pas le droit de rendre le code compatible (enfin, c'était le cas lorsque j'avais demandé il y a à peine quelques mois)...
J'aurais aimé au minimum que cette annonce stipule que le projet est soumis au W3C... Il y a déjà des choses qui existent en Java, Flash et QuickTime qui permettent de faire de la 3D. Ce n'est qu'une chose de plus, et des problèmes de compatibilités en vue entre systèmes et navigateurs, entre ceux qui supportent et ceux qui ne supportent pas...
On n'a pas fini de voir sur les sites web "Better seen with xxx browser" ou "You need the xyz plugin to see this page, you can download it here for free (but not for your OS)"...
Nos commentaires se sont croisés, Patidou ! Je pense que sur le fond on est bien du même avis, mais ton lien ne fonctionne pas...
Oups le lien est cassé, vous trouverez le billet de Tristan sur la page du mois de mars 2009 :
http://standblog.org/blog/archive/2009/03
Clairement le but affiché ces derniers temps c'est de faire des technologies du web un framework de programmation complet. QuentinC nous dira que tant que c'est accessible c'est mieux que Qt ou GTK. Moi je dis que s'ils espèrent faire un framework complet en se basant sur les machines virtuelles que sont devenus les navigateurs, ils vont être déçus tôt ou tard. La compatibilité Windows/Linux (voire UNIX) est un noble but, mais jusqu'ici personne n'a complètement réussi, alors pourquoi y arriveraient-ils ?
(N'oubliez pas de voter pour le troll de votre choix pour dimanche.)
Je crois que le but est juste de se débarrasser des technologies propriétaires pour faire de la 3D. Ça a l'air bien parti et c'est tant mieux. :)
Se reposer sur Direct3D c'est pas ce que j'appelle se débarrasser du propriétaire ... De manière général quand on essaye de faire quelque chose de compatible Windows/Linux c'est pas pour se débarrasser du propriétaire.
Pour les sceptiques je rappelle aussi que HTML5 s'appelle également Web Apps 1.0, le nom dit tout ...
Oui mais il n'y a pas une infinité d'API 3D en-dehors de DirectX et OpenGL (qui est aussi supporté apparemment). D'autant plus lorsqu'on veut pouvoir utiliser les dernières fonctionnalités. L'implémentation est un peu lente avec OGL.
Punaise... Google réinvente encore la roue au lieu de faire progresser des technologies existantes.
Le VRML a été "remplacé" il y a belle lurette par le X3D (http://en.wikipedia.org/wiki/X3D). Il manquerait juste qu'une boîte comme Google en fasse la promotion pour que ce soit exploité correctement.
Au lieu de ça...
@Changaco : je me suis mal exprimé, je parlais des technos 3d dans la page web. Maintenant c'est sur que cette extension doit bien s'appuyer sur les ressources du système d'exploitation (directx ou opengl), et comme MS a bridé OpenGL dans Vista...
@an.archi : voir le billet de Tristan.
Je comprends pas l'intérêt pour Google de créer une techno de ce genre alors qu'Adobe possède un quasi monopole dans le domaine avec Flash, même Microsoft qui tente le coup depuis maintenant plus d'un an n'a pas pris plus de 2 % des parts de marché...
Tout comme Silverlight, je pense qu'il s'agit là d'une technologie morte-née.
D'ailleurs, Sun n'avait pas déjà créer un moteur 3D dans le genre basé sur javascript ?
@Patidou : J'ai déjà lu l'article de Tristan, mais je ne vois pas ce que tu veux dire... Pourrais-tu me dire de quoi tu veux parler s'il-te-plaît ?
@an.archi : désolé, j'avais lu quelque part pourquoi x3d n'avait pas marché et je pensais que c'était dans le billet de tristan.
@skoua : le but c'est justement de casser les technos propriétaires comme shockwave.
Lire aussi les explications techniques de Laurentj dans les commentaires du billet.
@Patidou : Si tu retrouves, ça m'intéresse... :)