光栅化

光栅化 是将基元转换为二维图像的过程。 此图像的每个点都包含诸如颜色、深度和纹理数据之类的信息。 点及其相关信息称为 片段。 使用 glRasterPos*指定的当前光栅位置在此阶段以各种方式用于绘制像素和位图。 光栅化点、线段和多边形时会出现不同的问题。 此外,需要对像素矩形和位图进行光栅化。

使用 OpenGL,可使用以下函数控制光栅化:

  • 原。 使用确定维度和存根模式的函数控制基元的光栅化方式: glPointSizeglLineWidthglLineStippleglPolygonStipple。 控制如何使用 glCullFaceglFrontFaceglPolygonMode 对多边形的正面和背面进行光栅化。
  • 像素。 多个函数控制像素存储和传输模式。 函数 glPixelStore* 控制客户端内存中像素的编码, glPixelTransfer*glPixelMap* 控制像素在放入 framebuffer 之前如何处理像素。 使用 glDrawPixels 指定像素矩形;使用 glPixelZoom 控制其光栅化。
  • 位图。 位图是零和一个矩形,指定要生成的片段的特定模式。 其中每个片段都具有相同的关联数据。 glBitmap 函数指定位图。
  • 纹理内存。 启用纹理时,纹理将指定纹理图像的一部分映射到每个基元。 此映射通过使用片段的纹理坐标所指示的位置的纹理图像的颜色来修改片段的 RGBA 颜色来实现。 使用 glTexImage2DglTexImage1D 指定纹理图像。 glTexParameter*glTexEnv* 函数控制如何解释纹理值并将其应用于片段。
  • 雾。 若要将雾色与光栅化片段的后纹理颜色混合,请使用混合因子,该因子取决于眼点和片段之间的距离。 使用 glFog* 指定雾色和混合因子。