GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

29
GxC-Introducción A. García-Alonso 1 >> Introducción << >> Gráficos por Computador << LINK http://www.sc.ehu.es/ccwgamoa/docencia/ Material/Presentaciones

Transcript of GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

Page 1: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 1

>> Introducción <<>> Gráficos por Computador <<

LINK http://www.sc.ehu.es/ccwgamoa/docencia/Material/Presentaciones

Page 2: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 2

Profesor

• Página personal– www.sc.ehu.es/ccwgamoa

• Despacho (cómo llegar), teléfono, etc

• Código asignatura : P-20– 24 clases teóricas

– 12 clases prácticas

Page 3: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 3

Asignatura

• Material clases– www.sc.ehu.es/ccwgamoa/clases/P-20-GraficosPorComputador

• Los avisos están en el fichero : novedades• Exámenes, enunciado prácticas

– www.sc.ehu.es/ccwgamoa/docencia/Material• Apuntes, documentación, etc• OpenGL ( OpenGLprimer )• Java3D

• Lista correo : – Suscribirse : http://list.ehu.es/mailman/listinfo/grafi

[email protected]

• Tutorías : ver en la página novedades

Page 4: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 4

Evaluación

• Examen 50%, prácticas evaluadas 50%– Evaluación prácticas

• Trabajos básicos (hasta 7 puntos)• Trabajos avanzados y proyectos voluntarios

– Evaluación teórica• Los exámenes anteriores están en el web de la asignatura

• Fechas (se indican en novedades)

– Entrega trabajos prácticos

– Examen 1ª convocatoria : Enero-Febrero

– Examen 2ª convocatoria : Junio

Page 5: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 5

Alumnos

• Encuesta

• Ficha

Page 6: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 6

Bibliografía Básica

• D. Hearn, M.P. Baker, “Computer Graphics”, Prentice Hall, 2nd Edition, 1997.

• D. Hearn, M.P. Baker, “Graficas por Computadora”, Prentice Hall, 2nd Edition, 1995.

Page 7: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 7

Bibliografía Auxiliar

• Libros– J.D. Foley, A. van Dam, S. Feiner, J. Hughes, “Computer

Graphics. Principles and Practice”, Second Edition in C, Addison-Wesley, 1996 (existe versión en castellano)

– J.D. Foley, A. van Dam, S.K. Feiner, J.F. Hughes, R.L. Phillips, “Introducción a la graficación por computador”, Addison-Wesley, 1996

• Manuales: en biblioteca (edición 3.0), en ficheros html (ed. 1.0)

– J. Neider, T. David, M. Woo, “OpenGL 1.2 Programming Guide: The Official Guide to Learning OpenGL, Version 1.2”, 3ª Edición, Addison-Wesley, 1999

– OpenGL Architecture Review Board, “OpenGL Reference Manual”, 3ª Edición, Addison-Wesley, 1999

Page 8: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 8

Convenios en transparencias

• Foley 12.3– Esto significa que el contenido de esta sección también se explica

en el apartado 12.3 del libro escrito por Foley (está referenciado en la bibliografía)

• Familias de piezas Foley-12.7– Esto significa que a “Familias de piezas”se le asocia la figura

12.7 del libro de Foley. Si se cita con frecuencia un libro, en vez de poner el apellido completo se pone sólo la inicial (F-12.7)

• Primera sección (Hearn 11.4)

• Segunda sección (Burgos 7.3)– Cuando una transparencia indica el contenido de un tema. En

ocasiones se indica una referencia bibliográfica mediante el nombre de uno de los autores del libro y la sección de interés.

Page 9: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 9

Paginas web

– ACM-SIGGRAPH http://www.siggraph.org

– EUROGRAPHICS http://www.eg.org

– OpenGL http://www.opengl.org

Page 10: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 10

Material en el web de la asignatura

• Material docente elaborado por EUROGRAPHICS y ACM-SIGGRAPH http://asec.cs.gsu.edu/asecdl/materials/C_and_I.htm

• Educational slide set 1991– Ray tracing– Projections– Rendering progression

• Educational slide set 1993– Pixels : lines & circles– Antialiasing– Radiosity

• Educational slide set 1995– Color and color reproduction

• Educational slide set 1997– Texture mapping

Page 11: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 11

...

• Manual de la librería “glut”

• Manual de referencia de OpenGL

• Manual “User’s Guide” de OpenGL

• Primer de OpenGL : ejemplos, contiene fichero con el índice explicativo de los ejemplos

• Parámetros para definir algunos materiales

• Términos en inglés y castellano (lexico.doc)

Page 12: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 12

Objetivos

• Proporcionar conocimientos y visión general del estado de la Informática Gráfica

• Exponer los conceptos y algoritmos básicos

Page 13: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 13

Programa

1. Introducción. Conceptos básicos

2. Transformaciones geométricas. Su composición

3. Sistemas de referencia y transformaciones. La cámara. El avatar

4. Taxonomía de los modelos geométricos

5. Modelo básico de iluminación de un punto de una superficie

6. Fundamentos de visibilidad

7. Fundamentos de generación de imágenes

Page 14: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 14

Conceptos básicos : contenido

• Breve Historia de los orígenes

• Síntesis/Análisis : aplicaciones

• Estructura conceptual de los GxC

• Utilidades : APIs, librerías, ficheros

• Arquitectura (h/w) básica

• Interacción : conceptos y gestión

• Scan conversion

Page 15: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 15

Breve historia de los orígenes

