computación gráfica - codecompiling.net · geometría descriptiva / computacional trigonometría...
TRANSCRIPT
1
Computación Gráfica(Algunos Fundamentos)
Universidad de los AndesDemián Gutierrez
Octubre 2011
2
¿Qué es?
Es una rama de la ciencia de computación que estudia al conjunto de técnicas que permiten la
representación tridimensional* de los objetos de la vida real en el computador
*No solo de objetos tridimensionales, y no sólo de objetos de la vida real
3
¿Qué es?
¿Que arquitecturas de hardware y software debo tener?
¿Cómo dibujo gráficos 2D?¿Líneas? ¿Curvas? ¿Polígonos? ¿Aliasing?
¿Cómo relleno un polígono?
¿Cómo represento y dibujo modelos 3D en dispositivos de despliegue 2D?
¿Cómo despliego modelos 3D que sean realistas?¿Iluminación? ¿Texturas? ¿Sombreado?
¿Suavizado?
4
¿Aplicaciones?
Juegos de Computadora / Video (Weee!!!)
Aplicaciones Científicas
Aplicaciones y Software para Ingeniería
Arte (cine, entre otros)
Muchos más...
Educación y Entrenamiento
5
¿Aplicaciones?
6
¿Aplicaciones?
7
¿Aplicaciones?
8
¿Aplicaciones?
9
¿Aplicaciones?
10
Soporte Conceptual / Fundamentos
Geometría Descriptiva / Computacional
Trigonometría
Álgebra Matricial / Álgebra Lineal
Métodos de interpolación
Manejo de patrones de colores
Estructuras de Datos
Arquitectura de Computadores
11
Componentes de un Sist. Gráfico
¿Cuál es la naturaleza de este
dispositivo?
12
¿qué es un gráfico?
¿qué tipos de gráficos existen?
¿naturaleza de un gráfico?
13
¿Cómo se representa una imagen?
14
¿Cómo se representa una imagen?
Una imágen/gráfico se representa con
un conjunto de puntos donde cada
punto tiene un valor (color)
o una intensidad (por ejemplo, en el caso de escalas de
grises)
15
¿Cómo se representa una imagen?
muchos millones(4.294.967.296)
de colores
muchos(65.536)colores
(256)colores
(4)colores
(8)colores
(16)colores
16
¿Cómo se representa una imagen?
de izquierda a derecha:2 tonos
16 tonos grises256 tonos grises
17
¿Vectorial vs Raster?
Ra
ster
Vec
tor
18
¿Vectorial vs Raster?
19
¿Vectorial vs Raster?¿Cómo dibujar?
20
¿en qué dispositivosse despliegan los gráficos?
21
Tecnologías de Salida(cómo se dibuja una imágen)
22
Tecnologías de Salida
23
Tecnologías de Salida
LCD
Plasma
LED
24
Tecnologías de Salida
Kindle iPad
aunque con esto no nos vamos a meter...
25
¿algunas arquitecturas?
26
Arquitecturas
Bus del Sistema
CPUMemoria
delSistema
Controladorde
Video
OtrosDispositivos
de E/S
OtrosDispositivos
de E/S
27
Arquitecturas
Bus del Sistema
CPUControlador
deVideo
OtrosDispositivos
de E/S
Memoriadel
Sistema
FrameBuffer
28
Arquitecturas
Bus del Sistema
CPU
Controladorde
Video
OtrosDispositivos
de E/S
Memoriadel
Sistema
Procesadorde
Video
Memoriadel
Procesadorde Video
FrameBuffer
29
Arquitectura / Framebuffer
Controladorde
Video
FrameBuffer
0x00004001
0x00004002
0x00004000
0x00004003
...
valor pixel-1
valor pixel-3
valor pixel-2
valor pixel-4
...
0x0000FFFF valor pixel-n
memoria
p1
p2
p3
p1024
p1025
p1026
p1027
p2048
p2049
p2050
p2051
p3072
p---
p---
p---
pn
...
...
...
...
800
1024
30
¿Qué es?
El Frame Buffer en el fondo se puede ver como un “mapa de bits”
Controladorde
Video
FrameBuffer
¿mapa de bits?
31
¿Cómo se representa una imagen?
(4)colores
(8)colores
(16)colores
RGB
|0000...|0000...|0000...|R G B
RGBA
|0000...|0000...|0000...|0000...|R G B A
32
Arquitectura / Framebuffer
p1
p2
p3
p1024
p1025
p1026
p1027
p2048
p2049
p2050
p2051
p3072
p---
p---
p---
pn
...
...
...
...
800
1024
8 bits por pixel:256 colores
16 bits por pixel65536 colores
24 bits por pixel16 millones de colores
32 bits por pixel4.294.967.296 colores
Esto es más de lo que el ojo humano puede diferenciar
33
Arquitectura / Framebuffer
por ejemplo:
8 bits por pixel:
|00|000|000|R G B
¿Por qué hay más verde y azul que rojo?
34
bien, pero...hasta ahora sólo hemoshablado de gráficos 2D...
¿qué sucede con el 3D?
¿cómo se definen gráficos 3D?¿cómo se representan en 2D?
35
¿cómo se definen gráficos 3D?¿cómo se representan en 2D?
...¿se acuerdan de sistemas de
representación?
36
Objetos y observadores
37
Transformando al Observador en una Cámara
38
Transformando al Observador en una Cámara
Escena3D
Cámara /Observador(localizada
en el espacio 3D)
Resultado2D
Proyección
39
Añadiendo I luminación.. .
La luz añade complejidades adicionales: sombra, reflejos, colores, etc
40
Añadiendo I luminación.. .
¿Cómo se calculan los colores, las sombras, etc?
41
Soporte Conceptual / Fundamentos
OpenGL
DirectX / Direct3D
Tecnologías que definen APIs que permiten dibujar primitivas (puntos, líneas, polígonos, curvas,
texturas, iluminación, etc) y realizar un conjunto de operaciones gráficas
42
Soporte Conceptual / Fundamentos
¿¿??
OpenGL Direct3D
API API
¿?Bindings(Ej. JOGL)
Frameworks(C/C++)
(Scene Graphs)(Ej. Ogre)
Frameworks(Java / Otros)
(Scene Graphs)(Ej. Java3D,
JMonkeyEng, etc)
Aplicación
43
Soporte Conceptual / Fundamentos
Controladorde
Video
Procesadorde
Video(“acelerado”)
Memoriadel
Procesadorde Video
FrameBuffer
OpenGL Direct3D
API API
Operaciones y primitivas gráficas implementadas en
el Hardware
44
Soporte Conceptual / Fundamentos
Controladorde
Video
Procesadorde
Video
Memoriadel
Procesadorde Video
FrameBuffer
OpenGL Direct3D
API API
Operaciones y primitivas gráficas implementadas en
Software(mucho más lento
que el anterior)Implementación en “Software”
45
...ver transparencias delProf. Domingo...
46
Gracias
¡Gracias!