NEWS         TESTS         INTERVIEWS         DOSSIERS         BOUTIQUE         GALLERY 3D         3D SITES         FORUM 3D

Java et la 3D

Java est un langage omniprésent sur le net. Son principal concurrent n'est autre que Microsoft avec des solutions tels que l'ASP et l'Active X. Contrairement à la démarche de Microsoft, la compatibilité a présidé au développement de Java. Ainsi une application peut-être déployée sur toutes les plates-formes supportant une machine virtuelle Java : Windows, Solaris, Mac OS, Linux, AIX, BeOS... Même si dans la pratique certaines incompatibilités sont à déplorées, il faut aujourd'hui reconnaître la maturité du langage de Sun. Avec Java (qui ne dépaysera pas les programmeurs C), le web peut enfin s'enrichir de contenus dynamiques (base de données, interactivité...). Il y a quelques années des moteurs de rendu 3D écrits en Java sortaient des universités. Ces solutions expérimentales ont inspiré de nombreux éditeurs. Sun en a profiter pour completer les API Java avec Java 3D.

Une compatibilité multiplateforme et l'absence de plug-in

Aujourd'hui, les éditeurs de moteurs 3D basés sur des composants Active X rencontrent les mêmes problèmes : la compatibilité et le poids du plug-in. De nombreux éditeurs nous promettent des version Mac OS de leur player 3D. Mais les mois de retards s'accumulent lamentablement... Alors que l'i-Mac est un poste de consultation web très populaire, et le Mac la machine de prédilection des webmasters... Devant les temps de développement, les éditeurs font souvent le choix d'ignorer la plate-forme de Steve Jobs. Le problème est certainement amplifié aujourd'hui par le changement radical de l'architecture du système Mac. Peut-on aujourd'hui priver les utilisateurs Mac de la 3D ?
En théorie, le Java gomme radicalement tous les problèmes de compatibilité. Il reste cependant des applications délicates à transposer d'un système à l'autre. La machine virtuelle Microsoft intégrée à Internet Explorer (et donc Windows) s'éloigne par certains points des recommandations officielles de Sun (ce litige est à l'origine du procès Microsoft/Sun), la machine virtuelle fournie par Netscape est plus respectueuse du cahier des charges Java. Globalement, depuis la version 4.0 des browsers, le Java ne pose plus beaucoup de problème. Sur Mac, il est recommandé de ne pas compresser les applets pour une lecture optimale des classes Java.
L'absence de plug-in ! Voila un rêve qui devient à moitié réalité par Java. En effet, alors que les composants Active X viennent compléter les fonctions d'Internet Explorer (ou Netscape), l'applet Java est exécuté et chargé en mémoire pour chaque objet 3D.
Ainsi on obtient l'équation suivante pour les composants Active X :
1 plug-in à charger (compter en moyenne 840Ko) - des objets compressés (109Ko)
pour le java : 1 applet à charger (63Ko en moyenne) - des objets moins compressés (144Ko)

Ainsi, lorsque l'internaute se connecte voici les tailles de fichiers à télécharger :

nombre d'objets Plug-in Java 3D
1 949 ko 207 ko
5 1385 ko 1035 ko
10 1930 ko 2070 ko
20 3020 ko 4140 ko
*valeurs données à titre indicatives (moyennes obtenues à partir de fichiers à qualité visuelle comparable)

Ce tableau montre que lorsque l'on consulte souvent des objets 3D (à partir d'une dizaine), la solution Active X est plus adaptée. Mais avec la multiplication des plug-ins il est assez difficile de trouver plus de 10 objets 3D utilisant la même technologie ! Active X s'impose lorsqu'un site montre un catalogue de nombreux objets, où dans l'e-learning où l'on fait appel à de nombreuses scènes 3D. Dans les autres cas, Java semble plus adapté.

Des solutions Java 3D

Il existe de nombreuses solutions Java 3D sur le marché. Voici les raccourcis vers nos tests :
Shout3D, EyeMatic
Hyperspace, Kaon
Blaxxun 3D, Blaxxun Interactive
3D Anywhere, 3DI

Interzart, Interzart AG (qui propose un plug-in+un applet)

Shout3DNotons aussi l'existence de Anfy 3D, Suma, Janet 3D, Alice (et bien d'autres) prochainement testés. Blaxxun 3D est un applet Freeware. Globalement ces technologies sont proches et demandent quelques connaissances en programmation (Javascript minimum). Généralement basées sur un import VRML, l'interactivité des objets est souvent difficile à gérer (les pivots ne sont pas importés). Une bonne note pour Shout 3D qui propose un import Max de qualité (avec les extensions Character Studio).

Certains secteurs échappent encore aux applets

Shout 3D est sans aucun doute l'applet le plus polyvalent. Il peut non seulement satisfaire un usage e-commerce comme ses confrères mais aussi calculer le rendu de scènes cinématiques complètes. L'applet est d'ailleurs le plus lourd (plus de 100 ko), mais une fois chargé il reste en mémoire pendant la connexion. Dans le domaine des collisions (Blaxxun 3D gère les collision dans le mode walk), les avatars et les particules le Java reste encore timide. Nous attendons impatiemment des démos technologiques qui explorent ces secteurs.
Au niveau de la qualité d'affichage elle est souvent très bonne et satisfait tous les besoins du e-commerce (consultez la BMW de Blaxxun 3D pour vous en convaincre).

KaonLa lenteur légendaire de Java ?

Les partisans des plug-ins montrent du doigt la lenteur du Java. Il est vrai que lorsque le nombre de polygones est important, les applets sont dépassés par les plug-ins. Il est vrai que l'architecture Machine Virtuelle propre à Java impose l'interprétation du code Java dans des API qui ne sont pas natives au système d'exploitation. La gestion de la mémoire n'est pas non plus le point fort de Java. Cependant la plupart des PC actuels interprètent convenablement le code Java. Et la différence entre un plug-in n'est pas si évidente, tout juste peut-on remarquer une mauvaise fluidité qui se traduit aussi baisse de l'ergonomie. Mais rien de véritablement rédhibitoire. Kaon est le plus rapide des applets Java disponible, il n'a pas à rougir face aux plug-in qui font 15 fois son poids !

Des nouvelles habitudes de travail

En fait tout repose sur des habitudes de travail qui sont différentes. Alors que les plug-in disposent de CODEC géométriques intégrés, l'API Java 3D dispose en standard d'une compression des données 3D moins performante, il faudra donc réduire et optimiser les polygones avant de les exporter !
Au final, Java ou pas Java ce qui compte le plus c'est la qualité de la modélisation avant tout. Des exemples aujourd'hui montrent que Java est prêt à relever le défit 3D et possède de nombreux atouts technologiques face aux plug-ins.
Espérons que les applets Java profiteront bientôt des accélérations graphiques matérielles OpenGL (la colaboration entre la librairie OpenGL et Java doit être encore améliorée) ou DirectX (Shout 3D le propose en option).
Quant à Surge (de Curl) qui se présente comme un concurrent de Java il ne semble pas apporter un surcroît de vitesse d'exécution.

L'avenir de Java n'est pas rose pour autant : Sun a du mal à imposer son langage aux solutions embarquées. Et dans le domaine de la 3D Java devra faire face à Shockwave 3D. Sans compter sur Microsoft, l'ennemi juré de Sun Microsystem !

 

 
  Search on 3d-test with Google
      A PROPOS DE 3D-TEST            INFORMATIONS LEGALES               LINKS              TRANSLATE WITH GOOGLE
 
© 2001-2006 3d-test, Panorama of web 3D technologies, 3d-test is edited by Westimages Realtime 3D Solution Provider