La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Aplicación de textura (“Texture Mapping”) Rhadamés Carmona Ultima revisión: 29/01/2004.

Presentaciones similares


Presentación del tema: "Aplicación de textura (“Texture Mapping”) Rhadamés Carmona Ultima revisión: 29/01/2004."— Transcripción de la presentación:

1 Aplicación de textura (“Texture Mapping”) Rhadamés Carmona Ultima revisión: 29/01/2004

2 Contenido Introducción 1. Técnicas Básicas 2. Técnicas Generales 3. Dependientes del punto de visión 4. Bump Mapping

3 Aplicación de textura Ayuda a dar apariencia más realística a las imágenes sintéticas (producto de un “rendering”) generadas por computadoras. Espacio de textura (s,t) Espacio objeto: Coordenadas de mundo (x,y,z) Espacio imagen (u,v) Mapeo de textura Rendering Asociar puntos de una superficie con una función de textura

4 Aplicación de textura Espacio de textura (s,t) Espacio objeto: Coordenadas de mundo (x,y,z) Espacio imagen (u,v) Mapeo de textura Rendering s t Por indepenencia de las dimensiones de las imágenes, el espacio de textura se encuentra normalizado en [0,1] para s y t. La textura puede ser unidimensional (s), bidimensional (s,t) o tridimensional (s,t,r).

5 Aplicación de textura n Se puede definir por ejemplo una aplicación de puntos (s,t) de una textura bidimensional a un objeto x,y,z. La aplicación puede definirse punto por punto. En la práctica, el objeto suele estar definido por un mallado de polígonos, en donde la correspondencia se define en los vértices de cada polígono, y se interpola en el resto del polígono.

6 Aplicación de textura n También puede definirse las coordenadas de textura en cualquier punto del objeto, si este es por ejemplo definido paramétricamente. Si el espacio de textura es s,t, y los parámetros de la función son s,t, la correspondencia puede hacerse fácilmente. Igualmente el objeto es discretizado en triángulos y caemos en el caso anterior.

7 Aplicación de textura X(u,v)=COS(u)*u*(1.0+COS(v)/2.0) Y(u,v)=u/2.0*SIN(v) Z(u,v)=SIN(u)*u*(1.0+COS(v)/2.0) Ejemplo de una ecuación Paramétrica 3D 0<=u,v<=6.28319

8 Aplicación de textura 1D Centro de pixel 0 1 Dominio de textura Texel interpolado f(x) = Interpolación Lineal

9 Aplicación de textura 2D Fragmento textura 2D s t texel Interpolación bilineal Para muestrear el texel

10 Aplicación de textura 2D (0,0) (1,1) (s,t)(s,t) Mapeo a un triángulo Coordenadas baricéntricas de p respecto a p 1,...,p n  1,  2 0  1,  2,  3  0  1,  3 0 p1p1 p3p3 p2p2  1 =1,  2,  3 =0  1,  3 >0,  2 <0  1,  2 >0,  3 <0  2,  3 0  2,  3 >0,  1 <0  2 =0  3 =0  1 =0 p p

11 Aplicación de textura n GL_LINEAR versus GL_NEAREST Textura 4x4 Polígono de 100x100 pixels Polígono de 100x100 Pixels, con s,t en [0,1]

12 Aplicación de Textura n GL_CLAMP versus GL_REPEAT

13 Aplicación de textura Textura 4x4 GL_CLAMP_TO_BORDERGL_CLAMP Con coordenadas En [0,1] Con coordenadas En [-1,2]

14 Aplicación de textura 3D s t r Textura 3D Interpolación trilineal Nubes Fuego Resonancia

15 Aplicación de texturas n Magnificación versus minificación n Problemas con minificación… aliasing n Solución: mipmapping n Solución mejorada: mipmapping con interpolación trilineal

16 Aplicación de Texturas: Multitexturas + = Utilizado en muchos casos para generar iluminación

17 1.Aplicación de textura básico: mapeo esférico (r,,)(r,,) (0,0) (1,1) (s,t)(s,t) Mapeo a una esfera   Esfera definida paramétricamente r

18 1.Aplicación de textura básico: Mapeo cilíndrico (0,0) (1,1) (s,t)(s,t) Mapeo a un cilindro r A Cada punto de la supeficie del cilindro puede expresarse como (x,y,z)=(r.Cos , r.Sen , p),  [0,2  ), p  [0,A]

19 1.Aplcación de textura básico: Textura a cuadrilátero (0,0) (1,1) (s,t)(s,t) Mapeo a un plano: z=z 0 (xMin,yMin,z 0 ) (xMax,yMax,z 0 ) Plano P, z=z 0

