You are on page 1of 27

Texturizado

Computación Gráfca Texturizado

 Los Modelos de Color y
de Iluminación Locales
nos ayudan a
determinar,
teóricamente, el color
de todos y cada uno de  El Mapeo de Texturas
los pixel que (Texture Mapping), es
conforman una “la regla de
Superfcie. En realidad correspondencia para
son una aproximación aplicar una Textura a
y nos dan el color, o una Superfcie”.
degradado de color,
sobre la superfcie.
Color Liso.

sombras. es un arreglo de datos que contiene información de color y transparencia.  Actualmente.Computación Gráfca Texturizado  Textura. profundidades. también puede contener información de: normales. . entre otros.

. mediante Modelos de Iluminación. y permiten generar patrones que. serían muy caros computacionalmente.Computación Gráfca Texturizado  Las Texturas se aplican a nivel de Pixel.

. reciben el nombre de Texel. (Texture Element o Texture Pixel)  La imagen que se muestra está formada por 81 Texel.Computación Gráfca Texturizado  Cada uno de los elementos del arreglo de datos que conforman una textura.

. y  Por el tamaño de las texturas. Existen dos clasifcaciones para determinar los tipos Computación Gráfca de texturas:  Por la forma en que son “generadas” las texturas. Texturizado Tipos de Texturas.

.raw. etc) en un medio de almacenamiento. Son Texturas que se encuentran en archivos de imágenes (. .tga.bmp. Texturizado Tipos de Texturas (Generación). . .jpg. De esta clasifcación existen dos tipos de texturas: Computación Gráfca a) Archivos Almacenados en Memoria.

Son Texturas que Computación Gráfca son generadas mediante la evaluación de una función y/o algoritmo. . Texturizado Tipos de Texturas (Generación). valores de color que corresponden a los correspondientes Texeles. el cual de cómo resultado. b) Procedimentales/Procedurales.

Son texturas que solo tienen un Texel de altura y/o un Texel de ancho. . De esta clasifcación existen tres tipos de texturas: Computación Gráfca  Texturas de Una Dimensión (1D). Texturizado Tipos de Texturas (Tamaño).

Texturizado Tipos de Texturas (Tamaño).  Texturas de Dos Dimensiones (2D). Son texturas que Computación Gráfca tienen mas de un Texel de altura y de ancho. .

Son texturas con Computación Gráfca volumen. .  Texturas de Tres Dimensiones (3D). Texturizado Tipos de Texturas (Tamaño).

Computación Gráfca Texturizado  El Mapeo de Texturas (Texture Mapping). el Mapeo de Texturas es “la acción de asignar a cada pixel de una superfcie su correspondiente texel de una textura”. es “la regla de correspondencia para aplicar una Textura a una Superfcie”. Superfcie Textura .  Por lo tanto.

es decir. por lo tanto también cambian los texel asignados. debido a los siguientes factores: Computación Gráfca a) La posición de la superfcie puede cambiar durante la ejecución del programa. las cuales serán asignadas a las Coordenadas Cartesianas de los Vértices de la Superfcie. Es por ello que se ocupa el Espacio de Textura. No se puede hacer la asignación directa de un texel a un pixel. la textura está defnida mediante Coordenadas. b) El tamaño de una textura NO siempre corresponde al tamaño de la superfcie a la cual será aplicada. Texturizado Espacio de Textura. .

defne las coordenadas que serán asignadas a los vértices de la superfcie. El Espacio de Textura. Texturizado Espacio de Textura. Computación Gráfca t /v s/u .

