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
GL_INVALID_VALUE
le dimensioni erano inferiori o uguali a zero.
GL_INVALID_OPERATION
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
Gl.h
Libreria
Opengl32.lib
DLL
Opengl32.dll

Vedi anche

glBegin

glEnable

glEnd

glIsEnabled