Freigeben über


glTexParameterf-Funktion

Legt Texturparameter fest.

Syntax

void WINAPI glTexParameterf(
   GLenum  target,
   GLenum  pname,
   GLfloat param
);

Parameter

Ziel

Die Zieltextur, die entweder GL_TEXTURE_1D oder GL_TEXTURE_2D sein muss.

pname

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

Wert Bedeutung
GL_TEXTURE_MIN_FILTER
Die Texturminierungsfunktion wird immer dann verwendet, wenn das zu strukturierende Pixel einem Bereich zugeordnet wird, der größer als ein Texturelement ist. Es gibt sechs definierte Minifizierungsfunktionen. Zwei von ihnen verwenden das nächste oder 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 bei schrittweise niedrigeren Auflösungen darstellen. Wenn die Textur dimensionen 2nx2m aufweist, gibt es max(n, m) + 1 mipmaps. Die erste mipmap ist die ursprüngliche Textur mit den Abmessungen 2nx2m. Jede nachfolgende mipmap hat Dimensionen 2k1x2l1, wobei 2kx 2l die Dimensionen der vorherigen mipmap sind, bis entweder k = 0 oder l = 0. Zu diesem Zeitpunkt haben nachfolgende mipmaps die Dimension 1x2l1oder 2k1x1 bis zur endgültigen mipmap, die dimension 1x1 hat. Mipmaps werden mithilfe von glTexImage1D oder glTexImage2D mit dem Argument Detailebene 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 strukturierende Pixel einem Bereich zugeordnet wird, der kleiner oder gleich einem Texturelement ist. Die Texturvergrößerungsfunktion wird entweder auf GL_NEAREST oder GL_LINEAR festgelegt.
GL_TEXTURE_WRAP_S
Legt den Umbruchparameter für Texturkoordinaten auf GL_CLAMP oder GL_REPEAT fest. GL_CLAMP bewirkt, dass s-Koordinaten an den Bereich [0,1] geklemmt werden, und ist nützlich, um das Umschließen von Artefakten zu verhindern, wenn ein einzelnes Bild einem Objekt zugeordnet wird. GL_REPEAT bewirkt, dass der ganzzahlige Teil der s-Koordinate ignoriert wird; OpenGL verwendet nur den Bruchteil, wodurch ein sich wiederholendes Muster erstellt wird. Auf Elemente der Rahmentextur wird nur zugegriffen, wenn das Wrapping auf GL_CLAMP festgelegt ist. Zunächst ist GL_TEXTURE_WRAP_S auf GL_REPEAT festgelegt.
GL_TEXTURE_WRAP_T
Legt den Umbruchparameter für die Texturkoordinate t auf GL_CLAMP oder GL_REPEAT fest. Weitere Informationen finden Sie unter GL_TEXTURE_WRAP_S. Zunächst ist GL_TEXTURE_WRAP_T auf GL_REPEAT festgelegt.

param

Der Wert von pname.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Fehlercodes

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

Name Bedeutung
GL_INVALID_ENUM
target oder pname war keiner der akzeptierten definierten Werte, oder wenn param einen definierten konstanten Wert (basierend auf dem Wert von pname) aufweisen sollte und nicht.
GL_INVALID_OPERATION
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen.

Bemerkungen

Die Texturzuordnung ist eine Technik, bei der ein Bild auf die Oberfläche eines Objekts angewendet wird, als wäre das Bild ein Decal- oder Cellophan-Schrumpfumbruch. 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 als pname angegebenen Texturparameter zu. Der Zielparameter definiert die Zieltextur, entweder GL_TEXTURE_1D oder GL_TEXTURE_2D.

Wenn beim Minifizierungsprozess mehr Texturelemente stichprobeniert werden, werden weniger Aliasartefakte sichtbar. Während die GL_NEAREST- und GL_LINEAR-Minifizierungsfunktionen schneller sein können als die anderen vier, proben sie nur ein oder vier Texturelemente, um den Texturwert des gerenderten Pixels zu bestimmen, und können Moiremuster oder zerrungene Ü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 argument GL_TEXTURE_1D oder GL_TEXTURE_2D) und GL_TEXTURE_MIN_FILTER auf eine der Funktionen festgelegt ist, für die eine mipmap erforderlich ist. Wenn entweder die Dimensionen der derzeit definierten Texturbilder (mit vorherigen Aufrufen von glTexImage1D oder glTexImage2D) nicht der richtigen Sequenz für mipmaps folgen, oder es sind weniger Texturbilder definiert als erforderlich, oder der Satz der Texturbilder weist eine unterschiedliche Anzahl von Texturkomponenten auf, als wäre die Texturzuordnung deaktiviert. Die lineare Filterung greift nur in 2D-Texturen auf die vier nächstgelegenen Texturelemente zu. Bei 1D-Texturen greift die lineare Filterung auf die beiden nächstgelegenen Texturelemente zu. Die folgende Funktion ruft Informationen im Zusammenhang mit glTexParameterf, glTexParameteri, glTexParameterfv und glTexParameteriv ab.

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

Siehe auch

glBegin

glBindTexture

glCopyPixels

glCopyTexImage1D

glCopyTexImage2D

glCopyTexSubImage2D

glDrawPixels

glEnd

glGetTexParameter

glPixelStore

glPixelTransfer

glPrioritizeTextures

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexSubImage1D

glTexSubImage2D