Le OpenGL langage d'ombrage (GLSL) est une programmation
informatique langue spécialement conçu pour manipuler et le contrôle des
graphiques en trois dimensions (3D) au cours du processus de rendu directement
au sein de l'unité de traitement graphique (GPU) d'une carte graphique en utilisant
les bibliothèques OpenGL . En essence, OpenGL langage d'ombrage offre aux programmeurs un
accès direct à la géométrie 3D et rendu au plus bas niveau possible sans avoir
à écrire des routines en langage d'assemblage à l'interface avec le matériel du
GPU. Grâce à l'utilisation de l'OpenGL langage d'ombrage, des effets tels que des
textures générées procédure et la géométrie peuvent être mises en œuvre et
optimisés directement dans le GPU, ce qui accélère le processus de rendu. Il
permet également des fonctions plus complexes, tels que l'animation ou des
effets spéciaux, pour être efficacement mis en œuvre sans la surcharge de code
de niveau supérieur. Le langage d'ombrage est compilé par le GPU en code
exécutable, ce qui signifie implémentations spécifiques et compilateurs peuvent
être conçu pour les cartes graphiques individuelles, en augmentant les gains de
performance de l'utilisation des différents shaders.
À toutes fins
pratiques, l'OpenGL langage d'ombrage
est un langage de programmation entièrement mis en œuvre qui imite la syntaxe
du langage de programmation C dans presque tous les moyens, à l'exception des
variables de type pointeur et des directives de préprocesseur. fonctions
définies par l'utilisateur, les variables et les déclarations de branchement et
bouclage logiques sont tous pris en charge, ce qui permet des programmes
entièrement réalisés à être écrites en utilisant seulement la langue de shader,
et de fournir un niveau d'abstraction qui est portable sur différents systèmes
d'exploitation et des configurations matérielles. Une fois un programme de
shader est terminé, il est passé à la GPU, où il est compilé et exécuté au
besoin pendant le processus de rendu.
Un programme
écrit en OpenGL langage d'ombrage est
finalement passé à la GPU, où il peut être compilé par le matériel ou les
conducteurs produits par le fabricant de la carte graphique. Cela signifie
certaines déclarations utilisées dans la langue peuvent avoir leur code compilé
réelle optimisé pour fonctionner efficacement avec les caractéristiques
matérielles spécifiques d'une carte graphique spécifique. Cela augmente la
vitesse d'exécution et peut étendre les fonctionnalités de base pour inclure
des options et des effets qui pourraient être unique pour une carte graphique
unique rendu spéciaux.
Il existe trois
types de shaders OpenGL langage
d'ombrage peut être utilisé pour écrire. Le premier est connu comme un vertex
shader et est conçu pour effectuer des opérations complexes sur des sommets
individuels, tels que la traduction, l'extension ou la texturation un point
dans l'espace. Le second est un geometry shader et peut être utilisé pour
ajouter, supprimer ou manipuler autrement polygones avant qu'ils ne soient
éventuellement pixellisés. Un fragment shaders, également appelés pixel
shaders, peuvent être écrits pour effectuer des opérations sur des points dans
la scène 3D comme ils sont convertis en une image en deux dimensions (2D) pour
l'affichage sur un écran, tels que les effets d'éclairage ou des distorsions
plat.