20 1.Aplcación de textura básico: Mapeo planar x,y,z s,ts,t De la forma más simple, se escala el objeto a [0,1] y se asigna como coordenadas de textura para cada (x,y,z) el valor (s,t)=(x,y). Se puede aplicar igualemnte con los planos x-z o y-z.

21 2. Técnicas Generales No hay una transformación directa entre los puntos del objeto y la función de textura (generalmente una imagen 2D). 2.2 Mapeo a dos etapas 2.1 Mapeo durante modelado

22 Es usado si el objeto puede ser obtenido a partir de deformaciones sobre las primitivas básicas (polígono, esfera, cilindro), cuyo mapeo si está definido directamente. T T -1

23 2.2 Mapeo a dos etapas No impone ninguna restricción sobre la topología del objeto. 1.- S-Mapping (Surface Mapping): Se realiza un mapeo sobre una superficie intermedia: 2.- O-Mapping (Object Mapping): Se mapea la textura de la superficie intermedia hacia el objeto final. Una sección rectangular de un plano Una superficie curva de una cilindro Las caras de un cubo La superficie de una esfera Rayo de visión reflejado Normal del objeto Centroide del objeto Normal de la superficie intermedia 4x4=16

24 2.2 Mapeo a dos etapas (s,t)S(x’,y’,z’)O(x,y,z) Normal del objeto N (x’,y’,z’) (x,y,z) v Vector visión reflejado N (x’,y’,z’) (x,y,z) Centroide del objeto (x’,y’,z’) (x,y,z) Normal de la superficie intermedia (x’,y’,z’) (x,y,z)

25 2.2 Mapeo a dos etapas. Ejemplos. S-Mapping cilíndrico + O-Mapping “normal del objeto” No tiene imagen en el cilindro S-Mapping cilíndrico + O-Mapping “normal de la superficie intermedia” = “Shrinkwrap” S-Mapping cúbico + O-Mapping “centroide del objeto”

26 3. Dependiente del punto de visión Lanzar rayos desde el punto de visión. Por reflexión Por refracción v Vector visión reflejado N (x’,y’,z’) (x,y,z) Patrón de Textura visión N

27 4. Bump Mapping Propuesta por James Blinn, 1978. Consiste en perturbar las normales según una función “Bump”, tal que, luego del “render”, el objeto parezca tener baches y chichones en la superficie, sin modificar la geometría. Esta técnica, da el efecto real de textura en un objeto, y no de “papel tapiz” como las otras técnicas.

28 4. Bump Mapping Supongamos que el objeto está definido paramétricamente como P(u,v)=(X(u,v), Y(u,v), Z(u,v)). Llamemos F(u,v) la función de perturbación. Los nuevos puntos Q(u,v) son perturbados en dirección de la normal N (nota: M es el gradiente, mientras que N la normal).

29 4. Bump Mapping 0 La nueva normal puede calcularse como

30 4. Bump Mapping Caso de estudio: esfera La expresión parámetrica de la esfera La función de Bump será una imagen F(u,v), de dimensiones width x height. La derivada en un punto (u,v) lo podemos definir como diferencias finitas, con u=0..width-1 y v=0..height-1 Derivadas parciales:  [0,2  ]  [- ,  ]

31 4. Bump Mapping. Caso de estudio: esfera Mapeo entre puntos de F(u,v) y la esfera P( ,  ):

32 4. Bump Mapping. Caso de estudio: esfera Para cada (x,y,z) sobre la esfera hacer N=(x,y,z); Normalizar(N);  =arco_tangente(y/x);  =arco_coseno(z/r); u=width*  /(2*pi); v=height*  /(pi)+0.5; dFu=(F[u+1,v]-F[u-1,v])/2; dFv=(F[u,v +1]-F[u,v -1])/2; dPu=(-r*Sen(  )*Sen(  ), r*Cos(  )*Sen(  ),0); dPv=(r*Cos(  )*Cos(  ), r*Sen(  )*Cos(  ),-r*Sen(  )); Nnew=N+dFu*Cross(N,dPv)+dFv*Cross(dPu,N); Normalizar(Nnew); Intensidad(x,y,z) = Mod_iluminación((x,y,z),Nnew); FinPara

33 4. Bump Mapping. Caso de estudio: esfera Función “Bump” Imagen para el color Se usó Mapeo planar Solo bump mappingSolo texture mappingambas


Descargar ppt "Aplicación de textura (“Texture Mapping”) Rhadamés Carmona Ultima revisión: 29/01/2004."

Presentaciones similares


Anuncios Google