Elementos de un ambiente gráfico

Anuncio
Elementos de un ambiente gráfico

Hardware
• Adaptador gráfico
• Monitores
• Dispositivos de entrada y salida

Software
• GUI
• API
• Aplicaciones
Adaptador Gráfico

Funciones:
~ Descargar al CPU
~ Convertir los datos a una señal de vídeo
Modelo de Color

Basados en pigmentos
• RBY
• CMYK

Basados en luz
• RGB
• HSV
~ “Hue, Saturation, Value”
Profundidad de Color

Número de bits de memoria por cada pixel
Profundidad
1
2
4
8
16
24
36
... etc
Número de colores
2
4
16
256
64,000
16,700,000
4,214,967,296

RGB => 8 bits por color (0 - 255)

Ejemplo: Play Station 2
~ RGB:Alpha:Zbuffer (24:8:32)
Modelos RGB, HSV y CMYK
Características

Resolución
• Pels (“Picture Elements”) o Pixels

Memoria
•
•
•
•
Frame Buffer
Compartida
640x480x16 = 600 KB
1024x1280x24 = 3840 KB, aprox. 4MB
Otros Buffers

“Double buffer”
Un buffer

Doble buffer
“Z buffer”
Y
-Z
X
Otros Buffers

“Stencil buffer”

“Acummulation buffer”
GPU

Graphic Processing Unit
• Un CPU Intel Pentium 4 a 2.4 GHz tiene 55 millones de transistores
por microship, un GPU nVidia tiene 125 millones.

Programable
• Ensamblador
• Cg
• HLSL
• GLSL
Suma
Ejemplo código Cg (vertex shader)
struct ex {
float4 pos
: POSITION;
float4 color : COLOR;
};
ex main (float4 pInitial : POSITION,
float4 vInitial ,
float tInitial ,
uniform float time,
uniform float4 acceleration,
uniform float4x4 modelViewProj )
{
ex Out;
float t = time - tInitial;
float4 pFinal = pInitial + vInitial * t + 0.5 * acceleration * t * t;
Out.pos = mul(modelViewProj, pFinal);
Out.color = float4(0,0,1,0);
return Out;
}
Monitores


1960, dispositivos vectoriales
1970, dispositivos raster
Monitores LCD



Cristal líquido, entre dos capas de vidrio
Matriz Pasiva
• Malla de alambre
Matriz Activa
• Transistor por pixel
Características

Resolución
• 800x600, 1024x768, 1280x1024

Dimensión
• En pulgadas en diagonal


Número de pixeles por pulgada
Sistema coordenado
x
0, 0
1024, 0
y
0, 768
1024, 768
Dispositivos entrada y salida

Clasificación dispositivos de entrada
• Cadena de caracteres
~ Envía caracteres
• Elección
~ Envía lo elegido entre un número fijo de opciones
• Valuación
~ Envía un valor entre 0 y 1
• Localización
~ Envía la coordenada (x,y) y la acción
• Selección
~ Envía una porción de una imagen
Entrada
Ratón
 Teclado
 Joystick
 Touchscreen
 CAD

• Tabletas
• Diales o Knobs
• Teclados de funciones
Realidad
Virtual
• Ratón tridimensional o spaceball,
• Guante de datos
Entrada


Captura de Movimiento
• Sensores
Digitalizadores
Copyright © Immersion Corporation.
Métodos
2D
:
Escaner
•
• Métodos 3D: Tomografias, Radar microondas, fotogrametría
http://www.opton.co.jp
Salida

Monitores
Dispositivos montados sobre la cabeza (HMD) y
lentes, para realidad virtual


Dispositivos tipo raster
• plotters
• impresoras laser y
de inyección de tinta.
Software

GUI (Graphical User Interface)
• Sistemas de ventanas
~ Basados en Kernel
~ Basados en Red

Aplicaciones
API gráfica
GUI del sist. op.
API (Application Programming Interface)
• OpenGL
• Direct 3D
• Java 3D
• Open Inventor
• VRML (Virtual Reality Modeling Language)
Descargar