0% encontró este documento útil (0 votos)
590 vistas36 páginas

1.-Computación Gráfica

Este documento trata sobre computación gráfica. Explica conceptos como historia, aplicaciones, jerarquía de software gráfico, uso de APIs gráficas, visión computacional, historia de la computación gráfica, componentes de un sistema gráfico, modelado y superficie, textura, rendering, sistemas de coordenadas, animación, pipeline de rendering y uso de APIs.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
590 vistas36 páginas

1.-Computación Gráfica

Este documento trata sobre computación gráfica. Explica conceptos como historia, aplicaciones, jerarquía de software gráfico, uso de APIs gráficas, visión computacional, historia de la computación gráfica, componentes de un sistema gráfico, modelado y superficie, textura, rendering, sistemas de coordenadas, animación, pipeline de rendering y uso de APIs.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Prof. Ing.

Jesws Rodriguez Salas


INTRODUCCIÓN:
-Computación gráfica
-Historia
-Aplicaciones
-Jerarquía de Software gráfico.
Uso de API’s gráficas.
Computación
Gráfica
Es el campo de la informática visual,
lo cual comprende el uso de
computadoras con el fin de generar
imágenes visuales y espaciales del
mundo real.
Es una tecnología para representar
información en forma gráfica
Comunicación
Información Usuario

Procesamiento de la información

Computación Gráfica

Geometría Computación Comunicación


Gráfica
VISIÓN COMPUTACIONAL
La visión computacional llamada también visión artificial, trata de emular los procesos de visión humana, estos
son:
 Captura de la imagen del mundo real convirtiéndola en una imagen digital
 Cámaras digitales
 Videocámaras
 Escáner
 satélite, entre otros.
 Interpretación de la imagen a través de sus características
 Procesos de segmentación (división de imágenes en objetos)
 Descripción (obtención de características de los tipos de objetos)
 Reconocimiento (identificación de los objetos).
 Utilización de la información de la imagen digital.

En los procesos de la visión computacional intervienen varias disciplinas como la óptica, las matemáticas, la
física, la ingeniería electrónica, la informática y la inteligencia artificial.

Algunos de los campos de acción de la visión computacional son:


 Análisis de Imágenes
 Reconocimiento de formas
 Objetos y patrones
 Reconstrucción 3D
 Interpretación de imágenes aéreas y de satélite, etc.
HISTORIA 1961
Steve Russell crea Spacewars,
el primer juego de vídeo por
Ayer... computadora para la PDP-1.

1963
Iván Sutherland es considerado
el fundador de la graficación por
computadora.

1950
Ben Laposky crea las primeras
imágenes gráficas en un
1975
osciloscopio, (permite registrar Martín Newell: Diseño de una
oscilaciones de ondas y las tetera usando Bezier
presenta en una pantalla)
HISTORIA 1987
IBM - Creó el VGA, Video Graphics
Ayer... Array 1989: Video Electronics
Standards Association (VESA)
SVGA, Super VGA

1992
Silicon Graphics: Establece la
especificación de OpenGL.

1993 1995
“Toy Story”, primera película
Jaron Lanier - “DataGlove” , un completamente generada por
guante para realidad virtual. computadora. NVIDIA Corporation
GeForce 256, GeForce 3 (2001).
Hoy: Ciencia, Tecnología e Industria

Introducción
APLICACIÓN

AVANCES CIENTÍFICOS

CINE Y ENTRETENIMIENTO DISEÑO ASISTIDO POR COMPUTADORA


DISPOSITIVOS DE VISUALIZACIÓN
Computación Gráfica o Síntesis
de imagen por computador :
Escena 3D Representación 2D
Computer Image

Procesamiento de Imágenes:
Imagen 2D Imagen 2D

Vision por computador:


Imagen 2D Información de
una realidad 3D
10
DISPOSITIVOS DE VISUALIZACIÓN
Unrealistic – Polygonal rendering
Image
Synthesis Ray tracing
Realistic
Computer Graphics Radiosity
or Image Synthesis
Geometric Solid Modeling
Modeling

Geometric Design

1D-based Alg.
Volume
Visualization
2D-based Alg.
Surface
rendering
3D-based Alg.
Direct volume
rendering 11
COMPONENTES DE UN SISTEMA
GRÁFICO
MODELO Y SUPERFICIE
SUPERFICIE
TEXTURA
RENDERING
Es la transformación de una escena 3D en una imagen

