glTexParameterfv-Funktion

Legt Texturparameter fest.

Syntax

void WINAPI glTexParameterfv(
         GLenum  target,
         GLenum  pname,
   const GLfloat *params
);

Parameter

Ziel

Die Zieltextur, die entweder GL _ TEXTURE _ 1D oder GL _ TEXTURE _ 2D sein muss.

pname

Der symbolische Name eines einwertigen Texturparameters. Die folgenden Symbole werden in pname akzeptiert.

Wert Bedeutung
GL _ TEXTURE _ MIN _ FILTER
Die Textur minifying-Funktion wird immer dann verwendet, wenn das zu texturierte Pixel einem Bereich größer als ein Texturelement zutut. Es gibt sechs definierte Vergrößerungsfunktionen. Zwei davon verwenden die nächsten vier Texturelemente, um den Texturwert zu berechnen. Die anderen vier verwenden Mipmaps.
Eine Mipmap ist ein geordneter Satz von Arrays, die dasselbe Bild mit progressiv niedrigeren Auflösungen darstellen. Wenn die Textur dimensionen 2nx2m hat, gibt es max(n, m) + 1 mipmaps. Die erste Mipmap ist die ursprüngliche Textur mit den Abmessungen 2nx2m. Jede nachfolgende Mipmap hat die Abmessungen 2k1x2l1, wobei 2kx2l die Dimensionen der vorherigen Mipmap sind, bis entweder k = 0 oder l = 0. An diesem Punkt haben nachfolgende Mipmaps die Dimension 1x2l1 oder 2k1x1 bis zur endgültigen Mipmap mit der Dimension 1x1. Mipmaps werden mit glTexImage1D oder glTexImage2D mit dem Detailebenenargument definiert, das die Reihenfolge der Mipmaps angibt. Ebene 0 ist die ursprüngliche Textur. level bold max(n, m) ist die letzte 1x1 mipmap.
GL _ TEXTURE _ MAG _ FILTER
Die Texturvergrößerungsfunktion wird verwendet, wenn das zu texturierte Pixel einem Bereich kleiner oder gleich einem Texturelement entspricht. Sie legt die Texturvergrößerungsfunktion entweder auf GL _ NEAREST oder GL LINEAR _ fest.
GL _ TEXTURE _ WRAP _ S
Legt den Wrap-Parameter für Texturkoordinaten auf _ GL-KLAMMer oder GL _ REPEAT fest. GL CLAMP bewirkt, dass die Koordinaten an den Bereich _ [ 0,1 geklammert werden, und ist nützlich, um das Umschließen von Artefakten zu verhindern, wenn ein einzelnes Bild einem Objekt zuordnen ] wird. GL _ REPEAT bewirkt, dass der ganzzahlige Teil der s-Koordinate ignoriert wird. OpenGL verwendet nur den Bruchteil, wodurch ein sich wiederholende Muster erstellt wird. Auf Rahmentexturelemente wird nur zugegriffen, wenn wrapping auf GL _ CLAMP festgelegt ist. Anfänglich ist GL _ TEXTURE WRAP S auf GL REPEAT _ _ _ festgelegt.
GL _ TEXTURE _ WRAP _ T
Legt den Wrap-Parameter für die Texturkoordinate t entweder auf GL _ CLAMP oder GL REPEAT _ fest. Weitere Informationen finden Sie in der Diskussion unter GL _ TEXTURE _ WRAP _ S. Anfänglich ist GL _ TEXTURE WRAP T auf GL REPEAT _ _ _ festgelegt.
GL _ TEXTURE _ BORDER _ COLOR
Legt eine Rahmenfarbe fest. Der Parameter params enthält vier Werte, die die RGBA-Farbe des Texturgrenzwerts bilden. Ganzzahlige Farbkomponenten werden linear so interpretiert, dass die positivste ganze Zahl 1,0 und die negativste ganze Zahl 1,0 zugibt. Die Werte werden an den Bereich [ 0,1 geklammert, ] wenn sie angegeben werden. Anfangs ist die Rahmenfarbe (0, 0, 0, 0).
GL _ _ TEXTURPRIORITÄT
Gibt die Texturpriorität der aktuell gebundenen Textur an. Zulässige Werte liegen im Bereich [ 0, ] 1. Weitere Informationen finden Sie unter glPrioritizeTextures und glBindTexture.

params

Ein Zeiger auf ein Array, in dem der Wert oder die Werte von pname gespeichert werden. Der parameter params-Parameter stellt eine Funktion zum Verfälsieren der Textur als eine der folgenden Funktionen zur Verinnerlichung der Textur zur Folge.

