funzione glTexParameteriv

Imposta i parametri della trama.

Sintassi

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

Parametri

target

Trama di destinazione, che deve essere GL_TEXTURE_1D o GL_TEXTURE_2D.

Pname

Nome simbolico di un singolo parametro di trama con valori. I simboli seguenti vengono accettati in pname.

Valore Significato
GL_TEXTURE_MIN_FILTER
La funzione di minimizzazione della trama viene usata ogni volta che il pixel di cui viene eseguito il mapping a un'area maggiore di un elemento trama. Sono disponibili sei funzioni di minimizzazione definite. Due di essi usano uno o più vicini quattro elementi della trama per calcolare il valore della trama. Gli altri quattro usano mipmap.
Un mipmap è un set ordinato di matrici che rappresentano la stessa immagine con risoluzioni progressivamente inferiori. Se la trama ha dimensioni 2nx2m sono presenti max(n, m) + 1 mipmaps. La prima mipmap è la trama originale, con dimensioni 2nx2m. Ogni mipmap successiva ha dimensioni 2k1x2l1 dove 2kx2l sono le dimensioni della mipmap precedente, fino a k = 0 o l = 0. A questo punto, le mipmap successive hanno dimensione 1x2l1 o 2k1x1 fino alla mipmap finale, con dimensione 1x1. Le mipmap vengono definite usando glTexImage1D o glTexImage2D con l'argomento level-of-detail che indica l'ordine delle mipmap. Il livello 0 è la trama originale; level bold max(n, m) è il mipmap finale 1x1.
GL_TEXTURE_MAG_FILTER
La funzione di ingrandimento della trama viene usata quando il pixel di cui viene eseguito il mapping a un'area minore o uguale a un elemento trama. Imposta la funzione di ingrandimento della trama su GL_NEAREST o GL_LINEAR.
GL_TEXTURE_WRAP_S
Imposta il parametro wrap per le coordinate della trama su GL_CLAMP o GL_REPEAT. GL_CLAMP fa sì che le coordinate vengano bloccate nell'intervallo [0,1] ed è utile per impedire il wrapping degli artefatti durante il mapping di una singola immagine a un oggetto. GL_REPEAT fa sì che la parte intera della coordinata venga ignorata; OpenGL usa solo la parte frazionaria, creando così un modello ripetuto. Gli elementi della trama del bordo sono accessibili solo se il wrapping è impostato su GL_CLAMP. Inizialmente, GL_TEXTURE_WRAP_S è impostato su GL_REPEAT.
GL_TEXTURE_WRAP_T
Imposta il parametro wrap per la coordinata di trama t su GL_CLAMP o GL_REPEAT. Vedere la discussione in GL_TEXTURE_WRAP_S. Inizialmente, GL_TEXTURE_WRAP_T è impostato su GL_REPEAT.
GL_TEXTURE_BORDER_COLOR
Imposta un colore del bordo. Il parametro params contiene quattro valori che comprendono il colore RGBA del bordo della trama. I componenti di colore integer vengono interpretati in modo lineare in modo che il numero intero più positivo sia mappato a 1,0 e che il numero intero più negativo sia mappato a 1,0. I valori vengono bloccati all'intervallo [0,1] quando vengono specificati. Inizialmente, il colore del bordo è (0, 0, 0, 0).
GL_TEXTURE_PRIORITY
Specifica la priorità di residenza della trama attualmente associata. I valori consentiti sono compresi nell'intervallo [0, 1]. Per altre informazioni, vedere glPrioritizeTextures e glBindTexture .

params

Puntatore a una matrice in cui vengono archiviati il valore o i valori di pname. Il parametro params fornisce una funzione per la minimizzazione della trama come una delle seguenti.

