Moteurs 3D

Un peu de technique...

Rastérisation

Il existe deux principales méthodes de rendu 3D :

Rastérisation

Cette méthode la plus souvent utilisée repose sur le principe de la transformation de l'espace (applications linéaires). On obtient pour chaque sommet d'un point ses coordonnées 2D ainsi que sa profondeur. Cela correspond à la projection de l'espace (en 3D) sur l'écran (en 2D).

On obtient en sortie un rendu similaire à celui que l'on aurait eu en regardant la même scène avec ses propres yeux.


Rastérisation des coordonnées 2D vers l'image finale

Chaque point, ligne ou face d'un objet subit une transformation à l’écran.

Par exemple :
une ligne avec les extrémités aux coordonnées (2,3) et (5,3) sera représenté par les pixels aux coordonnées suivantes : (2,3),(3,3),(4,3),(5,3).

Cette opération est bien plus complexe quand ce sont des obliques ou lorsqu'il s’agit de remplir des formes.

Cette méthode dite de rastérisation rend bien des services malgré les opérations effectuées pour au final obtenir un faible temps de calcul et donc en sortie un rendu d'image temps réel.

Librairies OpenGL / Direct3D

Ces deux librairies sont des api graphiques (de système d’exploitation) qui servent :

Ce sont des algos mis en œuvre pour gérer et optimiser le rendu graphique des moteurs 3D. Ils sont indépendants de la machine.

OpenGL ou DirectX ?

More OpenGL

de plus près

Il est important de savoir que les extensions ARB sont compatibles avec tous les modèles de carte graphique alors que les extensions EXT sont assez spécifiques.

Pour avoir plus d’infos, vous pouvez bien entendu consulter le site officiel d'opengl : www.opengl.org.

Les langages d’utilisation de la librairie opengl sont diverses. Voici une petite liste des plus populaires :

Java OpenGL (JOGL) permet que la librairie OpenGL puisse être utilisée dans le langage Java. L’API OpenGL de base écrite en C est accessible par JOGL via des appels JNI (Java Native Interface).

Autres librairies

Il existe d'autres librairies utilisées dans d'autre cas tels que :

Les machines virtuelles :

Le web :