Función glTexParameterfv

Establece parámetros de textura.

Sintaxis

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

Parámetros

Destino

La textura de destino, que debe ser GL_TEXTURE_1D o GL_TEXTURE_2D.

pname

Nombre simbólico de un único parámetro de textura con valores. Los símbolos siguientes se aceptan en pname.

Valor Significado
GL_TEXTURE_MIN_FILTER
La función de minificación de textura se usa cada vez que el píxel que se está texturando se asigna a un área mayor que un elemento de textura. Hay seis funciones de minificación definidas. Dos de ellos usan los cuatro elementos de textura más cercanos para calcular el valor de textura. Los otros cuatro usan mapas MIP.
Un mapa mip es un conjunto ordenado de matrices que representa la misma imagen en resoluciones progresivamente inferiores. Si la textura tiene dimensiones de 2nx2m , hay max(n, m) + 1 mipmaps. El primer mapa mip es la textura original, con dimensiones de 2nx2m. Cada mapa mip posterior tiene dimensiones de 2k1x2l1 donde 2kx2l son las dimensiones del mapa mip anterior, hasta k = 0 o l = 0. En ese momento, los mapas MIP posteriores tienen dimensión 1x2l1 o 2k1x1 hasta el mapa mip final, que tiene dimensión 1x1. Los mapas MIP se definen mediante glTexImage1D o glTexImage2D con el argumento level-of-detail que indica el orden de los mapas MIP. El nivel 0 es la textura original; level bold max(n, m) es el mapa mip final de 1x1.
GL_TEXTURE_MAG_FILTER
La función de ampliación de textura se usa cuando el píxel que se está texturando se asigna a un área menor o igual que un elemento de textura. Establece la función de ampliación de textura en GL_NEAREST o GL_LINEAR.
GL_TEXTURE_WRAP_S
Establece el parámetro de ajuste de las coordenadas de textura en GL_CLAMP o GL_REPEAT. GL_CLAMP hace que las coordenadas de se aprieten al intervalo [0,1] y resulta útil para evitar el ajuste de artefactos al asignar una sola imagen a un objeto. GL_REPEAT hace que se omita la parte entera de la coordenada s; OpenGL solo usa la parte fraccionarcional, lo que crea un patrón de repetición. Solo se tiene acceso a los elementos de textura de borde si el ajuste está establecido en GL_CLAMP. Inicialmente, GL_TEXTURE_WRAP_S se establece en GL_REPEAT.
GL_TEXTURE_WRAP_T
Establece el parámetro wrap para la coordenada de textura t en GL_CLAMP o GL_REPEAT. Consulte la discusión en GL_TEXTURE_WRAP_S. Inicialmente, GL_TEXTURE_WRAP_T se establece en GL_REPEAT.
GL_TEXTURE_BORDER_COLOR
Establece un color de borde. El parámetro params contiene cuatro valores que componen el color RGBA del borde de textura. Los componentes de color entero se interpretan linealmente de modo que el entero más positivo se asigna a 1,0 y el entero más negativo se asigna a 1,0. Los valores se fijan en el intervalo [0,1] cuando se especifican. Inicialmente, el color del borde es (0, 0, 0, 0).
GL_TEXTURE_PRIORITY
Especifica la prioridad de residencia de textura de la textura enlazada actualmente. Los valores permitidos están en el intervalo [0, 1]. Consulte glPrioritizeTextures y glBindTexture para obtener más información.

params

Puntero a una matriz donde se almacenan el valor o los valores de pname. El parámetro params proporciona una función para minimizar la textura como una de las siguientes.

