Au programme : quelques images du nouveau CryEngine, des modèles 3D gratuits, et de la simulation physique.
La Game Developers Conference a commencé, et le studio CryTek en a profité pour diffuser une vidéo de la nouvelle version de CryEngine, leur célèbre moteur de rendu en 3D temps réel.
Dans le communiqué de presse associé, CryTek met l'accent sur les possibilités d'utilisation sur console (Xbox 360, PS3) ou pour des MMO.
Sur le plan technique, il n'y a apparemment pas encore beaucoup d'infos disponibles.
Voici la vidéo diffusée pendant le GDC :
Le site Hongkiat.com a mis en ligne une liste de 60 sites permettant de télécharger gratuitement des objets 3D. Les droits d'utilisation (objets libres de droits, licence creative commons, usage non commercial, etc) varient d'un site à l'autre.
NVidia a mis en ligne une vidéo de simulation temps réel d'écoulement fluide. Les turbulences créées par le mouvement de la voiture sont simulées directement sur la carte graphique.
Basée sur CUDA / APEX (Adaptive Physics EXtensions), la simulation tourne de façon stable (simulation en temps constant, donc pas de ralentissement intempestif). 500 000 particules permettent de visualiser le résultat.
La page Youtube de la vidéo donne quelques détails techniques supplémentaires.
Ca tourne du côté du ZBlog, le blog francophone officiel de ZBrush !

