1 / 33

Aplicación de textura (“ Texture Mapping ”)

Aplicación de textura (“ Texture Mapping ”). Rhadamés Carmona Ultima revisión: 29/01/2004. Contenido. Introducción 1. Técnicas Básicas 2. Técnicas Generales 3. Dependientes del punto de visión 4. Bump Mapping. Aplicación de textura.

leena
Télécharger la présentation

Aplicación de textura (“ Texture Mapping ”)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Espacio de textura (s,t) Espacio objeto: Coordenadas de mundo (x,y,z) Espacio imagen (u,v) Mapeo de textura Rendering Aplicación de textura t s 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 • 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 • 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 Ejemplo de una ecuación Paramétrica 3D 0<=u,v<=6.28319 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)

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

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

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

  11. Aplicación de textura • 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 • GL_CLAMP versus GL_REPEAT

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

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

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

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

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

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

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

  20. Aplcación de textura básico:Mapeo planar 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. s,t x,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.1 Mapeo durante modelado 2.2 Mapeo a dos etapas

  22. 2.1 Mapeo durante modelado 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: • Una sección rectangular de un plano • Una superficie curva de una cilindro • Las caras de un cubo • La superficie de una esfera 2.- O-Mapping (Object Mapping): Se mapea la textura de la superficie intermedia hacia el objeto final. 4x4=16 Centroide del objeto Rayo de visión reflejado Normal de la superficie intermedia Normal del objeto

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

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

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

  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 La nueva normal puede calcularse como 0

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

  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 Imagen para el color Función “Bump” Se usó Mapeo planar Solo bump mapping Solo texture mapping ambas

More Related