Valor Significado
GL_NEAREST
Devuelve el valor del elemento de textura más cercano (en distancia de Manhattan) al centro del píxel que se está texturando.
GL_LINEAR
Devuelve el promedio ponderado de los cuatro elementos de textura más cercanos al centro del píxel que se está texturando. Pueden incluir elementos de textura de borde, según los valores de GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T y la asignación exacta. GL_NEAREST generalmente es más rápido que GL_LINEAR, pero puede producir imágenes con textura con bordes más nítidos porque la transición entre elementos de textura no es tan suave. El valor predeterminado de GL_TEXTURE_MAG_FILTER es GL_LINEAR.
GL_NEAREST_MIPMAP_NEAREST
Elige el mapa mip que coincide más estrechamente con el tamaño del píxel que se está texturando y usa el criterio de GL_NEAREST (el elemento de textura más cercano al centro del píxel) para generar un valor de textura.
GL_LINEAR_MIPMAP_NEAREST
Elige el mapa mip que coincide más estrechamente con el tamaño del píxel que se está texturando y usa el criterio de GL_LINEAR (un promedio ponderado de los cuatro elementos de textura más cercanos al centro del píxel) para generar un valor de textura.
GL_NEAREST_MIPMAP_LINEAR
Elige los dos mapas MIP que coinciden más estrechamente con el tamaño del píxel que se está texturando y usa el criterio de GL_NEAREST (el elemento de textura más cercano al centro del píxel) para generar un valor de textura a partir de cada mapa mip. El valor de textura final es un promedio ponderado de esos dos valores.
GL_LINEAR_MIPMAP_LINEAR
Elige los dos mapas MIP que coinciden más estrechamente con el tamaño del píxel que se está texturando y usa el criterio de GL_LINEAR (un promedio ponderado de los cuatro elementos de textura más cercanos al centro del píxel) para generar un valor de textura de cada mapa mip. El valor de textura final es un promedio ponderado de esos dos valores.

El parámetro params proporciona una función para ampliar la textura como una de las siguientes.

Valor Significado
GL_NEAREST
Devuelve el valor del elemento de textura más cercano (en distancia de Manhattan) al centro del píxel que se está texturando.
GL_LINEAR
Devuelve el promedio ponderado de los cuatro elementos de textura más cercanos al centro del píxel que se está texturando. Pueden incluir elementos de textura de borde, según los valores de GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T y la asignación exacta. GL_NEAREST generalmente es más rápido que GL_LINEAR, pero puede producir imágenes con textura con bordes más nítidos porque la transición entre elementos de textura no es tan suave. El valor predeterminado de GL_TEXTURE_MAG_FILTER es GL_LINEAR.

Valor devuelto

Esta función no devuelve ningún valor.

Códigos de error

La función glGetError puede recuperar los siguientes códigos de error.

Nombre Significado
GL_INVALID_ENUM
target o pname no era uno de los valores definidos aceptados, o cuando el parámetro debe haber tenido un valor constante definido (basado en el valor de pname) y no lo hizo.
GL_INVALID_OPERATION
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd.

Comentarios

La asignación de texturas es una técnica que aplica una imagen a la superficie de un objeto como si la imagen fuera un ajuste de reducción de calco o cellófano. La imagen se crea en el espacio de textura, con un sistema de coordenadas (s, t). Una textura es una imagen unidimensional y un conjunto de parámetros que determinan cómo se derivan las muestras de la imagen.

La función glTexParameter asigna el valor o los valores en parámetros al parámetro de textura especificado como pname. El parámetro de destino define la textura de destino, ya sea GL_TEXTURE_1D o GL_TEXTURE_2D.

A medida que se muestrea más elementos de textura en el proceso de minificación, se mostrarán menos artefactos de alias. Aunque las funciones de GL_NEAREST y GL_LINEAR minificación pueden ser más rápidas que las otras cuatro, muestrean solo uno o cuatro elementos de textura para determinar el valor de textura del píxel que se va a representar y pueden producir patrones moire o transiciones desiguales. El valor predeterminado de GL_TEXTURE_MIN_FILTER es GL_NEAREST_MIPMAP_LINEAR.

Supongamos que el texturing está habilitado (llamando a glEnable con argumento GL_TEXTURE_1D o GL_TEXTURE_2D) y GL_TEXTURE_MIN_FILTER se establece en una de las funciones que requiere un mapa mip. Si las dimensiones de las imágenes de textura definidas actualmente (con llamadas anteriores a glTexImage1D o glTexImage2D) no siguen la secuencia adecuada para los mapas mip, o hay menos imágenes de textura definidas de las necesarias o el conjunto de imágenes de textura tienen diferentes números de componentes de textura, entonces es como si se deshabilitase la asignación de texturas. El filtrado lineal accede a los cuatro elementos de textura más cercanos solo en texturas 2D. En texturas 1D, el filtrado lineal accede a los dos elementos de textura más cercanos. La siguiente función recupera información relacionada con glTexParameterf, glTexParameteri, glTexParameterfv y glTexParameteriv:

glGetTexParameter

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Gl.h
Biblioteca
Opengl32.lib
Archivo DLL
Opengl32.dll

Consulte también

glBegin

glBindTexture

glCopyPixels

glCopyTexImage1D

glCopyTexImage2D

glCopyTexSubImage2D

glDrawPixels

glEnd

glGetTexParameter

glPixelStore

glPixelTransfer

glPrioritizeTextures

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexSubImage1D

glTexSubImage2D