funzione glLineWidth

La funzione glLineWidth specifica la larghezza delle linee rasterizzate.

Sintassi

void WINAPI glLineWidth(
   GLfloat width
);

Parametri

width

Larghezza delle linee rasterizzate. Il valore predefinito è 1.0.

Valore restituito

Questa funzione non restituisce un valore.

Codici di errore

I codici di errore seguenti possono essere recuperati dalla funzione glGetError .

Nome Significato
GL_INVALID_VALUE
width era minore o uguale a zero.
GL_INVALID_OPERATION
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd.

Commenti

La funzione glLineWidth specifica la larghezza rasterizzata delle righe con alias e antialiased. L'uso di una larghezza di linea diversa da 1,0 ha effetti diversi, a seconda che l'anti-aliasing della linea sia abilitata. L'antialiasing della linea è controllata chiamando glEnable e glDisable con l'argomento GL_LINE_SMOOTH.

Se l'antialiasing di riga è disabilitata, la larghezza effettiva viene determinata arrotondando la larghezza fornita al numero intero più vicino. Se l'arrotondamento restituisce il valore 0,0, è come se la larghezza della linea fosse 1,0. Se | ? x | = | ? y |, i pixel vengono compilati in ogni colonna rasterizzata, dove i è il valore arrotondato di larghezza. In caso contrario, i pixel vengono compilati in ogni riga rasterizzata.

Se l'antialiasing è abilitata, la rasterizzazione delle linee produce un frammento per ogni quadrato di pixel che interseca l'area all'interno del rettangolo con larghezza uguale alla larghezza della linea corrente, la lunghezza uguale alla lunghezza effettiva della linea e centrata sul segmento di linea matematica. Il valore di copertura per ogni frammento è l'area delle coordinate della finestra dell'intersezione dell'area rettangolare con il quadrato pixel corrispondente. Questo valore viene salvato e usato nel passaggio di rasterizzazione finale.

Non tutte le larghezze possono essere supportate quando è abilitata l'anti-aliasing della riga. Se viene richiesta una larghezza non supportata, viene utilizzata la larghezza più vicina supportata. È garantito che sia supportata solo la larghezza 1,0; altri dipendono dall'implementazione. È possibile eseguire query sull'intervallo di larghezze supportate e la differenza di dimensioni tra le larghezze supportate all'interno dell'intervallo chiamando glGet con argomenti GL_LINE_WIDTH_RANGE e GL_LINE_WIDTH_GRANULARITY.

La larghezza della riga specificata da glLineWidth viene sempre restituita quando viene eseguita una query GL_LINE_WIDTH. L'arrotondamento e l'arrotondamento per le righe con alias e antialiased non hanno alcun effetto sul valore specificato.

La larghezza della linea non antialiased può essere bloccata a un valore massimo dipendente dall'implementazione. Anche se non è possibile eseguire query su questo valore massimo, non deve essere minore del valore massimo per le righe antialiased, arrotondato al valore intero più vicino.

Le funzioni seguenti recuperano informazioni correlate a glLineWidth:

glGet con argomento GL_LINE_WIDTH

glGet con argomento GL_LINE_WIDTH_RANGE

glGet con argomento GL_LINE_WIDTH_GRANULARITY

glIsEnabled con argomento GL_LINE_SMOOTH

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Gl.h
Libreria
Opengl32.lib
DLL
Opengl32.dll

Vedi anche

glBegin

glEnable

glEnd

glIsEnabled