funzione glPointSize
La funzione glPointSize specifica il diametro dei punti rasterizzati.
Sintassi
void WINAPI glPointSize(
GLfloat size
);
Parametri
-
size
-
Diametro dei punti rasterizzati. 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 |
---|---|
|
le dimensioni erano inferiori o uguali a zero. |
|
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd. |
Commenti
La funzione glPointSize specifica il diametro rasterizzato di punti aliasati e antialiased. L'uso di una dimensione del punto diverso da 1.0 ha effetti diversi, a seconda che l'antialiasing punto sia abilitato. L'antialiasing del punto è controllato chiamando glEnable e glDisable con argomento GL_POINT_SMOOTH.
Se l'antialiasing del punto è disabilitato, la dimensione effettiva viene determinata arrotondando le dimensioni fornite al numero intero più vicino. Se l'arrotondamento genera il valore 0, è come se la dimensione del punto fosse 1. Se la dimensione arrotondata è strana, il punto centrale (x,y) del frammento di pixel che rappresenta il punto viene calcolato come
(xw + .5, yw + .5)
dove i sottoscritti indicano le coordinate della finestra. Tutti i pixel che si trovano all'interno della griglia quadrata delle dimensioni arrotondate centrate a (x,y) costituiscono il frammento. Se la dimensione è uniforme, il punto centrale è
(xw + .5, yw + .5)
e i centri del frammento rasterizzato sono le coordinate della finestra a metà intero all'interno del quadrato delle dimensioni arrotondate centrate a (x,y). Tutti i frammenti di pixel prodotti nella rasterizzazione di un punto nonantialias vengono assegnati gli stessi dati associati; che del vertice corrispondente al punto.
Se l'antialiasing è abilitato, la rasterizzazione punto produce un frammento per ogni quadrato pixel che interseca l'area all'interno del cerchio con diametro uguale alla dimensione del punto corrente e centrata nei punti (x w ,yw ). Il valore di copertura per ogni frammento è l'area della coordinata della finestra dell'intersezione dell'area circolare con il quadrato pixel corrispondente. Questo valore viene salvato e usato nel passaggio di rasterizzazione finale. I dati associati a ogni frammento sono i dati associati al punto da rasterizzare.
Non tutte le dimensioni sono supportate quando l'antialiasing del punto è abilitato. Se viene richiesta una dimensione non supportata, viene usata la dimensione più vicina supportata. È garantito che siano supportate solo le dimensioni 1.0; altri dipendono dall'implementazione. L'intervallo di dimensioni supportate e la differenza di dimensioni tra le dimensioni supportate all'interno dell'intervallo possono essere eseguite query chiamando glGet con argomenti GL_POINT_SIZE_RANGE e GL_POINT_SIZE_GRANULARITY.
Le dimensioni del punto specificate da glPointSize vengono sempre restituite quando viene eseguita una query GL_POINT_SIZE. Il blocco e l'arrotondamento per i punti aliasati e antialiased non hanno alcun effetto sul valore specificato.
Le dimensioni dei punti non antialiased possono essere bloccate a un massimo dipendente dall'implementazione. Anche se non è possibile eseguire query su questo valore massimo, non deve essere minore del valore massimo per i punti antialiased, arrotondato al valore intero più vicino.
Le funzioni seguenti recuperano informazioni correlate a glPointSize:
glGet con argomento GL_POINT_SIZE
glGet con argomento GL_POINT_SIZE_RANGE
glGet con argomento GL_POINT_SIZE_GRANULARITY
glIsEnabled con argomento GL_POINT_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 |
|