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 |
---|---|
|
width era minore o uguale a zero. |
|
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 |
|
Libreria |
|
DLL |
|