Rastérisation

La pixellisation est le processus par lequel une primitive est convertie en une image à deux dimensions. Chaque point de cette image contient des informations telles que les données de couleur, de profondeur et de texture. Un point et les informations qui lui sont associées sont appelés fragments. La position raster actuelle, telle qu’elle est spécifiée avec glRasterPos *, est utilisée de différentes façons pendant cette étape pour dessiner des pixels et des bitmaps. Différents problèmes surviennent lors de la pixellisation des points, des segments de ligne et des polygones. En outre, les rectangles de pixels et les bitmaps doivent être pixellisés.

Avec OpenGL, vous contrôlez la pixellisation à l’aide des fonctions suivantes :

  • Primitives. Contrôlez la façon dont les primitives sont pixellisées à l’aide des fonctions qui déterminent les dimensions et les modèles stipple : glPointSize, glLineWidth, glLineStippleet glPolygonStipple. Contrôlez la façon dont les faces arrière et arrière des polygones sont pixellisées avec glCullFace, glFrontFaceet glPolygonMode.
  • Hauteur. Plusieurs fonctions contrôlent le stockage des pixels et les modes de transfert. La fonction * glPixelStore * _ contrôle l’encodage des pixels dans la mémoire du client, tandis que glPixelTransfer * et glPixelMap * contrôlent le mode de traitement des pixels avant leur placement dans le trame. Spécifiez un rectangle de pixels avec _ glDrawPixels *; Contrôlez sa pixellisation avec glPixelZoom.
  • Bitmaps. Les bitmaps sont des rectangles de zéros et ceux qui spécifient 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 image 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. Ce mappage est effectué à l’aide de la couleur de l’image de texture à l’emplacement indiqué par les coordonnées de texture d’un fragment pour modifier la couleur RVBA 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.
  • Vont. Pour fusionner une couleur de brouillard avec la couleur de surtexturation d’un fragment pixellisé, utilisez un facteur de fusion qui dépend de la distance entre le Eyepoint et le fragment. Utilisez glFog * pour spécifier la couleur de brouillard et le facteur de fusion.