OpenGL es capaz de visualizar segmentos, o cunjuntos de segmentos, incluso aquellos que, matemáticamente, no tienen ninguna extensión respeto a su anchura. El problema se resuelve dibujando los segmentos directamente como un conjunto de pixeles en la ventana.
Siempre cuando se quiere dibujar un objeto de OpenGL (en este caso unos segmentos, antes vimos puntos y después veremos polígonos) hay que decírselo de antemano con la función
Existen tres tipos de conjuntos de segmentos: segmentos separados, segmentos unidos (es decir, una polilínea) y segmentos cíclicamente unidos (es decir, una polilínea cerrada). El conjunto de segmentos se define mediante un conjunto de puntos que definen las esquinas de los segmentos con llamadas a
y se termina el trabajo con
Igual que vimos con los puntos, se puede variar la anchura, medida en pixeles, de las líneas con
Además se pueden dibujar las líneas con patrones. Los patrones permitidos se basan en cadenas de 16 bits. Siempre que un bit del patrón sea igual a 1 se dibuja dicho pixel, si es igual a 0 no se dibuja. Las polilíneas se dibujan desde su primer hasta su último punto, utilizando los bits del patrón desde el menos significativo hasta el más significativo y después se empieza de nuevo.
Ejemplo:
El patrón 0111111011101101 = 0x7EED genera una línea discontinua cuyos trocitos crecen en longitud.
Se puede dilatar el patrón con un factor entero, así cada bit del patrón controla más de un pixel de la línea.
Antes de poder ver líneas controladas por patrones hay que habilitar el modo adecuado:
que siempre se puede deshabilitar de nuevo con