1 Pipeline graphique
Une application 3D se décompose de la façon suivante- Application (CPU)
- Géométrie (GPU)
- Transformation (GPU)
- Rasterization (GPU)
1.1 Application
L’application est le programme qui permet de charger et de piloter l’environnement 3D. La partie applicative s’occupe entre autres de :- Chargement des modèles 3D
- Entrée utilisateurs
- Animation des modèles
- Gestion des collisions
1.2 Géométrie
Position, Rotation, Scale
La position est un vecteur 3D, représenté par 3 nombres réels x,y,z. Il représente un point dans un référentiel 3D. La rotation est un vecteur 3DVertex
Un Vertex est un point 3D représenté par des coordonnées x,y,z.Face
Une face est une liste d’index vers 3 vertices représentant une surface (triangle) En règle générale les moteurs 3d temps réel ne gèrent que des triangles. Les faces de quatre côtés appelés quad sont générées à partir de 2 triangles.Strips
Le vertex strip est un assemblage de triangles connectés partageant les vertices.
Normal
Vecteur 3d (x,y,z) associé à un vertex. Elle est utile au calcul de la lumière. Un triangle contient 3 normales.Texture
Une texture est une image avec des attributs de tiling. Elle est référencée par un matériel qui sera appliqué au faces.Coordonnés de mapping.
Coordonnées 2D dans le référentiel de la texture associées au point 3D.
Index Buffer
Un index buffer est une liste d’indices pointant vers des vertices et représentant une liste de triangles. La taille de l’index buffer est toujours un multiple de 3.Material
Un matériel définit la manière dont sera rendu une surface en fonction de ses paramètres et de l’environnement (lumière) Les paramètres varient suivant le type de matériel. Les plus communs sont :- Diffuse : Couleur.
- Specular : réflexion lumineuse.
- Emission : lumière émise par l’objet.
- Ambiant : réaction à la lumière ambiante.
- Texture : image qui sera appliquée sur la surface.

Mesh
Un mesh est un maillage qui consiste en une liste de vertices (Vertex Buffer), une liste d’index vers ces vertices (Index Buffer) qui représente les faces, et un matériel qui sera appliqué à ces faces.Light
En 3d temps réel il existe trois type de lumières. Ces 3 types de lumières sont utilisées car rapides à calculer. Point : un point qui éclaire dans toute les directions jusqu’à une certaine distance.


Caméra
Une caméra est un référentiel dans l’espace qui servira de point de vue pour le rendu de la scène. Une caméra est définie par un near plan qui représente la surface de rendu, un far plan au-delà duquel la scène ne sera plus rendu et un type de projection. Il existe deux types de projections.- La projection orthographique qui est une projection parallèle (sans perspective). La zone qui sera rendue est incluse dans un parallélépipède.
- La projection en perspective est définie par une longueur de focal. La zone de rendu est une pyramide tronquée (frustum) par le near plan.

Entité
Une entité est un référentiel 3D (position, rotation, scale) qui est associé à un mesh, une caméra ou une light afin de la positionner dans l’espace.Scène
Une scène est une hiérarchie contenant les entités nécessaires à la représentation du monde 3D.2 Pipeline de Rendu
1.2 Transformation Afin d’effectuer rapidement les transformations de référentiel des modèles dans l’espace 3D les moteurs de rendu utilisent des matrices.

- En mémoire
- Sur le disque dur