Professional Documents
Culture Documents
3 Hardware gráfico
Actualmente, predominan tres tecnologías de visualización: Plasma, LCD y LED.
– Plasma: Consiste en una matriz de celdas que contienen una mezcla de gases
nobles, que al recibir corriente eléctrica, se convierte en plasma y emite luz del
color de las celdas rgb adjuntas.
– LCD: Consiste en una matriz de celdas entra placas polarizadas que filtran
determinada luz. Ésta cambia en función del color que debe representar.
– LED: Consiste en una matriz de LEDs rgb que se iluminan en mayor o menor
medida para formar cada color.
Frame Buffer
Es la memoria reservada a una imagen hasta que es enviada a un monitor o dispositivo.
La cantidad de memoria usada y su codificación dependerá de la profundidad del color.
Tema 2 – Modelado geométrico I
1 Introducción
El modelado geométrico permite representar objetos mediante formas geométricas
sencillas (líneas, polígonos o circunferencias).
2 Modelos alámbricos
Son aquellos que proporcionan una imagen de tipo wireframe del objeto a representar.
Son muy fáciles de construir, y ocupan poca memoria, pero son ambiguos y poco
coherentes, porque es difícil determinar qué caras se muestran.
3 Modelos poligonales
Utilizan polígonos para describir la geometría del modelo. Una malla de polígonos
conecta cada arista como máximo con dos polígonos. Algunos conceptos a recordar son:
– Teselado: Proceso de dividir un polígono en otros más pequeños.
– Triangulación: Dividir un polígono de n lados en triángulos.
– Optimización: Agrupar varios polígonos para dibujarlos más rápidamente.
– Simplificación: Elimina información redundante en el modelo.
Formas de representación
– Explícita: Cada polígono es representado por una lista de vértices.
– Pros: Eficiente para polígonos individuales.
– Cons: Se almacenan vértices por duplicado, las aristas compartidas se dibujan
dos veces.
– Lista de vértices: Los vértices se almacenan en una lista. Los polígonos hacen
referencia a los índices de dicha lista para indicar qué vértices los componen.
– Pros: Cada vértice se almacena sólo una vez.
– Cons: Las aristas siguen dibujándose dos veces.
– Lista de aristas: Se mantiene la lista de vértices. Un polígono se representa como
una lista de índices a una lista de aristas. Cada arista apunta a dos vértices y a los
polígonos a los que pertenece.
– Pros: Ahora las aristas se dibujan una sola vez.
– Cons: Es difícil determinar qué aristas comparten vértice.
Mallas poligonales
Hay varios tipos de mallas dependiendo de cómo conectemos las aristas entre sí.
– Cinta de triángulos (strip): Los triángulos se disponen en línea recta.
– Abanico de triángulos (fan): Todos los triángulos comparten un vértice común.
– Malla de cuadriláteros (mesh): Se usan cuadriláteros, dispuestos como en un
tablero de ajedrez.
4 Modelos de superficies curvas
Hay varias maneras de representarlas. La más usada es la paramétrica y sintética.
• No paramétricas:
◦ Explícitas:
▪ No pueden representar círculos o parábolas.
▪ Es difícil aplicarlas a rotaciones y tangentes verticales.
◦ Implícitas:
▪ La ecuación puede tener más de una solución.
▪ Problemas con la continuidad entre curvas.
• Paramétricas:
◦ Analíticas:
▪ Definidas mediante ecuaciones (líneas, círculos, eclipses, etc...)
◦ Sintéticas:
▪ Definidas mediante puntos de control.
▪ Fáciles de usar en CAD.
2 Transformaciones en 2D
– Traslación: Mover un objeto a una nueva posición.
– Escalado: Se realiza respecto a un punto y consiste en cambiar el tamaño. Puede
ser uniforme o no, dependiendo si se incrementa de igual manera en ambos ejes.
También es posible reflejar un objeto en ambos ejes cambiando el signo. Debe
aplicarse a todos los puntos de un objeto para que tenga sentido.
– Rotación: Usado para orientar objetos.
– x' = x · cos a – y · sen a
– y' = x · sen a – y · cos a
3 Concatenación de transformaciones
Podemos realizar varias transformaciones para obtener operaciones más complejas. No
todas las transformaciones son conmutativas, por lo que el orden en que las realizamos
importa.
• Transformaciones conmutativas:
◦ Traslación – Traslación
◦ Escalado – Escalado
◦ Rotación – Rotación
◦ Escalado Uniforme – Rotación
• Transformaciones NO conmutativas:
◦ Traslación – Escalado
◦ Traslación – Rotación
◦ Escalado No Uniforme - Rotación
5 Transformaciones en 3D
De manera similar a las transformaciones en 2D, pueden realizarse las operaciones de
traslación, escalado y rotación. Un punto 3D se representa por un vector de 4
elementos, donde el último es la coordenada homogénea, que vale 1 y sirve para que
todas las operaciones puedan realizarse sin cambiar el tamaño de las matrices.
Para realizar una rotación respecto un eje cualquiera, se realizan los siguientes pasos:
• Trasladar el objeto al origen del eje.
• Rotar el eje para que coincida con uno de los ejes de coordenadas (x, y, z).
• Realizar la rotación alrededor el eje anterior.
• Aplicar las rotaciones inversas para que el eje vuelva a su orientación original.
• Deshacer la traslación inicial, devolviendo el objeto a su posición original.
Tema 4 – Proyecciones
1 Introducción
Para el proceso de visión en 2D es suficiente con definir una ventana y un marco. En 3D,
debe realizarse una transformación de 3D a 2D (proyección).
El proceso de visión en 3D es similar al de una cámara sintética: Puede desplazarse a
cualquier posición y orientación para capturar una imagen 2D de una escena 3D.
2 Tipos de proyecciones
Proyecciones geométricas
Los proyectores son rectas, y la superficie de proyección es un plano (plano de
proyecciones). Hay dos tipos:
• Perspectiva: Visión desde un punto (Centro de Proyecciones). Los objetos son más
pequeños cuanto más lejos se encuentran.
• Paralela: Visión desde el infinito (Dirección de Proyección). Los objetos ocupan el
mismo tamaño sin importar su profundidad.
3 Modelo de cámara sintética
El marco es el área rectangular del dispositivo donde se visualiza la escena. No tiene por
qué tener la misma relación de aspecto que el plano de proyecciones.
El plano frontal evita dibujar objetos muy cerca de la cámara, porque podrían bloquear
su visión. El plano trasero evita dibujar objetos distantes que podrían ser demasiado
pequeños para ser visualmente significativos. También ayuda a que la imagen final sea
más clara.
La profundidad de campo consigue que los objetos situados a la distancia focal se
visualicen nítidos, y el resto borrosos.
Tema 5 – Visibilidad
1 Introducción
• Espacio del objeto: Comprende las superficies, polígonos, etc de cada objeto.
• Espacio de la imagen: Ordena objetos por proximidad, mostrando sus partes
visibles. Trabaja con píxeles.
El coste de ubicar los objetos en el espacio de la imagen puede ser:
n·n ó n·p. n. nº obj. p = nº px.
Algoritmo Z-buffer
1. Inicializar matriz de color a color de fondo.
2. Inicializar matriz de profundidad a máximo valor.
3. Para cada polígono:
3.1. Para cada píxel en la proyección del polígono:
a) Si la profundidad del píxel es mayor que la actual, sobrescribir el valor de
la profundidad y color.
Raytracing
Trabaja en el espacio de la imagen.
Obtiene el color de cada píxel tomando el color del primer polígono que atraviesa.
Algoritmo de Warnock
Trabaja en el espacio de la imagen. Colorea la matriz de color
dependiendo de las posibles situaciones que pueden darse entre cada
píxel y los polígonos que lo rodean.
a) Envolvente – El polígono contiene el área de interés.
b) Intersectante – El polígono intersecta el área.
c) Contenido – el polígono está contenido en el área.
d) Disjunto – el polígono está fuera del área.
3 Técnicas de aceleración
Ordenación: Se preprocesa una lista de las primitivas ordenadas por profundidad para
simplificar el proceso.
Coherencia: Reusar cálculos ya realizados.
• Objeto: Comparación de objetos, no caras.
• Superficie: Conservación de propiedades dentro de la misma.
• Línea de barrido: El conjunto de objetos vistos de una línea de barrido a otra
difiere poco.
• Área: Píxeles cercanos tienden a tener el mismo color.
Tema 6 – Iluminación y sombreado
1 Introducción
La apariencia de cada superficie depende de los tipos de fuentes luminosas que la
iluminan, sus propiedades (color, textura, reflectancia...) y su posición y orientación con
respecto a estas fuentes, al observador y a otras superficies.
El color asignado a cada píxel de la proyección de una superficie visible depende de la
luz reflejada y transmitida por los objetos.
Tipos de sombreado
Sombreado en Depende del material Se resaltan brillos
Flat Caras No No
Gouraud Vértices, interpolado No Sí
Phong A cada píxel Sí Sí
Características a considerar:
• Fuentes de luz:
◦ Posición: Localizada o en el infinito.
◦ Intensidad: Color de la fuente.
◦ Número de fuentes: Una o más.
◦ Distribución lumínica: uniforme, focalizada, direccional...
◦ Geometría: Puntual, esférica, lineal, etc...
• Objetos:
◦ Distancia: Al observador y a la fuente de luz.
◦ Tipo de material: Pulido, metálico, rugoso...
◦ etc...
Iluminación especular
La reflexión especular es luz reflejada sobre una superficie brillante o pulida en una
dirección.
4 Modelos avanzados
Otros modelos tienen en cuenta otros fenómenos que los modelos anteriores simplifican.
Entre ellos: Sombras arrojadas, transparencia, refracción, geometría de fuentes
extendidas, interreflexión.
Clasificación de algoritmos
• Dependientes de la vista (Trazado de rayos):
◦ Se envían rayos desde el foco de luz a los objetos en la escena, que rebotan y
permiten calcular fuentes de luz secundarias causadas por la refracción.
◦ No tiene en cuenta cómo se comporta la luz que es reflejada en los objetos
(sería muy costoso). Dependen de la posición de la cámara, por lo que hay
que recalcularlo cuando se mueve.
◦ Es posible aplicarlo de manera local para obtener detalle en puntos clave,
reduciendo el coste que tiene.
2 Función de mapeado
Para pegar una textura a un objeto se usa una función de mapeado (mapping) en la que
a cada punto del espacio ocupado por la superficie le hace corresponder un punto en el
espacio de la textura. Las texturas pueden reusarse, estirarse y contraerse para cambiar
su apariencia.
Las dimensiones del espacio de textura suelen estar normalizadas (varían entre 0 y 1).
Cada punto (x, y z) de la superficie se corresponde con unas coordenadas (0-1) en el
espacio de textura. Si estas coordenadas están fuera del rango se toman con modulo 1.
3 Tipos de texturas
Texturas de normales: Bump-mapping
Consiste en abrillantar o oscurecer partes de la
imagen en las que se da una transición de blanco a
negro y viceversa. Convirtiendo las partes oscuras en
hendiduras y las brillantes en biseles. Se consigue así
dar volumen (relieve) a la textura. La textura usada
contiene normales en lugar de color.
Texturas de desplazamiento
La textura contiene la longitud de
desplazamiento, en lugar de color
(textura normal) o normales (bump
mapping). Se consigue crear detalles con
volumen real, sin necesidad de hacerlo
con polígonos físicos.
Filtros de magnificación
Para escoger el píxel de la textura que representará el texel, puede escogerse uno de
manera puntual, o aproximarlo de manera lineal entre los píxeles cercanos.
Filtros de contracción
Cuando el texel es más pequeño que los píxeles, el método es similar
Mip-mapping
Cuando un objeto texturizado se aleja de la posición del
observador, la textura debe escalarse a un tamaño muy
pequeño. Como la calidad no importa en este caso, para
acelerar el proceso se guardan varias versiones de la
misma textura con resoluciones cada vez más pequeñas,
las cuales son usadas dependiendo de la posición del
objeto texturizado.
Si lo aplicamos a texturas que se repiten a lo largo de
superficies extensas la calidad gráfica se ve aumentada
porque el resultado final refleja de manera más cercana
la realidad.
El tamaño de las texturas generadas son cuadradas y en
potencias de 2. Una imagen de 512x512 necesitará una
de 1024x1024 para almacenar el resto de niveles.
5 Otras aplicaciones
Environment mapping
Añade realismo a una escena en la que un objeto parece un espejo del entorno que
tiene a su alrededor. Trata a los objetos como si fueran totalmente reflexivos.
Light mapping
Dada una textura y una imagen en escala de grises puede obtenerse una textura
sombreada en tiempo real.