Tessellation et rendu des surfaces planétaires – WinStars 3

Tessellation et rendu des surfaces planétaires

Depuis la version 3.0.118, WinStars utilise la tessellation pour améliorer le rendu des surfaces planétaires. Cette technique, introduite avec la norme OpenGL 4.0, ajoute un grand nombre de triangles à un objet, rendant ainsi son aspect plus complexe.
Jusqu’à présent, WinStars simulait le relief d’une planète en jouant sur les ombres et les perspectives en trompe-l’œil. Les textures modifiées par occlusion mapping étaient ensuite appliquées sur des formes géométriques simples (composées d’une dizaine de triangles en général).

La technique de l’occlusion mapping joue sur les ombres et les lumières pour simuler des aspérités à la surface d’un objet.

Ici, le rendu en fil de fer a été activé. En réalité, la surface demeure très simple géométriquement.

Grâce à la tessellation, le nombre de polygones utilisés pour représenter les détails d’un objet augmente considérablement. Les creux et les bosses sont désormais représentés en trois dimensions et ne sont plus seulement simulés.

Le maillage beaucoup plus complexe de la surface est visible en mode fil de fer. Les triangles se comptent ici par milliers.

L’intérêt de la tessellation réside dans le fait que l’ajout de ces nouveaux triangles est réalisé en interne par le processeur graphique durant le rendu.
Il n’y a donc pas de problème de réduction de la bande passante entre le CPU et le GPU durant la phase de complexification géométrique. Cette technique étant très optimisée, l’incidence sur la fluidité du logiciel est limitée.

Cette vidéo de Gamoniac explique l’intérêt de cette technique dans l’industrie du jeu vidéo :

La tessellation est activée pour Mars et la Lune et ne fonctionne pour le moment qu’avec les versions desktop (Linux, MacOS et Windows). Le rendu de la surface de Mars n’est pas aussi bon que pour la Lune, la qualité des textures étant nettement inférieure. Je suis à la recherche de meilleures textures pour offrir un rendu similaire.