![Page 1: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/1.jpg)
C o m p u t a c i ó n G r á f i c a
GRAPHICS PIPELINE
![Page 2: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/2.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Rendering
Proceso de generar una imagen 2D a partir de un
modelo 3D
![Page 3: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/3.jpg)
Exactitud sobre rapidez. Películas, diseño de productos,
aplicaciones médicas.
Sacrificar detalles por desempeño. Motores de videojuego, aplicaciones
interactivas. Flujo constante de imágenes para
crear animaciones suaves y fluidas.
Offl ine vs. Rea l-t ime Rendering
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
![Page 4: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/4.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Graph ics Pipel ine
INPUT: escena compuesta de modelos en 3D.
Los modelos se introducen a mano o por medio de un software especializado.
OUTPUT: imagen (en display, impresora, memoria ...)
La forma de dibujar debe ser independiente al dispositivo de salida.
![Page 5: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/5.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Un v istazo a l p ipel ine
Entrada Procesamiento Salida
![Page 6: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/6.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Entrada
[ del curso de Justin Solomon, Geometric Computing Group, Stanford University ]
![Page 7: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/7.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Entrada
[ del curso de Justin Solomon, Geometric Computing Group, Stanford University ]
![Page 8: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/8.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Procesam iento
[ del curso de Justin Solomon, Geometric Computing Group, Stanford University ]
Modelado “a mano” Modelado procedural
![Page 9: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/9.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Procesam iento
[ del curso de Justin Solomon, Geometric Computing Group, Stanford University ]
Animación Simulación Procesamiento de imágenes
![Page 10: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/10.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Sa l ida
[ del curso de Justin Solomon, Geometric Computing Group, Stanford University ]
Cuadros renderizados Arte CAD
![Page 11: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/11.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Sa l ida
[ del curso de Justin Solomon, Geometric Computing Group, Stanford University ]
Visualización Estilizado Interactividad
![Page 12: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/12.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Desempeño
La gran cantidad de procesamiento necesario en una sola escena lleva a hacer “trampas” al momento de renderizar las imágenes.
Reducir detalles visuales para mejorar el desempeño sin afectar la calidad de la imagen.
En gráficos el procesador y la memoria son bienes preciosos y limitados.
Ejemplos: culling, algoritmos de nivel de detalle (LOD)...
![Page 13: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/13.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Desempeño
![Page 14: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/14.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Desempeño
Algunas etapas del pipeline se pueden implementar en hardware para obtener desempeño interactivo.
GPUs actuales permiten pipelines programables.
Métodos programables: modelos de iluminación o transformaciones geométricas propias.
Se debe saber lo que se hace para usar el GPU.
![Page 15: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/15.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Sa l ida
Interactividad[ del curso de Justin Solomon, Geometric Computing Group, Stanford University ]
![Page 16: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/16.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Sa l ida
Interactividad[ del curso de Justin Solomon, Geometric Computing Group, Stanford University ]
![Page 17: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/17.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Sa l ida
Combinación[ del curso de Justin Solomon, Geometric Computing Group, Stanford University ]
![Page 18: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/18.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Sistema de coordenadas cartesiano: marcos de referencia. marco de modelo (model coordinate system - MCS) marco del mundo. (world coordinate system - WCS) marco de vista o de cámara. (viewer coordinate system - VCS) marco de despliegue o pantalla. (screen coordinate system - SCS)
Marcos de referencia
[ from Google SketchUp ]
![Page 19: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/19.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Cada objeto está centrado en su propio marco de referencia. Su origen es algún punto en el modelo (centroide, un pie ...) El modelo cuenta con un punto de control. El objeto permanece constante ante este punto. Si el punto se transforma (translación, rotación) el modelo se
transforma también.
Model coord inate system (MCS)
[ from OpenGL Red Book. Ch 3. ]
![Page 20: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/20.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
World coordinate system (WCS)
Al colocar los modelos en el mundo 3D deben tener un origen común.
Muchos programas 3D evitan esta transformación y van directamente al marco de la cámara (por ejemplo OpenGL)
![Page 21: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/21.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Transformaciones
[ from OpenGL Red Book. Ch 3. ]
![Page 22: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/22.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
La cámara se coloca en algún lugar del espacio 3D unificado (mundo). El ojo de la cámara se vuelve el origen del sistema coordenado,
mirando hacia el fondo (eje-z) de la escena. Las operaciones de culling, back-face culling e iluminación se realizan
con esta referencia. El volumen visible se produce con una proyección de la escena frente
a la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la
cámara. La forma del volúmen (frustum) será rectangular (proyección paralela u
ortográfica) o piramidal ( proyección perspectiva )
V iewer coord inate system (VCS)
[ from OpenGL Red Book. Ch 3. ]
![Page 23: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/23.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Viewer coord inate system (VCS)
![Page 24: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/24.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Viewer coord inate system (VCS)
ortográfico o isométrico perspectiva
![Page 25: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/25.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Cl ipped coordinate system (Norma l izado)
Similar al sistema coordenado de vista o de cámara pero el frustum se adapta a un cubo unitario.
El eje-x y el eje-y normalizados en un rango [-1,1] y el eje-z en un rango [0,1].
![Page 26: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/26.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Cl ipped coordinate system (Norma l izado)
Similar al sistema coordenado de vista o de cámara pero el frustum se adapta a un cubo unitario.
El eje-x y el eje-y normalizados en un rango [-1,1] y el eje-z en un rango [0,1].
![Page 27: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/27.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Screen coordinate system (SCS)
Las coordenadas 3D de la escena se toman el eje-x y el eje-y como coordenadas de la imágen 2D.
Las coordenadas del eje-z se guardan para las pruebas del z-buffer.
En esta etapa no se han realizado todavía la transformación de la escena a pixeles (rasterización).
![Page 28: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/28.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Ana logía de una cámara
[ from OpenGL Red Book. Ch 3. ]
![Page 29: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/29.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
Graph ics Pipel ine
M1
M2
Mn
Escena 3D
V
Vista de la escena 3D
Modelo
Modelo
Modelo
MCS
WCS VCS
P Clip Normalizar
Despliegue
SCS
Rasterization
![Page 30: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/30.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
API de gráficos
Las etapas de un pipeline se administran por una interfaz de programación de aplicaciones (Aplication programming interface o API)
Ejemplos de API de gráficos: OpenGL, Microsoft’s Direct3D, Pixar’s Renderman ...
El hardware gráfico se comunica con los APIs.
Se hacen también capas de abstracción del hardware (HALs) pudiendo hacer al API independiente del dispositivo.
![Page 31: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/31.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
OpenGL
Es un API con muchas funciones que permiten comunicarse con el hardware de gráficos.
Multi plataforma.
Da funciones para dibujar cosas.
Utilizada en muchas aplicaciones de gráficas.
p.e. videos juegos, visualización.
![Page 32: 02 Graphics Pipeline - CIMATcesteves/cursos/cg/pdf/02_Graphics_Pipeline.pdfa la cámara: pensar en un proyector. El volumen visible se define de acuerdo a los parámetros de la cámara](https://reader036.vdocuments.net/reader036/viewer/2022070703/5e7062d124355c41902e90be/html5/thumbnails/32.jpg)
COMPUTACIÓN GRÁFICA | GRAPHICS PIPELINE | ENERO-JUNIO 2014 | 22 /01/2014
OpenGL
Diseñado para producir imágenes 3D de apariencia razonable de manera simple y rápidamente.
Gran parte de su diseño es una aproximación burda de cómo los fenómenos visuales se comportan en el mundo real.
Se ocupa solo de rendering no de manejo de ventanas, manejo de eventos, etc.
Abstrae el manejo de los gráficos del hardware en una interfaz estándar y limpia.