Wert Bedeutung
GL _ NEAREST
Gibt den Wert des Texturelements zurück, das dem Mittelpunkt des zu texturierten Pixels am nächsten liegt (in Der Abstand von "Wird gerundet").
GL _ LINEAR
Gibt den gewichteten Durchschnitt der vier Texturelemente zurück, die der Mitte des zu texturierten Pixels am nächsten liegen. Diese können Rahmentexturelemente enthalten, abhängig von den Werten von GL _ TEXTURE _ WRAP _ S, GL TEXTURE WRAP _ T und der _ _ exakten Zuordnung. GL NEAREST ist im Allgemeinen schneller als GL LINEAR, kann jedoch texturierte Bilder mit schärferen Kanten erzeugen, da der Übergang zwischen Texturelementen _ _ nicht so reibungslos ist. Der Standardwert von GL _ TEXTURE MAG FILTER ist GL _ _ _ LINEAR.
GL _ NEAREST _ MIPMAP _ NEAREST
Wählt die Mipmap aus, die der Größe des zu texturierten Pixels am nächsten kommt, und verwendet das GL NEAREST-Kriterium (das Texturelement, das sich am nächsten in der Mitte des Pixels befindet), um einen Texturwert zu _ erzeugen.
GL _ LINEAR _ MIPMAP _ NEAREST
Wählt das Mipmap-Element aus, das am ehesten der Größe des zu texturierten Pixels entspricht, und verwendet das GL LINEAR-Kriterium (ein gewichteter Durchschnitt der vier Texturelemente, die dem Mittelpunkt des Pixels am nächsten liegen), um einen Texturwert zu _ erzeugen.
GL _ NEAREST _ MIPMAP _ LINEAR
Wählt die beiden Mipmaps aus, die am besten mit der Größe des zu texturierten Pixels übereinstimmen, und verwendet das GL NEAREST-Kriterium (das Texturelement, das sich am nächsten an der Mitte des Pixels befindet), um einen Texturwert aus jeder _ Mipmap zu erzeugen. Der endgültige Texturwert ist ein gewichteter Durchschnitt dieser beiden Werte.
GL _ LINEAR _ MIPMAP _ LINEAR
Wählt die beiden Mipmaps aus, die am ehesten mit der Größe des zu texturierten Pixels übereinstimmen, und verwendet das GL LINEAR-Kriterium (einen gewichteten Durchschnitt der vier Texturelemente, die der Mitte des Pixels am nächsten liegen), um einen Texturwert aus jeder _ Mipmap zu erzeugen. Der endgültige Texturwert ist ein gewichteter Durchschnitt dieser beiden Werte.

Der Parameter params stellt eine Funktion zur Vergrößerung der Textur als eine der folgenden Funktionen zur Folge.

Wert Bedeutung
GL _ NEAREST
Gibt den Wert des Texturelements zurück, das dem Mittelpunkt des zu texturierten Pixels am nächsten liegt (in Der Abstand von "Wird gerundet").
GL _ LINEAR
Gibt den gewichteten Durchschnitt der vier Texturelemente zurück, die der Mitte des zu texturierten Pixels am nächsten liegen. Diese können Rahmentexturelemente enthalten, abhängig von den Werten von GL _ TEXTURE _ WRAP _ S, GL TEXTURE WRAP _ T und der _ _ exakten Zuordnung. GL NEAREST ist im Allgemeinen schneller als GL LINEAR, kann jedoch texturierte Bilder mit schärferen Kanten erzeugen, da der Übergang zwischen Texturelementen _ _ nicht so reibungslos ist. Der Standardwert von GL _ TEXTURE MAG FILTER ist GL _ _ _ LINEAR.

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ÜLTIGE _ ENUM
target oder pname war nicht einer der akzeptierten definierten Werte, oder wenn param über einen definierten konstanten Wert (basierend auf dem Wert von pname) verfügen sollte und nicht.
UNGÜLTIGER _ _ GL-VORGANG
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen.

Bemerkungen

Texturzuordnung ist eine Technik, bei der ein Bild auf die Oberfläche eines Objekts angewendet wird, als wäre das Bild ein decal- oder cellophane shrink-wrap. Das Bild wird im Texturraum mit einem Koordinatensystem (s, t) erstellt. Eine Textur ist ein ein- oder zweidimensionales Bild und eine Reihe von Parametern, die bestimmen, wie Stichproben vom Bild abgeleitet werden.

Die glTexParameter-Funktion weist den Wert oder die Werte in Params dem textur-Parameter zu, der als pname angegeben ist. Der Zielparameter definiert die Zieltextur, entweder GL _ TEXTURE _ 1D oder GL _ TEXTURE _ 2D.

Wenn im Minierungsprozess mehr Texturelemente entnommen werden, sind weniger Aliasingartefakte erkennbar. Die GL NEAREST- und GL LINEAR-Minierungsfunktionen können zwar schneller als die anderen vier sein, aber sie können nur ein oder vier Texturelemente abtasten, um den Texturwert des gerenderten Pixels zu bestimmen, und sie können mlasse Muster oder lappende Übergänge _ _ erzeugen. Der Standardwert von GL _ TEXTURE MIN FILTER ist GL _ _ _ NEAREST _ MIPMAP _ LINEAR.

Angenommen, die Texturierung ist aktiviert (durch Aufrufen von glEnable mit dem Argument GL _ TEXTURE _ 1D oder GL _ TEXTURE _ 2D) und GL _ TEXTURE MIN FILTER ist auf eine der Funktionen _ _ festgelegt, die eine Mipmap erfordern. Wenn die Dimensionen der aktuell definierten Texturbilder (mit vorherigen Aufrufen von glTexImage1D oder glTexImage2D)nicht der richtigen Sequenz für Mipmaps folgen oder weniger Texturbilder definiert sind, als benötigt werden, oder der Satz von Texturbildern eine unterschiedliche Anzahl von Texturkomponenten aufweist, ist es so, als ob die Texturzuordnung deaktiviert wäre. Die lineare Filterung greift nur in 2D-Texturen auf die vier nächstgelegenen Texturelemente zu. In 1D-Texturen greift die lineare Filterung auf die beiden nächsten Texturelemente zu. Die folgende Funktion ruft Informationen zu glTexParameterf, glTexParameteri, glTexParameterfv und glTexParameteriv ab:

glGetTexParameter

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

glBindTexture

glCopyPixels

glCopyTexImage1D

glCopyTexImage2D

glCopyTexSubImage2D

glDrawPixels

glEnd

glGetTexParameter

glPixelStore

glPixelTransfer

glPrioritizeTextures

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexSubImage1D

glTexSubImage2D