Un billet publié récemment a en effet annoncé la mise en ligne d'un grand nombre de "turntables" (francisées en "tournettes"), autrement dit des petites animations flash permettant d'avoir l'impression de faire tourner un modèle 3D. Il s'agit en réalité d'images statiques mais l'illusion est plutôt bonne, et permet surtout d'avoir un résultat bien plus léger à charger qu'un vrai modèle 3D.
Dans le lot des artistes qui ont participé à cette galerie, on notera la présence de plusieurs francophones, comme Sébastien Legrain et François Rimasson.
NVIDIA: simulation de cheveux temps réel sur le GPUNVIDIA vient de mettre en ligne des présentations montrées lors du SIGGRAPH 2008 sur la simulation temps réel de cheveux. Le résultat est assez impressionnant en qualité, et les performances prometteuses. Voila qui pourrait bien d'ici quelques années sonner le glas des personnages aux chevelures de playmobil dans les jeux vidéo...
A noter en bas de page, des liens vers d'autre publications sur le sujet, dont une publication a laquelle ont participé les françaises Marie-Paule Cani et Florence Bertails (voir aussi sa page de thèse sur la simulation de chevelures virtuelles).
Kévin Boulanger a récemment mis en ligne sa thèse sur le rendu temps réel d'espaces naturels : herbe, arbres.
Le sujet peut sembler assez banal, d'autant plus que les derniers jeux 3D tels que Crysis ou le futur Far Cry 2 présentent des effets assez réalistes à ce niveau. En pratique, le résultat est assez bluffant, un gros travail sur la qualité de l'éclairage ayant été fait.
En 2005 et 2006, Kévin Boulanger a travaillé sur le rendu d'étendues d'herbes.
La difficulté principale de ce type de décor est le nombre de brins d'herbe nécessaires pour obtenir un résultat réaliste. Il est impensable de représenter chaque brin séparément à perte de vue, à moins de vouloir faire fondre sa carte graphique.
Une méthode classique consiste alors à utiliser des billboards :on utilise des textures 2D pour simuler les objets 3D, comme sur l'image suivante.
source : Nvidia (1)
L'image du bas montre l'envers du décor : de simples quads (des quadrilatères) sont placés dans la scène ; en affichant sur ces rectangles des textures avec un effet de transparence, on va simuler la présence d'herbe, en utilisant peu de polygones. Si on déforme dynamiquement les quads, on peut même simuler l'effet du vent.
Kevin Boulanger - Simulation d'herbe en temps réel
Le travail de Kévin Boulanger reprend un peu ce principe, mais avec utilisation de LOD (level of detail), une technique qui consite à détailler plus ou moins les objets en fonction de leur distance à la caméra : pour les zones très proches, on représente les brins d'herbe de façon géométrique. Dans les zones intermédiaires, des plans verticaux sont employés, un peu comme dans l'illustration issue de NVIDIA. Enfin, pour les zones lointaines, de simples plans horizontaux sont utilisés.
La simulation ne se limite pas là : l'ombrage entre brins d'herbes voisins est rendu de façon efficace (l'auto ombrage est lui laissé de côté car coûteux et peu utile), l'ambient occlusion est prise en compte via une texture prédéfinie : les zones d'herbe sous un arbre ou un banc seront donc plus sombres.
La vidéo qui suit montre le résultat obtenu en temps réel :
Au niveau performances, la méthode décrite par Kévin lui permet de simuler 627 millions de brins d'herbe virtuels à 20 images par seconde minimum (pire cas) sur un terrain de foot, avec une configuration qui n'a rien d'extraordinaire (GeForce 7800 GTX, 1024x768, antialiasing 4X).
Kévin Boulanger - éclairage temps réel d'arbres prenant en compte l'éclairage indirect
Depuis 2007, Kévin Boulanger s'intéresse aussi au rendu réaliste d'arbres, avec une méthode qui permet de prendre en compte non seulement la lumière solaire directe, mais aussi l'éclairage renvoyé par le sol, l'éclairage global du ciel et même la lumière transmise ou réfléchie par les feuilles voisines !
La méthode est plus intéressante que l'utilisation d'une texture prédéfinie ou qu'un précalcul, dans le sens où elle permet d'utiliser un éclairage dynamique et potentiellement de l'animation, tout en conservant un résultat cohérent.
Le principe est d'utiliser pour les calculs une modélisation simplifiée du feuillage, représenté comme une enveloppe convexe ; on considère notamment que les feuilles sont réparties de façon relativement uniformes à l'intérieur, et qu'elles sont de tailles semblables et petites par rapport à l'enveloppe globale (il serait d'ailleurs intéressant de tester les résultats sur des arbres ne vérifiant pas ces hypothèses).
Voyons plutôt le résultat en images :
Au niveau performances, une centaine d'arbres de 98 000 polygones est rendue à 27 fps dans le pire des cas sur une 8800 GTX.
Pour la suite, je vous invite à aller voir directement sur le site de Kévin Boulanger sa page consacrée au rendu d'arbres en temps réel, vous y trouverez de nombreuses captures, mais aussi des documents explicatifs.
Quelques petites nouvelles de NVIDIA, qui a décidé de nous en mettre plein la vue.

A l'occasion du Siggraph 2008, NVIDIA a présenté une démo de raytracing temps réel entièrement calculé sur GPU. Niveau perfos, la scène comportait 2 millions de polygones, était en 1920x1080 et comportait des effets d'antialiasing. Le tout avec 3 niveaux de récursivité.
L'intérêt de tout ça ? Le raytracing permet des rendus bien plus réalistes que les techniques temps réel classiques notamment en ce qui concerne les reflets ou la réfraction. Un pas de plus vers le photoréalisme temps réel...
N'espérez cependant pas voir ce type d'effet demain sur vos PC, il faudra encore probablement un an ou deux avant que les cartes accessibles au hardcore gamer moyen puissent être assez puissantes... Pour le moment, c'est plutôt les domaines de la visualisation et du CAD qui y auront droit.
Plus d'infos et des captures grand format sur hothardware.com

Autre progrès notable, la simulation de liquides. Ce type de matériau est très coûteux en calculs si on ne se contente pas d'une simple surface de lac calme. Ici, NVIDIA a utilisé la technologie PhysX, récemment acquise. La simulation est effectué via une méthode appelée Smooth Particle Hydrodynamics. Ceux qui voudront quelques détails mathématiques auront un aperçu sur wikipédia. En résumé, cette méthode utilise un nombre massif de particules régies par leur environnement immédiat et non par des systèmes d'équations linéaires, contrairement aux méthodes classiques. On perd en simulation physique pure, mais le réalisme visuel est suffisant et surtout, le rendu est bien plus rapide.
Comme on utilise des particules, le calcul de l'interface entre le fluide et le l'air est immédiat : là où il y a des particules on est dans le liquide, là où il n'y en a pas, on est dans l'air. Pour le rendu final il faut tout de même générer une surface géométrique, par exemple avec des metaballs.
Le passage sur GPU de ce type de calcul a permis un bond en termes de performances, et même ma vénérable 8600 GTS s'en tire ici plutôt bien.
La démo fournie par NVIDIA contient deux scènes différentes et plusieurs modes de visualisation du liquide.
En voici un petit aperçu en vidéo :
Au passage, on remarque un mode dans lequel on ne voit plus du liquide mais des billes : il s'agit des fameuses particules dont je parlais plus haut (dans ce mode on fait un rendu des particules sans créer la surface du liquide).

Dernière démo intéressante, The Great Kulu se présente comme un mini FPS. Une grosse bestiole va tenter de vous rattraper dans des couloirs, ce qui n'est certes pas très original. Ce qui l'est plus c'est la bestiole elle-même, un croisement entre un ver géant et une pieuvre. Totalement molle, elle se déforme contre les murs et l'environnement.
De quoi donner, peut-être, un avant-goût des Doom-like de demain ou après-demain...
Pour tester les deux dernières démos, il suffit de se rendre sur le site de NVIDIA et de télécharger le dernier ForceWare (attention, carte de type NVIDIA GeForce 8 ou supérieure requise ! ). Les cases à cocher permettent de sélectionner les démos à télécharger. Outre les fluides et les soft bodies, une démo de simulation de vêtements est notamment disponible.