Qu'est-ce qu'une cible de rendu?
Dans la programmation graphique par ordinateur, une cible de rendu est une zone de la mémoire de l'ordinateur dans laquelle l'image suivante à afficher est dessinée. Le plus souvent utilisée pour augmenter la vitesse de rendu, la cible du rendu se trouve généralement dans une zone de mémoire dédiée de la carte graphique située à proximité de l'unité de traitement graphique (GPU). Bien que le concept soit presque identique, il existe quelques différences mineures dans les conventions d'implémentation et de nommage liées à une cible de rendu; Celles-ci dépendent du langage de programmation ou de la bibliothèque utilisé. Certains langages l'appellent un tampon de retour, un objet framebuffer ou un double tampon. Il est également possible, en particulier dans l’infographie tridimensionnelle (3D), d’utiliser la cible de rendu pour dessiner des textures sur des objets afin d’optimiser l’image d’affichage final lors de la compilation. Dans certains cas, il est possible d'avoir plusieurs cibles de rendu (MRT), différentes parties d'une image étant dessinées sur des surfaces différentes, puis composées sur la cible finale.
L'idée d'une cible de rendu est similaire au processus utilisé avec la double mise en mémoire tampon. Une image est essentiellement dessinée sur une surface hors écran, qui est en réalité une zone de mémoire, de sorte que le moment de dessiner la prochaine image sur un dispositif d'affichage ou un écran soit fait le plus rapidement possible des fonctions de dessin ont déjà été effectuées. La différence avec une cible de rendu dans de nombreuses implémentations réside dans le fait que la zone de mémoire utilisée peut se trouver sur la carte graphique et être gérée via du matériel ou d’autres aspects du GPU, ce qui le rend bien plus efficace et plus rapide qu’une conception à double tampon gérée par logiciel.
Dans le cas de la programmation graphique 3D, une cible de rendu peut être utilisée pour optimiser le rendu des objets utilisant des images pour leurs textures de surface. Le contexte de rendu se trouve à l'intérieur du matériel graphique, ce qui permet donc une pixellisation très rapide des objets 3D. Des effets spéciaux peuvent également être dessinés de cette manière, ce qui rend le montage de la scène finale sur une mémoire tampon très rapide car la plupart des informations graphiques ne sont déplacées que sur une courte distance sur la carte graphique.
Le matériel graphique, les pilotes et les bibliothèques utilisés peuvent avoir une incidence sur le fonctionnement d'une cible de rendu. L'utilisation de MRT est une contrainte spécifique, dans laquelle la carte graphique détermine le nombre de cibles pouvant être utilisées simultanément. Certaines cartes ne prennent également en charge aucun matériel pour les cibles de rendu, bien que des fonctionnalités similaires puissent généralement être obtenues par d'autres moyens.