Partager via


Rasterizing

La rastérisation est le processus par lequel une primitive est convertie en image à deux dimensions. Chaque point de cette image contient des informations telles que des données de couleur, de profondeur et de texture. Un point et ses informations associées sont appelés fragments. La position raster actuelle, telle que spécifiée avec glRasterPos*, est utilisée de différentes manières au cours de cette étape pour dessiner des pixels et des bitmaps. Différents problèmes se posent lors de la rastérisation des points, des segments de ligne et des polygones. En outre, les rectangles de pixels et les bitmaps doivent être rastérisés.

Avec OpenGL, vous contrôlez le rastérisation à l’aide des fonctions suivantes :

  • Primitives. Contrôlez la façon dont les primitives sont rastérisées à l’aide de fonctions qui déterminent les dimensions et les modèles de stipple : glPointSize, glLineWidth, glLineStipple et glPolygonStipple. Contrôlez la façon dont les faces avant et arrière des polygones sont rastérisées avec glCullFace, glFrontFace et glPolygonMode.
  • Pixels. Plusieurs fonctions contrôlent les modes de stockage et de transfert des pixels. La fonction glPixelStore* contrôle l’encodage des pixels dans la mémoire du client, et glPixelTransfer* et glPixelMap* contrôlent la façon dont les pixels sont traités avant d’être placés dans le framebuffer. Spécifiez un rectangle de pixels avec glDrawPixels ; contrôler sa rastérisation avec glPixelZoom.
  • Bitmaps. Les bitmaps sont des rectangles de zéros et de zéros spécifiant un modèle particulier de fragments à produire. Chacun de ces fragments a les mêmes données associées. La fonction glBitmap spécifie une bitmap.
  • Mémoire de texture. Lorsque la texturation est activée, la texturation mappe une partie d’une image de texture spécifiée sur chaque primitive. Pour ce faire, utilisez la couleur de l’image de texture à l’emplacement indiqué par les coordonnées de texture d’un fragment pour modifier la couleur RGBA du fragment. Spécifiez une image de texture avec glTexImage2D ou glTexImage1D. Les fonctions glTexParameter* et glTexEnv* contrôlent la façon dont les valeurs de texture sont interprétées et appliquées à un fragment.
  • Brouillard. Pour mélanger une couleur de brouillard avec la couleur post-texturation d’un fragment rastérisé, utilisez un facteur de fusion qui dépend de la distance entre le point oculaire et le fragment. Utilisez glFog* pour spécifier la couleur de brouillard et le facteur de fusion.