• William Fetter of Boeing coins the term “computer graphics” for his human factors cockpit drawings

http://www.accad.ohio-state.edu/~waynec/history/timeline.html http://www.accad.ohio-state.edu/~waynec/history/images/pages/ivan-sutherland_jpg.htm

• Ivan Sutherland demonstrating the Sketchpad system on the console of the TX-2 at MIT(1963)

Page 16: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 16

...• http://accad.osu.edu/~waynec/history/timeline.html

• http://www.cs.fit.edu/~wds/classes/graphics/History/history/history.html

Page 17: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 17

Análisis

• Mejorar imágenes (image enhancement)

• Detectar patrones y reconocerlos (pattern detection and recognition)

• Análisis de escenas, visión (scene analysis, computer vision)

Page 18: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 18

Síntesis

• Generar imágenes, dibujar, representar (rendering)– Visualización realista (realistic image generation)

– Visualización interactiva (interactive visualization)

– Animación (animation)

– Simulación (simulation)

– Animación no-realística (non-realistic animation)

– Visualización científica (scientific visualization)

– Realidad virtual (virtual reality)

– Realidad aumentada (augmented reality)

– Mixed Reality

Page 19: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 19

Análisis-Sintesis ¿campos disjuntos?

• Estudios virtuales de TV (www.brainstorm.es)

• Mezcla imagen real y sintética (cine tomas previas)

• Interfaz de usuario (Minority Report)

Page 20: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 20

... aplicaciones

• Análisis : topografía, espacio, movimiento actores, medicina, huellas digitales, matrículas, robótica, fotografía, posicionamiento automático, etc.

• Síntesis : publicidad, cine, artes gráficas, ingeniería, investigación científica, interfaces de máquinas, entrenamiento de operadores (sistemas y vehículos)

Page 21: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 21

Estructura conceptual de los GxC

• Modelado– Geometría / topología

– Material, textura

– Cosmos-Blaxxun… vs. Quicktime• Libertad de movimiento vs. Realismo• Modelo geométrico 3D vs. Textura (foto) 2D

• Animación: variación en el tiempo– Posición: objetos, luces, cámaras

– Formas (morphing)

– Propiedades

• Visualización ( siguiente ... )

• Interacción (Input : Interfaz de usuario)

Page 22: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 22

...

• Visualización– Respuesta, coste de generación

• Interactivo, simulación• No interactivo (realista ¿?)

– Qué superficie se ve en este píxel (qué color se asigna)

Page 23: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 23

Utilidades

• Distinguir :– Ficheros (estructuras de datos, sintaxis, semántica)

– Librerías, APIs, Toolkits

– Scene graphs

– Motores

• Distinguir estándares– “de facto standard”, industrial standard

– Estándar oficial (ISO, ANSI, CEN, UNE, DIN )

• Irán apareciendo en distintos capítulos

• Ahora nuestro objetivo es insistir en que : – Al encontrar esas utilidades hay que entender para qué sirve

cada una y conocer su área de aplicación

Page 24: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 24

Arquitectura básica

• Procesadores (reparto de tareas, cuellos de botella)– CPU(s)

– Tarjeta(s) gráfica

– Bus

• Frame Buffer– Nº píxeles

– En cada píxel (índice, 8bits, RGB, alpha, z-buffer, doble, estéreo)

– Microsoft Windows : popupmenu de “Display”

• Monitor

• Sistemas de entrada

Page 25: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 25

Conceptos de interacción

• Técnicas:– Petición (request)

– Muestreo (sample)

– Sucesos o eventos (events)

• Sistemas gobernados por eventos– El control lo dirige un sistema centralizado

– Asociamos procedimientos a sucesos : callbacks

– Se verá con ejemplos prácticos (glut, en OpenGLprimer)

Page 26: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 26

Gestor I/F de usuario

• Tareas : captar input generar feedback– Gestión entrada :h/w & s/w

– Gestión imágenes 3D• Actualización del frame buffer (realimentación gráfica)

• Sistemas gestión de la entrada– Ventanas con contenido 3D en sistemas 2D (ratón y teclado)

• Microsoft Windows : MFC, librería glut, Direct Input• The X Window System : Graphic Context, Drawing Area

– Otros• Full screen “pantalla completa” (en estéreo es obligado)• h/w para i/o y s/w de i/f específicos

• Gestión imágenes 3D (bajo y alto nivel) …

Page 27: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 27

...

• Gestión imágenes 3D– “Bajo nivel”

• Tareas– Gestión “en serie” de los elementos de la escena– Elementos de la escena

» Primitivas gráficas» “Atributos” (≠ edición imágenes)

– Variables de estado Generación

imagen• Sistemas

– OpenGL– Direct 3D

– “Alto nivel” …

Page 28: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 28

...

• (... Gestión imágenes 3D)– “Alto nivel” (diversos niveles)

• Tareas– Gestión global de los elementos de la escena– Árbol escena– Carga/descarga de memoria– Gestión elementos no visibles– Elección del modelo geométrico: Nivel detalle, Textura– Elección de la técnica de presentación (rendering)

• Sistemas– Java 3D– Inventor– Performer– [ Fahrenheit, Hewlett Packard ] R.I.P.

Page 29: GxC-IntroducciónA. García-Alonso1 >> Introducción > Gráficos por Computador

GxC-Introducción A. García-Alonso 29

Scan conversion (Diapositivas)

• ACM educational set 1993 (a)– Ecuación de la línea

– DDA Digital Differential Analyser

– Bresenham (control del error)

• Otras aplicaciones de esta idea