« Les cartes graphiques/Les architectures de type tiled rendering » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 5 :
[[File:Tiled rendering architecture.jpg|droite|thumb|Tiled rendering architecture.]]
 
La première solution demande d'utiliser une classe de carte 3D légèrement différente de celles vues précédemment. Sur ces architectures, l'écran/image à rendre est découpé en rectangles, rendus indépendamment, uns par uns. Ces rectangles sont appelés des tiles, d'où le nom d'''architectures à tiles''' donné à ce type de cartes graphiques. Sur celles-ci, l'élimination des pixels et triangles cachés s'effectue dès que la profondeur est disponible, c'est à dire à l'étape de rasterization. Sur ces architectures, le résultat des calculs géométriques est mémorisé en mémoire vidéo, avant d'être traité tile par tile. Chaque tile se voit attribuer la liste des triangles qu'elle contient : cette liste est appelée la Display List, et elle est enregistrée en mémoire vidéo. Par la suite, il suffit de rasterizer, placer les textures et exécuter les shaders chaque tile, avant d'envoyer le tout aux ROP. ChaqueL'architecture étapeglobale (géométrie,d'une créationcarte desgraphique à tiles etchange texturing/shading)peu comparé à une carte à rasterization, si ce n'est priseque enle chargerasterizer parest modifié et qu'il est suivi d'une unité spécialiséed'élimination des pixels cachés : l'Image Synthesis Processor, ou ISP.
 
* la gestion de la géométrie est réalisée par les unités de vertex, qui ne changent pas ;
* la seconde étape est prise en charge par une nouvelle unité, qui remplace le rasterizer : le Tile Accelerator ;
* l’élimination des pixels cachés est réalisée par une nouvelle unité : l'Image Synthesis Processor, ou ISP ;
* on retrouve les unités de texture et les processeurs de shaders ;
* et l'écriture en mémoire vidéo est effectuée par les ROPs.
 
Le rasterizer se voit ajouter un nouveau rôle : décider dans quelle tile se trouve un triangle. Pour cela, le rasterizer va calculer le rectangle qui contient un triangle (souvenez-vous le chapitre sur la rasterization), et va vérifier das quelle tile celui-ci est inclus : cela demande de faire quelques comparaison entre les sommets du rectangle, et les sommets des tiles.