glPointSize-Funktion

Die glPointSize-Funktion gibt den Eigenschaftenbereich von rasterisierten Punkten an.

Syntax

void WINAPI glPointSize(
   GLfloat size
);

Parameter

size

Der Eigenschaftenbereich von rasterten Punkten. Der Standardwert ist 1.0.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Fehlercodes

Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.

Name Bedeutung
GL _ UNGÜLTIGER _ WERT
size war kleiner oder gleich 0 (null).
UNGÜLTIGER _ _ GL-VORGANG
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen.

Bemerkungen

Die glPointSize-Funktion gibt den rasterisierten Eigenschaftenbereich von Alias- und Antialiasingpunkten an. Die Verwendung einer anderen Punktgröße als 1,0 hat unterschiedliche Auswirkungen, je nachdem, ob Punkt-Antialiasing aktiviert ist. Das Antialiasing von Punkt wird durch Aufrufen von glEnable und glDisable mit dem Argument GL _ POINT SMOOTH _ gesteuert.

Wenn das Antialiasing von Punkten deaktiviert ist, wird die tatsächliche Größe bestimmt, indem die angegebene Größe auf die nächste ganze Zahl gerundet wird. (Wenn die Rundung den Wert 0 ergibt, ist dies so, als ob die Punktgröße 1 wäre.) Wenn die gerundete Größe ungerade ist, wird der Mittelpunkt (x,y) des Pixelfragments, das den Punkt darstellt, als berechnet.

(xw + .5, yw + .5)

wobei w-Inskripts Fensterkoordinaten angeben. Alle Pixel, die innerhalb des quadratischen Rasters der abgerundeten Größe liegen, die um (x,y) zentriert sind, stellen das Fragment dar. Wenn die Größe gleichmäßig ist, ist der Mittelpunkt

(xw + .5, yw + .5)

und die Mittelpunkte des rasterisierten Fragments sind die Halb-Ganzzahl-Fensterkoordinaten innerhalb des Quadrats der abgerundeten Größe, die um (x, y )zentriert ist. Allen Pixelfragmenten, die beim Rastern eines nicht vorsenden Punkts erzeugt werden, werden die gleichen zugeordneten Daten zugewiesen. die des Scheitelpunkts, der dem Punkt entspricht.

Wenn Antialiasing aktiviert ist, erzeugt die Punktrasterung ein Fragment für jedes Pixel-Quadrat, das den bereich schneidet, der innerhalb des Kreises liegt, deren Partikel gleich der aktuellen Punktgröße ist und an den Punkten zentriert ist (xw ,yw ). Der Abdeckungswert für jedes Fragment ist der Fensterkoordinatenbereich der Schnittmenge des kreisförmigen Bereichs mit dem entsprechenden Pixel-Quadrat. Dieser Wert wird gespeichert und im letzten Rasterungsschritt verwendet. Die den einzelnen Fragmenten zugeordneten Daten sind die Daten, die dem punkt zugeordnet sind, der rastert.

Nicht alle Größen werden unterstützt, wenn Das Antialiasing von Punkt aktiviert ist. Wenn eine nicht unterstützte Größe angefordert wird, wird die nächstgelegene unterstützte Größe verwendet. Es wird garantiert, dass nur die Größe 1.0 unterstützt wird. andere hängen von der Implementierung ab. Der Bereich der unterstützten Größen und der Größenunterschied zwischen unterstützten Größen innerhalb des Bereichs können durch Aufrufen von glGet mit den Argumenten GL POINT SIZE RANGE und _ GL POINT SIZE _ _ _ _ _ GRANULARITY abgefragt werden.

Die von glPointSize angegebene Punktgröße wird immer zurückgegeben, wenn GL _ POINT SIZE _ abgefragt wird. Das Schließen und Runden von Alias- und Antialiasingpunkten hat keine Auswirkungen auf den angegebenen Wert.

Die Größe von nicht antialiasierten Punkten kann an ein implementierungsabhängiges Maximum geklammert werden. Obwohl dieser Höchstwert nicht abgefragt werden kann, darf er nicht kleiner als der Höchstwert für Antialiasingpunkte sein, gerundet auf den nächsten ganzzahligen Wert.

Die folgenden Funktionen rufen Informationen im Zusammenhang mit glPointSize ab:

glGet mit Argument GL _ POINT _ SIZE

glGet mit Argument GL _ POINT _ SIZE _ RANGE

glGet mit Argument GL _ POINT _ SIZE _ GRANULARITY

glIsEnabled mit Argument GL _ POINT _ SMOOTH

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Gl.h
Bibliothek
Opengl32.lib
DLL
Opengl32.dll

Weitere Informationen

glBegin

glEnable

glEnd

glIsEnabled