v) siempre estarán Computación Gráfca entre los valores [0.0) (0. Texturizado Espacio de Textura.1) (1. t) o (u.1) (1. NO importa el tamaño de la textura.0) s/u . 1]. las Coordenadas que defnirán a la textura (s. t /v (0.

Texturizado Espacio de Textura. las coordenadas que se asignan a los vértices. Éstas últimas coordenadas. Es por ello que. que reciben el nombre de Coordenadas de Texturizado. se trabaja con texturas rectangulares. aún cuando nuestra textura estará defnida entre valores de [0. son las coordenadas fnales que reciben los vértices de la superfcie para la asignación de los texel de la textura. pueden o no estar entre dichos valores. 1]. para facilitar la obtención de las Computación Gráfca coordenadas en el Espacio de Textura. . generalmente. Algo muy importante ha recalcar es que.

Texturizado Ejemplos: Computación Gráfca .

los pasos a seguir para realizar el Mapeado de Texturas.  Indicar cómo se aplicará la textura a cada pixel mediante las Coordenadas de Texturizado.  “Crear” una textura. Texturizado OpenGL.  Especifcar la superfcie a la cual se aplicará. son: Computación Gráfca  Habilitar y confgurar el Mapeo de Texturas. En general. .

Computación Gráfca En OpenGL para habilitar el Mapeo de Texturas se debe utilizar la siguiente línea en la función de confguración (InitGL): glEnable( GL_TEXTURE_2D). Texturizado OpenGL. GL_TEXTURE_WRAP_S o GL_TEXTURE_WRAP_T. La confguración consiste en determinar el comportamiento de la textura con Coordenadas de Texturizado mayores a 1 y/o menores a 0: glTexParameteri( GL_TEXTURE_2D. .  Habilitar y confgurar el Mapeo de Texturas. GL_CLAMP o GL_REPEAT ).

es tarea del programador el incorporar el algoritmo de creación (Procedimentales) o el lector de archivos de imágenes (Almacenadas) para obtener la información de color. alto. formato datos. formato. . Computación Gráfca OpenGL no tiene funciones propias para “crear” texturas. glTexImage2D( tipo. borde. datos). glGenTextures( x.  Crear una Textura. Texturizado OpenGL. tipo datos. ancho. #mipmaps. &TextureNames).

indica que no se ocupará textura. . indiceTextura = 0. Computación Gráfca Se utiliza la función: glBindTexture( tipo. siempre y cuando tengan Coordenadas de Texturizado. indiceTextura ). Texturizado OpenGL.  Especifcar la superfcie a la cual se aplicará. se verán afectadas por la textura. Las defniciones de superfcies que se encuentren después de la función glBindTexture().

. sus correspondientes Coordenadas de Texturizado. y. t). deberán tener asignados a sus vértices. glTexCoord2f( s. glVertex3f( x.  Coordenadas de Texturizado. Computación Gráfca Las superfcies que se deseen dibujar con una textura. Texturizado OpenGL. z).

. En aplicaciones de Computación Gráfca en tiempo real. los objetos están constantemente cambiando de tamaño. Debe existir un compromiso entre la calidad y el tiempo de respuesta de un fltro. por lo cual la utilización de fltros es continua. Texturizado Filtros. Son “algoritmos que se aplican a las texturas. cuando éstas tienen que ser redimensionadas para poder Computación Gráfca ser aplicadas a una superfcie”.

Los fltros más utilizados son: Computación Gráfca  GL_NEAREST.  GL_LINEAR_MIPMAP_LINEAR.  GL_LINEAR.  Anisotripic Filtering (Filtro Anisotrópico).  GL_NEAREST_MIPMAP_LINEAR. .  GL_LINEAR_MIPMAP_NEAREST.  GL_NEAREST_MIPMAP_NEAREST. Texturizado Filtros.

Estas nuevas copias diferen de la original en su tamaño. . “mucho en un pequeño espacio“) es el tener una o Computación Gráfca varias copias pre calculadas y optimizadas de una textura. Estas nuevas copias se utilizan cuando el tamaño de la superfcie donde serán utilizadas difere en un porcentaje del tamaño de la textura original. La técnica de MIP maps o Mipmaps (multum in parvo. Texturizado Filtro MIP map.

tomaban en cuenta que la textura se encontraría siempre ortogonal al espectador. pisos y techo). Computación Gráfca sin embargo esto no siempre sucede. Texturizado Filtro Anisotrópico. El fltro Anisotrópico (dependiente de la dirección) soluciona esta problemática . por lo que sus resultados no siempre son favorables. Los fltros originales. (ejemplo.

com/computing/78546-antialiasing-and-aniso tropic-fltering-explained http://www.extremetech. Lecturas Complementarias (se tomarán en cuenta para el examen): Computación Gráfca http ://www.extremetech.com/computing/51994-the-naked-truth-abou t-anisotropic-fltering . Texturizado Filtro Anisotrópico.