Computación Gráfica Unidad I: Introducción Docentes: Néstor Calvo Ángel Calegaris Walter Sotil 2008.

Slides:



Advertisements
Presentaciones similares
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities scuola.
Advertisements

Insertar un cuadro de texto
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
Los números del 0 al cero uno dos tres cuatro cinco 6 7 8
Seminario El Futuro del Seguro de Vida
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
AYUDA A LA FUNCIÓN DOCENTE Internet
TEMA 5.- 1ª PARTE. EL A.O. Y SUS APLICACIONES
TEMA 2 MÚLTIPLOS Y DIVISORES
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Respuestas Buscando a Nemo.
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
Desarrollo de Juegos de Video en 3D
Sistemas de Graficación
MOVIMIENTO ARMÓNICO SIMPLE MOVIMIENTO ARMÓNICO SIMPLE
Integrantes: Andres Marin Castelblanco Karem Moreno Pacheco Alexandra Ardila.
SIMATICA V2.0. Automatización de Viviendas con Simatic S7-200
Los Objetos de la Clase Escriban la palabra (the word) en español para los objetos de la clase (#1-20).
CLASE 3 SOFTWARE DEL MICROPROCESADOR
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
C ONFIGURACIÓN C UENTAS D E C ORREO ZTE N281. C ONFIGURACIÓN C UENTAS D E C ORREO ZTE N281 1-Ingrese a menú 2-Ingrese a Mensajes 3-Ingrese a Correo 4-Seleccione.
Herramientas y bibliotecas para gráficas
1. Apoyo exterior sobre ala inferior de viga de acero
1 Reporte Componente Impacto Por Orden Territorial Por Departamento No Disponible ND *Los indicadores para el año 2008 no fueron calculados.
UPC Tema: ESPACIO VECTORIAL Rn
Graphics Processing Units (GPUs)
Funciones Excel. Parte 1. Introducción 2 Una función Excel es una fórmula o un procedimiento que se realiza en el ambiente de Visual Basic, fuera de.
-17 Expectativas sobre la situación económica (Europa) Septiembre 2013 Indicador > +20 Indicador 0 a +20 Indicador 0 a -20 Indicador < -20 Total Unión.
Autodesk Civil 3D 2007 Essentials
M.I.A Daniel Alejandro García López
Phone2Wave-Server Manual de Operación.
1 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación.
Parte 3. Descripción del código de una función 1.
ATeDis Tecnologías de Apoyo y Ayudas Técnicas
UNIDAD 2: FUNCIONES.
Calendario 2008 Imágenes variadas Venezuela Elaborado por: MSc. Lucía Osuna Wendehake psicopedagogiaconlucia.com Enero 2008.
EL OSO APRENDIZ Y SUS AMIGOS
CARLOS RAMON VIDAL TOVAR
Informática Educativa Bogotá 2011 – Universidad de Santander UDES
Java Binding for the OpenGL API Unidad III. ¿Qué es OpenGL? Open GL es un entorno de desarrollo portable de aplicaciones gráficas interactivas en 2D y.
1 PROYECTO DE PRESUPUESTO DE EGRESOS DE LA FEDERACION 2002 COORDINACIÓN DE POLITICA ECONOMICA GP-PRD.
Proyecto para Centros que trabajan una vez por semana.
Ecuaciones Cuadráticas
3 Enero 2010 PERÚ: IV CENSO NACIONAL ECONÓMICO, APURÍMAC.
C REACIÓN DE B LOGS EN ESPOL Profesora: Eva María Mera Intriago Escuela Superior Politécnica del Litoral Impulsando la sociedad del conocimiento Instituto.
Mecanismos 3º ESO Soluciones cuestiones teóricas Curso
Aplicación para la visualización de imágenes 2D y 3D empleando VTK
Proyecto Fin de Carrera E.T.S. Ingeniería Informática 26 de Septiembre de 2006 DESARROLLO DE UN COMPONENTE TECLADO ALUMNO: Fco. Javier Sánchez Ramos TUTORES:
Business Proccess Management (BPM)
Minicurso "Presentaciones con PowerPoint"
BEATRIZ LAFONT VILLODRE
Bloque I Informática Básica.
Introducción al lenguaje R Sesión 2: Objetos en R
MSc. Lucía Osuna Wendehake
Calendario 2009 “Imágenes variadas” Venezuela Elaborado por: MSc. Lucía Osuna Wendehake psicopedagogiaconlucia.com Enero 2009.
Dr. Jorge Ernesto Rodríguez Universidad de Carabobo
Página 1 Indicadores de Desempeño de los Fondos de Aportaciones Federales del Ramo 33 Subsecretaría de Egresos Unidad de Política y Control Presupuestario.
Manual de Procedimientos Procedimiento de ejecución del programa de
“Android – Hola Mundo” Rogelio Ferreira Escutia. 2 Creación del Proyecto.
Actualización de SP3D (Aspectos generales)
Eliminación de Superficies Ocultas
CHAPTER 4 VOCABULARY: PART II
Computación Gráfica I – CI4321
Dispositivos gráficos de salida
Hardware Parte física de una computadora. Dispositivos Es todo aquello que esta conectado a la computadora, los cuales tienen una función específica.
Transcripción de la presentación:

Computación Gráfica Unidad I: Introducción Docentes: Néstor Calvo Ángel Calegaris Walter Sotil 2008

Introducción 2 No Es: CAD Arte Animación Visualización Juegos Sí Es: Geometría o Espacios o Transformaciones Modelado o Curvas, Superficies, Objetos o Iluminación, Texturas, Ambiente o Mecánica – Interacciones Programación o C++ (lógica y flujo del programa) o OpenGL (presentación gráfica) o GLUT (interacción con el usuario) Que sirve para hacer (no hacemos muebles, hacemos máquinas para hacer muebles) Computación Gráfica

Introducción 3 InformaciónUsuario Comunicación Procesamiento de la Información Es una tecnología para presentar información en forma gráfica ComputaciónGeometríaComunicación Gráfica Computación Gráfica

Introducción 4 Sketchpad, Ivan Sutherland Primeros Pasos DAC-1, El primer CAD de IBM Douglas Engelbart 1963! !

Introducción 5 Hoy: Ciencia, Tecnología e Industria

Introducción 6 Tendencias  Futuro (??????????????)

Introducción 7 Sistema Gráfico Básico

Introducción 8 Es la transformación de una escena en una imagen Imagen Escena 3D Rendering Escena: Modelo: o Ensambles de primitivas o Superficies: Color, Textura, Normales y Normales “truchas” o Fondo o Ambiente Luces: Modelos de iluminación Cámara: Proyección Animación: sucesión de escenas. Imagen: Puede realizarse en varios medios (device independence) Vector: secuencia de comandos select_pen(1); goto (x,y); pen_down();... Raster: framebuffer (array de pixels) (W x H x C) (& cia.) Rendering

Introducción 9 Tubo de Rayos Catódicos o CRT

Introducción 10 CRT Vectorial

Introducción 11 CRT Raster

Introducción 12 Más Monitores Raster Cristal Líquido (LCD) Panel de Plasma

Introducción 13 Es la transformación de una escena en una imagen Imagen Escena 3D Rendering Escena: Modelo: o Ensambles de primitivas o Superficies: Color, Textura, Normales y Normales “truchas” o Fondo o Ambiente Luces: Modelos de iluminación Cámara: Proyección Animación: sucesión de escenas. Imagen: Puede realizarse en varios medios (device independence) Vector: secuencia de comandos select_pen(1); goto (x,y); pen_down();... Raster: framebuffer (array de pixels) (W x H x C) (& cia.) Rendering

Introducción 14 Modelo: Constructive Solid Geometry (CSG)

Introducción 15 Modelo: Boundary Representation (BRep)

Introducción 16 Modelo: Level-Sets y Marching Cubes

Introducción 17 Modelo: Objetos Orgánicos (Metaballs)

Introducción 18 Modelo y Superficie

Introducción 19 Superficie: Textura

Introducción 20 Bump-Map Textura Decal (calcomanía) Bump RealBump Falso Superficie: Imágenes y Normales

Introducción 21 Color 24 BPP 3x1byte/píxel (0-255) Escala de Grises (r=g=b=l) 256 colores 1byte/píxel luminancia=max(r,g,b) Iluminación: Color

Introducción 22 Iluminación: Mezcla (Blending)

Introducción 23 Iluminación: Luz y Reflejos

Introducción 24 Modelo de Phong Iluminación Local

Introducción 25 Ray Casting Ray Tracing Radiosity Photon Map Global Iluminación Global

Introducción 26 Bidirectional Reflectance Distribution Function Iluminación

Introducción 27 Non-Photorealistic Rendering (NPR)

Introducción 28 Es la transformación de una escena en una imagen Imagen Escena 3D Rendering Escena: Modelo: o Ensambles de primitivas o Superficies: Color, Textura, Normales y Normales “truchas” o Fondo o Ambiente Luces: Modelos de iluminación Cámara: Proyección Animación: sucesión de escenas. Imagen: Puede realizarse en varios medios (device independence) Vector: secuencia de comandos select_pen(1); goto (x,y); pen_down();... Raster: framebuffer (array de pixels) (W x H x C) (& cia.) Rendering

Introducción 29 Es la transformación de una escena en una imagen Escena: Modelo: o Ensambles de primitivas o Superficies: Color, Textura, Normales y Normales “truchas” o Fondo o Ambiente Luces: Modelos de iluminación Cámara: Proyección Animación: sucesión de escenas. Imagen: Puede realizarse en varios medios (device independence) Vector: secuencia de comandos select_pen(1); goto (x,y); pen_down();... Raster: framebuffer (array de pixels) (W x H x C) (& cia.) Rendering TRANSFORMACIONES (duales) (rango 2) (2D)

Introducción 30 Ensamble: Primitivas (LCS)  Modelo (MCS) Textura: Imagen (ICS)  Superficie del modelo (PS: u,v) Escena: Modelos (MCS)  Universo (WCS) Iluminación: Luces (LCS)  Universo (WCS) Proyección: Universo (WCS)  Observador (VCS) Normalización: Observador (VCS)  Dispositivo Universal (NDCS) Rasterización: Dispositivo Universal (NDCS)  Dispositivo (DCS) Pantalla (SCS) Imagen (ICS) L: Local M: Model I: Image W: World V: Viewer ND: Normalized Device D: Device S: Screen PS: Parameter Space Sistemas de Coordenadas

Introducción 31 L M ND V Sistemas de Coordenadas

Introducción 32 Color: Display (front, back, layers) Z o Depth: Oclusión de superficies. Stencil: Restricción del área de dibujo. Reflejos y Sombras. Accumulation: Movimiento, Antialiasing, Prof. de Campo. Stereo: Visión estereoscópica (left/right color buffers). Rasterizado: Color, Z, y otros buffers Framebuffer (memoria de video)

Introducción 33 Animación

Introducción 34 Rendering Pipeline Programa: La CPU, por si sola o interactuando con el usuario alimenta de datos al sistema geométrico Sistema Geométrico: recibe los datos y realiza las operaciones per-vertex sobre los objetos geométricos: transformaciones, clipping, iluminación. Suele estar acelerado por hardware (implementada en la GPU) Sistema Gráfico: Recibe los datos vectoriales proyectados (NDC) y con ellos procesa o arma los distintos buffers; realiza operaciones per-pixel como rasterizado, mapeo de la textura, alpha-blending (mezcla de capas) y z-buffering (ocultamiento de objetos) para luego enviar el framebuffer al dispositivo gráfico y, posiblemente, realimentar el programa. También suele estar implementado en la GPU Pipeline Vertex: Vecinos geométricos Pixel: Vecinos gráficos

Introducción 35 Rendering Pipeline

Introducción 36 API: Application Programming Interface Es un programa para programar. Provee piezas de alto nivel (lenguaje, bibliotecas) que se ensamblan para armar una aplicación. En otra acepción es una biblioteca de rutinas para interactuar con el hardware. GUI: Graphical User Interface Es una biblioteca para programar la interacción del usuario con el programa mediante dispositivos de entrada y utilizando ventanas y otras metáforas gráficas. Normalmente proveen funciones tipo callback para reaccionar a la entrada de datos a través de: Teclado Mouse: Botones y Cursor Menú: texto, iconos Widgets (artilugios) gráficos: slider, dial, cuadros de diálogo … Otros: Joystick, Tablero Digitalizador, Trackball…. “Computer” Graphics

Introducción 37 OpenGL: Provee funciones para casi todo el pipeline y es soportado por casi todos los sistemas operativos. Está implementado en hardware en casi todas las placas gráficas (la GPU se encarga de hacer las operaciones). Direct3D: idem pero solo para Windows. X11, Postscript, PDF…. Solo 2D y por software. HPGL: caído en desuso, pero es un ejemplo de API vectorial. API´s Gráficas AUX: para aprender OpenGL, excesivamente simple, ya no se utiliza. GLUT: simple y estable, no cubre todas las necesidades. QT, FLTK, wxWidgets… muy completas (hay que estudiar para usarlas) GUI´s gratuitas con ventana OpenGL “Computer” Graphics

Introducción 38 ESTABLE El trabajo hecho perdura y se puede reutilizar ¡Cuidado con las extensiones! (en lo posible no usar) PORTABLE Exactamente el mismo código en cualquier sistema EFICIENTE Casi todo el trabajo lo hace la GPU Implementado en cualquier placa gráfica estándar Aun por software es eficiente GRATUITO OpenGL tiene copyright de Silicon Graphics Pero hay implementaciones realmente libres (Mesa) OpenGL, ¿Por que?

Introducción 39 Máquina de Estados Procedural (Assembler de rutinas gráficas) OpenGL es un renderizador, no es modelador ni GUI (Las bibliotecas asociadas GLU y GLUT tienen algo de modelado y algo de GUI) Funcionamiento de OpenGL

Introducción 40 Abre ventanas de OpenGL Callbacks para interacción con hardware Recibir input del teclado y mouse Temporizador (idle callback) Resize y Redraw (render) Menús (muy modestos) Estable, sencillo y eficiente No posee widgets (sliders, cuadros de diálogo) No posee selector de archivos No soporta la ruedita del ratón No se actualiza desde hace mucho tiempo OpenGL Utility Library (GLUT)

Introducción 41 Creación de la ventana de aplicación Creación de ventanas de dibujo e interacción GUI: Declaración de callbacks Funciones del mouse Funciones de los menús Funciones del teclado OpenGL: Variables de estado usuales Sistema de coordenadas estándar Iluminación inicial Cámara y sistema de proyección usual loop de ejecución Dibujar Reaccionar a los eventos Alterar el contenido o los métodos Lineamientos de un programa gráfico

Introducción 42 Crear ventanas Definir callbacks Inicializar OpenGL Reaccionar a eventos Actualizar variables (animación) Redibujar Loop de Eventos Lineamientos de un programa gráfico

Introducción 43 Siempre Nombre Dimensión TipoPuntero Parámetros Ejemplos: glBegin(GL_LINE_LOOP); glVertex3d(x,y,z); glEnd(); glLightfv(GL_LIGHT0,GL_POSITION,lpos); glAlgunaFuncion[234][dfis][v](.....); Llamada Típica a Funciones del OpenGL

Introducción 44 Avisar como se dibujan las cosas Dibujar algunas cosas Avisar como se dibujan las cosas Dibujar algunas cosas Secuencia típica de dibujo en OpenGL

Introducción 45 Rendering Pipeline (simplificada) de OpenGL

Introducción 46 Fin