• Escena:
• Modelo:
• Ensambles de Primitivas
• Superficies: Color, Textura, Normales
• Fondo o Ambiente

• Luces:Modelos de Iluminación
• Cámara: Proyección

• Animación: Sucesión de escenas


• Imagen:

• Puede realizarse en varios modelos


• Vector: Secuencia de comandos
• Raster: framebuffer (array de pixels) (W x H x C)
RENDERING
Es la transformación de una escena 3D en una imagen
TRANSFORMACIONES
• Escena:
• Modelo:
• Ensambles de Primitivas
• Superficies: Color, Textura, Normales
• Fondo o Ambiente

• Luces:Modelos de Iluminación
• Cámara: Proyección

• Animación: Sucesión de escenas


• Imagen:

• Puede realizarse en varios modelos


• Vector: Secuencia de comandos
• Raster: framebuffer (array de pixels) (W x H x C)
¿QUÉ ES EL RENDERING
DE UNA ESCNA 3D?
Introducción a la Computación Gráfica 18
Introducción a la Computación Gráfica 19
Introducción a la Computación Gráfica 20
Introducción a la Computación Gráfica 21
Introducción a la Computación Gráfica 22
Sistemas de Coordenadas
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
23
Introducción
SISTEMAS DE COORDENADAS
Animación

25
Introducción
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

Rendering Pipeline •Vertex: Vecinos geométricos


•Pixel: Vecinos gráficos

26
Introducción
Rendering Pipeline

27
Introducción
USO DE API’s
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….
28
Introducción
API´s Gráficas
• 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.

GUI´s gratuitas con ventana OpenGL


• 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)

29
Introducción
OpenGL, ¿Por que?
 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)

30
Introducción
Funcionamiento de OpenGL
• 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)

OpenGL Utility Library (GLUT)


 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 Introducción
31
Lineamientos de un programa gráfico
• 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

32
Introducción
Lineamientos de un programa gráfico
Crear ventanas
Definir callbacks
Inicializar OpenGL

Reaccionar a eventos

Actualizar variables
(animación)

Redibujar
Loop de Eventos

33
Introducción
Llamada Típica a Funciones del OpenGL
glAlgunaFuncion[234][dfis][v](.....);

Parámetros
Siempre
Nombre Tipo Puntero

Dimensión

Ejemplos:
glBegin(GL_LINE_LOOP);
glVertex3d(x,y,z);
...........
glEnd();
glLightfv(GL_LIGHT0,GL_POSITION,lpos);

34
Introducción
Secuencia típica de dibujo en OpenGL

Avisar como se dibujan las cosas

Dibujar algunas cosas

Avisar como se dibujan las cosas

Dibujar algunas cosas

35
Introducción
Rendering Pipeline (simplificada) de OpenGL

36
Introducción

Prof. Ing. Jesws Rodriguez Salas
-Computación gráfica
-Historia
-Aplicaciones
-Jerarquía de Software gráfico.
Uso de API’s gráficas.
INTRODUCCIÓN:
Es el campo de la informática visual,
lo
cual
comprende
el
uso
de
computadoras con el fin de generar
imágenes visuales y espa
Procesamiento de la información
Es una tecnología para representar 
información en forma gráfica
Usuario
Información
Comunica
VISIÓN COMPUTACIONAL
La visión computacional llamada también visión artificial, trata de emular los procesos de visión humana
HISTORIA
Ayer...
Ben Laposky crea las primeras
imágenes
gráficas
en
un
osciloscopio,
(permite
registrar
oscilaciones
de
ondas
HISTORIA
Ayer...
Jaron Lanier - “DataGlove” , un
guante para realidad virtual.
1993
IBM - Creó el VGA, Video Graphics
Array
1
Introducción
Hoy: Ciencia, Tecnología e Industria
APLICACIÓN
AVANCES CIENTÍFICOS
DISEÑO ASISTIDO POR COMPUTADORA
CINE Y ENTRETENIMIENTO
10
Computer Image
Computación Gráfica o Síntesis
de imagen por computador :
Escena 3D 
Representación 2D
Procesamiento de Imá

También podría gustarte