Valore Significato
GL_NEAREST
Restituisce il valore dell'elemento trama più vicino (in distanza manhattan) al centro del pixel con trama.
GL_LINEAR
Restituisce la media ponderata dei quattro elementi della trama più vicini al centro del pixel con trama. Possono includere elementi di trama del bordo, a seconda dei valori di GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T e del mapping esatto. GL_NEAREST è in genere più veloce di GL_LINEAR, ma può produrre immagini con trame con bordi più nitidi perché la transizione tra gli elementi della trama non è uniforme. Il valore predefinito di GL_TEXTURE_MAG_FILTER è GL_LINEAR.
GL_NEAREST_MIPMAP_NEAREST
Sceglie la mipmap più vicina alle dimensioni del pixel con trama e usa il criterio di GL_NEAREST (l'elemento trama più vicino al centro del pixel) per produrre un valore di trama.
GL_LINEAR_MIPMAP_NEAREST
Sceglie la mipmap che corrisponde più strettamente alle dimensioni del pixel con trama e usa il criterio di GL_LINEAR (una media ponderata dei quattro elementi della trama più vicini al centro del pixel) per produrre un valore di trama.
GL_NEAREST_MIPMAP_LINEAR
Sceglie i due mipmap più vicini alle dimensioni del pixel con trama e usa il criterio di GL_NEAREST (l'elemento trama più vicino al centro del pixel) per produrre un valore di trama da ogni mipmap. Il valore finale della trama è una media ponderata di questi due valori.
GL_LINEAR_MIPMAP_LINEAR
Sceglie i due mipmap che corrispondono più strettamente alle dimensioni del pixel con trama e usa il criterio di GL_LINEAR (una media ponderata dei quattro elementi della trama più vicini al centro del pixel) per produrre un valore di trama da ogni mipmap. Il valore finale della trama è una media ponderata di questi due valori.

Il parametro params fornisce una funzione per ingrandire la trama come una delle seguenti.

Valore Significato
GL_NEAREST
Restituisce il valore dell'elemento trama più vicino (in distanza manhattan) al centro del pixel con trama.
GL_LINEAR
Restituisce la media ponderata dei quattro elementi della trama più vicini al centro del pixel con trama. Possono includere elementi di trama del bordo, a seconda dei valori di GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T e del mapping esatto. GL_NEAREST è in genere più veloce di GL_LINEAR, ma può produrre immagini con trame con bordi più nitidi perché la transizione tra gli elementi della trama non è uniforme. Il valore predefinito di GL_TEXTURE_MAG_FILTER è GL_LINEAR.

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_ENUM
target o pname non era uno dei valori definiti accettati o se param avrebbe dovuto avere un valore costante definito (in base al valore di pname) e non lo era.
GL_INVALID_OPERATION
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd.

Commenti

Il mapping delle trame è una tecnica che applica un'immagine alla superficie di un oggetto come se l'immagine fosse un decal o un cellophane shrink-wrap. L'immagine viene creata nello spazio trama, con un sistema di coordinate (s, t). Una trama è un'immagine uno o bidimensionale e un set di parametri che determinano la derivazione dei campioni dall'immagine.

La funzione glTexParameter assegna il valore o i valori nei parametri al parametro trama specificato come pname. Il parametro di destinazione definisce la trama di destinazione, GL_TEXTURE_1D o GL_TEXTURE_2D.

Man mano che vengono campionati più elementi di trama nel processo di minimizzazione, sarà evidente un minor numero di artefatti di aliasing. Anche se la GL_NEAREST e GL_LINEAR funzioni di minimizzazione possono essere più veloci rispetto agli altri quattro, campioniranno solo uno o quattro elementi di trama per determinare il valore della trama del pixel di cui viene eseguito il rendering e possono produrre modelli moire o transizioni ingrandito. Il valore predefinito di GL_TEXTURE_MIN_FILTER è GL_NEAREST_MIPMAP_LINEAR.

Si supponga che il texturing sia abilitato (chiamando glEnable con argomento GL_TEXTURE_1D o GL_TEXTURE_2D) e GL_TEXTURE_MIN_FILTER è impostato su una delle funzioni che richiedono un mipmap. Se le dimensioni delle immagini di trama attualmente definite (con chiamate precedenti a glTexImage1D o glTexImage2D) non seguono la sequenza appropriata per mipmap o sono presenti meno immagini di trama definite rispetto alle esigenze oppure il set di immagini di trama ha numeri diversi di componenti di trama, quindi è come se il mapping della trama fosse disabilitato. Il filtro lineare accede ai quattro elementi di trama più vicini solo nelle trame 2D. Nelle trame 1D il filtro lineare accede ai due elementi di trama più vicini. La funzione seguente recupera informazioni correlate a glTexParameterf, glTexParameteri, glTexParameterfv e glTexParameteriv:

glGetTexParameter

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

glBindTexture

glCopyPixels

glCopyTexImage1D

glCopyTexImage2D

glCopyTexSubImage2D

glDrawPixels

glEnd

glGetTexParameter

glPixelStore

glPixelTransfer

glPrioritizeTextures

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexSubImage1D

glTexSubImage2D