Réflexion sur les technologies
3D de demain
Janvier 2002
Quelles
seront les caractéristiques des technologies web3D
de demain ? Comment les éditeurs vont-il se démarquer
technologiquement ?
Ces changements
vont se faire autour de 4 axes principaux :
- meilleur support des softs 3D et des librairies graphiques
3D (OpenGL / DirectX),
- intégration aux différents media web / interactivité,
- photoréalisme et qualité de rendu,
- amélioration des outils de développement.
A cela s'ajoute une touche d'originalité et d'innovation
qui fait la différence...
Des
textures intelligentes
Compression
Les textures sont au centre des préoccupation
des éditeurs. L'aspect le plus crucial est le poids
des textures : les textures occupent généralement
plus de la moitié du poids total de l'objet web 3D.
Aujourd'hui, les éditeurs supportent des compressions
de type web (JPEG/Wavelet). Les formats PNG et GIF qui gèrent
la transparence et qui ne détruisent pas la géométrie
des motifs (ils agissent uniquement sur le nombre de couleur)
devraient en toute logique être supportés par
les technologies web 3D de demain. Il en est de même
pour le format JPEG2000, qui offre une qualité visuelle
bien supérieure au JPEG (pour la même taille
de fichier). L'avenir des technologies de compression passera
vraisemblablement par la gestion du streaming et de la
résolution des textures
(Mip Mapping). Imaginez des textures qui réagissent
comme les images issues de Viewpoint Zoom Viewer (la résolution
des textures s'adapte au niveau de zoom). La technologie Kaon
montre les avantages du streaming des textures, puisque les
textures s'affinent en cours de chargement. L'amélioration
de la qualité visuelle des textures passe également
par le filtering, le filtering/antialiasing type bicubic ou
à 4 passes améliorent sensiblement le rendu.
L'anisotropic filtering est également intéressant
puisqu'il tient compte de la profondeur (z) pour lisser l'objet
(une route qui s'éloigne vers l'horizon sera mieux
représenté grâce à ce filtre).
Le support de textures vectorielles (SVG, Flash, PDF)
pourrait également améliorer la qualité
visuelle : imaginez des textes parfaitement lissés
à toutes les résolutions (idéal pour
représenter les inscriptions sur un objet : ON/OFF,
les logos...) !
Multi-Texturing
Les technologies actuelles ne permettent généralement
pas la superposition de textures.
Cette lacune empêche de reproduire les compositions
de textures des logiciels 3D et des jeux vidéo. Associé
avec la transparence Alpha, le multi texturing permet de représenter
facilement des éléments impossibles à
représenter avec une seule texture. Le Bump Mapping
et les réflexions sont généralement supportés,
mais leur affichage devrait être 100% hardware pour
améliorer leur rendu et la vitesse d'affichage. L'effet
Bump Mapping est généralement mal rendu (type
emboss), il devrait disparaître au profit de technologies
telles que : Dot3 bump mapping, Environment Mapped Bump Mapping
et True Reflective Bump Mapping.
Textures
Animées
Animer des textures ! Cette idée
semble ridicule compte tenu du fait que le chargement d'images
fixes pour habiller les objets est déjà très
long. On imagine difficilement la lecture d'une séquence
d'images ! C'est sans compter l'importance que revêt
les animations Flash dans le contexte web. Une animation vectorielle
ne prend pas nécessairement plus d'espace qu'une image
fixe. Et puisqu'elles supportent le streaming, la situation
est paradoxalement très favorable ! Viewpoint est la
seule technologie à intégrer des animations
flash en tant que textures, widget, background et foreground
(Mayin-Walkabout intègre également un support
Quicktime/Flash partiel). Certains plug-in VRML acceptent
des textures au format GIF animé. Anark peut jouer
des vidéos en tant que textures, tout comme Macromedia
Shockwave 3D (Real).
Textures
Interactives
Pour
permettre un contrôle total de l'objet, on peut très
bien imaginer des zones réactives sur les textures.
L'idéal serait de pouvoir profiter de l'interactivité
de Flash sur la texture. Imaginez un portable 3D avec un écran
interactif comme une page web avec des liens, des menus !
C'est le chemin ouvert au 100% 3D : si la 3D inclus des textures
2D aux formats standards du web ! Le but serait de pouvoir
intégrer dans des textures n'importe quelle page web
au format HTML (cf. Woozlab)... Le principal frien est d'ordre
ergonomique : comment passer de la navigation 2D à
celle en 3D ?
Nouveaux
Rendus, nouveaux effets
Le rendu
des textures repose sur des shaders (ombrage) et sur l'application
de filtres. De nouveaux shaders devraient sensiblement améliorer
les performances actuelles (l'ombrage de Gouraud, Phong).
Les algorithmes Per-Vertex ou Per-Pixel devraient augmenter
le réalisme, et sont effectués par le processeur
graphique Transform & Lighting.
Intel
a montré (Siggraph 2001) des prototypes d'animations
temps réel gérant des illuminations globales.
Cette nouvelle technologie appelé Light field mapping
permet de générer des ombres douces très
réalistes. Cette technologie tirerait parti des accélérations
3D hardware.
Une autre
évolution devrait se poursuivre : l'intégration
des effets spéciaux. Le rendu des technologies
web3D essayent de se rapprocher de celui des softs 3D. Viewpoint
avec les ombres portées douces a déjà
fait des efforts conséquents dans ce sens. Cult3D,
B3D, Blaxxun Contact supportent les particules afin d'améliorer
le rendu d'objets complexes : le feu, la fumée, l'eau...
Le VRML reconnaît les brouillards, tout comme Shockwave
3D. Wildtangent, Virtools génèrent
des effets type Lens Flare. D'autres effets devraient apparaître
: réflexions automatiques (Openworlds), Depth of Field
(profondeur de champs, effet annoncé pour Sumea), Motion
Blur. L'application de tels effets en temps réel était
le dernier cheval de bataille des cartes Voodoo de 3DFX.
Encore plus impressionnant : les textures Fur. Microsoft
présente en démonstration des modèles
3D recouverts de poils ou de cheveux. Ces effets de fourrures
(fur) sont obtenus en temps réel (carte nVidia). Le
résultat est très réaliste et laisse
présager des nouvelles applications web3D (démonstration
Microsoft-DirectX).
Le
support Hardware
Les éditeurs
de technologies web3D ne savent pas quelle politique choisir
face à la montée en puissance des chips graphiques.
Afin de rester compatible avec les stations modestes, ils
supportent un rendu software (via DirectX ou non). Intégrer
des effets est délicat, car si les librairies graphiques
(OpenGL et DirectX) l'intègrent plus tard, il est inutile
de faire le travail deux fois de suite (sans compter les problèmes
d'incompatibilité). Cette attitude d'attente est perceptible
au niveau de l'antialiasing : de nombreuses technologies n'intègrent
pas cette fonction car elles estiment que l'antialiasing doit
être réalisé par le processeur graphique
(full scene antialiasing). Mais la majorité des internautes
n'ont pas encore accès à ce type de rendu...
Idem pour la subdivision de surface, les éditeurs attendent
l'intégration des N-Patch ou RT-Patch... Avec l'arrivée
de chip graphiques programmables, la situation devrait quelque
peut se clarifier en offrant la possibilité d'écrire
des "fonctions cablées" spécifiques
(spécifications Open GL 2.0).
Une chose est sûre, avec la monté en puissance
des performances graphiques 3D, le nombre de polygones affichables
simultanément ne cesse d'augmenter. Mais ce nombre
de polygones ne peut augmenter indéfiniment : dans
le cadre du web3D la bande passante ne permet pas de transférer
des millions de polygones rapidement. Aujourd'hui, une scène
web 3D classique compte entre 5 000 et 15 000 polygones (contre
2000 à 6000 il y a un an).
Les effets type Per Pixel Shading amélioreront
encore une fois la qualité visuelle, car ils permettent
de calculer précisément la couleur de chaque
pixel, sans interpolations trop approximatives.
La
Géométrie
Les NURBS
et Splines étaient promises à un bel avenir
- Intel en avait fait ses muses pour le lancement des instructions
SSE (Pentium 3). Mais les surfaces définies de manière
implicite n'ont pas eu le succès escompté. A
qui la faute ? Il y a plusieurs raisons à cela : les
méthodes de modélisation reposent principalement
sur les polygones. Les surfaces NURBS et Splines doivent être
dans tous les cas converties en polygones (triangle setup),
les configurations avaient du mal à afficher ces modèles.
Blaxxun Contact, Multi 3D et QedSoft intègrent des
surfaces de type Spline ou NURBS. Aujourd'hui, les regards
sont plutôt dirigés vers les surfaces de subdivision.
Certaines technologies les supportent déjà (Superscape),
mais l'adoption devrait venir des constructeur de chip graphiques
qui intégreront ces surfaces.
Les techniques de compression géométrique actuelles
sont assez disparates et les taux de compression inégaux.
Généralement la simplification du maillage entraîne
l'appauvrissement qualitatif du modèle (surtout pour
les surfaces courbes). Au Siggraph 2001 des solutions de compression
non destructives et gérant la multi-résolution
ont été mises en avant, elles devraient logiquement
trouver un bon accueil dans le domaine web 3D.
Les Voxels ou Pixels 3D aujourd'hui cantonnés à
la visualisation médicale pourraient également
trouver un plus large public.
Interactivité
et connectivité aux bases de données
Les technologies
web3D actuelles offrent des niveaux d'interactivité
avec l'utilisateur très hétérogènes.
Les meilleures technologies dans ce domaine sont certainement
Shockwave 3D et Virtools, qui gèrent des comportements
réalistes des objets (physique via Havok) .
L'interactivité
avec les pages web est généralement gérée
par des commandes en Javascript. Si cela permet de traiter
des liens ou des changement de textures, rares sont les technologies
à proposer une connectivité suffisante aux bases
de données ou de programmation dynamique (via PHP,
PERL, JAVA....). SCOL de CryoNetworks est l'une des rares
technologies à prendre en charge des connexions à
des bases de données. Ce type de fonctionnalité
peut s'avérer important pour la maintenance d'un site
et sa gestion.
Les technologie
web 3D actuelles utilisées dans l'e-commerce (Cult3D
et Viewpoint) s'intègrent très difficilement
aux galeries marchandes. Force est de constater que la 3D
reste liée à de l'événementiel.La
prochaine étape de la 3D : passer du stade de "démonstration
technologique" à celui d'outil marketing...
L'interactivité
est un élément crucial souvent négligé
par les développeurs : l'internaute doit être
en mesure de se positionner rapidement à l'endroit
qu'il souhaite dans la scène 3D. Cela s'applique aussi
bien aux mondes virtuelles qu'aux objets web 3D. Aujourd'hui,
aucune technologie peut prétendre avoir résolut
le problème de l'ergonomie. Viewpoint devance largement
ces concurrents sur ce point, même si des progrès
restent à faire.
|