2 Hardware Software Graficos

download 2 Hardware Software Graficos

of 30

Transcript of 2 Hardware Software Graficos

Hardware para grcosmat-610

Dispositivos de despliegue de video Monitor de video Refresh cathode-ray tubes (CRT)

2

Parmetros de un monitorrefresh-rate (de un monitor CRT) frecuencia a la que se re-dibuja una imagen en la pantalla. persistence cunto tiempo emite el fsforo luz (entre 1s y 10-60 s) resolution nmero mximo de puntos que pueden desplegarse sin superponerse. nmero de puntos por centmetro que pueden gracarse horizontal y verticalmente (1280x1024) size tamao fsico de la pantalla (se mide la diagonal)

3

Raster-scan displays Basado en el funcionamiento de la televisin. El rayo se mueve en la lnea mientras su intensidad sube o baja formando un patrn de puntos iluminados. La imgen se guarda en una zona de la memoria llamada frame buffer , refresh buffer o color buffer.

4

Raster-scan displays Cada punto en la pantalla que se puede iluminar por un rayo de electrones se llama pixel o pel (picture element). Los sistemas de raster (trama) se caracterizan por su resolucin, que es el nmero de posiciones de pixel que se pueden gracar. Otra propiedad de los monitores es su aspect-ratio que es la proporcin entre su anchura y su altura. el nmero de columnas de pixels dividido por el nmero de lneas de scan que puede desplegar el sistema. (4:3, 16:9)

El rango de colores que puede desplegar un sistema de raster depende del tipo de fsforo en el CRT y en el nmero de bits por pixel disponible en el frame buffer.

Raster-scan displays El nmero de bits por pixel en el frame buffer se llama depth del rea de buffer o nmero de bit planes. Un frame buffer con 1 bit por pixel se llama bitmap. Un frame buffer con mltiples bits por pixel se llama pixmap. Los trminos bitmap y pixmap tambin se usan para otros arreglos rectangulares que almacenan valores binarios o patrones multicolor. Cuando una pantalla se redibuja a una frecuencia menor de 24 cuadros (frames) por segundo la percibimos discontinua. (ej. refreshrate de 16 fps). Actualmente alrededor de 60 a 80 y hasta 120 fps. En unidades de ciclo por segundo o Hertz, 60 fps corresponde a 60Hz. Algunos sistemas utilizan un procedimiento de redibujado entrelazado.

Random-scan displays El CRT se dirige solamente a aquellas partes de la pantalla donde se desplegara la imgen. Tambien llamados vector displays. La frecuencia de despliegue depende del nmero de lneas a dibujar. Diseados para desplegar las lneas de una imgen de 30 a 60 veces en un segundo. Se utiliza un retraso para no desplegar demasiado rpido y quemar el fsforo.

Monitores CRT a color Despliegan imgenes a color usando una combinacin de fsforos que emiten luces de diferentes colores. La luz emitida por los fsforos se combina para formar un solo color percibido. Son monitores RGB. Los sistemas de alta calidad tienen 24 bits por pixel en el frame buffer, permitiendo 256 ajustes de voltaje para cada rayo de electrones y cerca de 17 millones de colores para cada pixel. full-color system o true-color system.

Flat-Panel display Display emisores: convierte la energa elctrica en luz ( monitores de plasma, monitores de LEDs) Displays no emisores: utilizan efectos pticos para convertir la luz solar o de alguna otra fuente en patrones grcos (LCD)

Plasma panels Se construyen llenando la regin entre dos placas de vidrio con una mezcla de gases que incluyen normalmente el nen. Se coloca una serie de conductores verticales en una placa y horizontales en la otra placa de vidrio. Se aplica voltaje a la interseccin de dos conductores convirtiendo el gas en plasma.

LCD Dejan pasar luz polarizada de una fuente de luz a travs de un material de cristal lquido que se puede alinear para bloquear o dejar pasar la luz. Las molculas que no estn alineadas tuercen la luz.

Dispositivos de visualizacin 3D

Monitores estereoscpicos Sistemas de realidad virtual

Dispositivos fsicos de entrada Dials (potenciometros) Pushbuttons Switches Teclado (coleccin de pushbuttons) Trackballs (movimiento relativo) Ratn (movimiento relativo) Joystick (movimiento relativo, direccin) Tabletas (posicin absoluta) ...

Software para grcosmat-610

Software para grcos

Hay dos tipos de software para grcos: special-purpose packages y general-programming packages. SPP: 3Ds, Maya, AutoCAD ... GPP: GL (Graphics Library ), OpenGL, VRML (Virtual Reality Modeling Language), Java2D, Java3D.

Graphics Functions Un paquete general proporciona a los usuarios una serie de funciones para crear y manipular imgenes. Estas rutinas se clasican dependiendo si tratan con la salida de grcos, atributos, transformaciones geomtricas, transformaciones de vista, entrada. Los elementos bsicos para la creacin de imgenes se conocen como primitivas de salida de grcos (graphics output primitives) cadenas de caracteres, puntos, lneas rectas, curvas, polgonos. esferas, conos, cilindros.

Ejes coordenados de referencia Para describir una imagen empezamos por denir un sistema coordenado Cartesiano adecuado: world-coordinate reference frame. (2D o 3D). Denimos los objetos con sus posiciones en coordenadas del mundo. segmento de recta? rectngulo?

Estas posiciones en el mundo se almacenan junto con atributos como color y las coordenadas extremas de los objetos. Un conjunto de coordenadas extremas se conoce tambin como bounding box o volumen envolvente del objeto.

Coordenadas de pantalla Corresponden a las posiciones de los pixels en el frame buffer. Las coordenadas de un pixel indican el nmero de lnea de scan (y) y el nmero de columna (x).y

setPixel(x,y);5 4 3 2 1 0 0 1 2 3 4 5 x

getPixel(x,y,color);

Coordenadas absolutas o relativas?

Marco de referencia en 2D en OpenGL gluOrtho2D() especica el marco de referencia Cartesiano en 2D (proyeccin ortogonal) Argumentos: lmites de x y y para la imgen a desplegar.

glMatrixMode( GL_PROJECTION ) glLoadIdentity( ); gluOrtho2D( xmin, xmax, ymin, ymax );

ymax

Display window

ymin

xmin

xmax

Primitivas en OpenGLmat-610

Funciones de puntos en OpenGLglVertex*();

Para especicar la geometra de un punto dar la posicin en coordenadas del mundo. Estas coordenadas irn ms tarde a los rutinas de despliegue. A menos que se especique lo contrario, las primitivas sern desplegadas con el tamao y color por default. Para un punto el default es: blanco y de tamao igual a un pixel en la pantalla.glBegin(GL_POINTS); glVertex*(); glEnd();

Funciones de puntos en OpenGL Coordenadas en 2, 3 y 4 dimensiones para glVertex. La cuarta dimensin es en coordenadas homogneas donde el parmetro h, es el factor de escala de los valores Cartesianos. OpenGL trata las dos dimensiones como un caso de tres dimensiones, cualquier coordenada (x,y) es equivalente a (x,y,0) con h=1. Se debe especicar el tipo de datos para el valor numrico de las coordenadas: i(integer), s(short), f(oat), d(double).glBegin( GL_POINTS); glVertex2i(50, 100); glVertex2i(75, 150); glVertex2i(100,200); glEnd( );

Funciones de puntos en OpenGLAlternativamente se pueden especicar como:int point1[] = {50,100}; int point2[] = {75,150}; int point3[] = {100,200}; glBegin(GL_POINTS); glVertex2iv (point1); glVertex2iv (point2); glVertex2iv (point3); glEnd();

Especicar puntos en 3D como punto otanteglBegin(GL_POINTS); glVertex3f(-78.05, 909.72, 14.60); glVertex3f(251.91, -5200.67, 188.33); glEnd();

Podemos hacer nuestras clases...class wcPt2D { public: GLfloat x,y; };

wcPt2D pointPos; pointPos.x = 120.75; pointPos.y = 45.30; glBegin( GL_POINTS ); glVertex2f( pointPos.x, pointPos.y ); glEnd();

Primitivas en OpenGLmat-610

Funciones de lneas en OpenGL Default: slida, blanca. GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP. Pares de vrtices.p3 p1

glBegin( GL_LINES ); glVertex2iv (p1); glVertex2iv (p2); glVertex2iv (p3); glVertex2iv (p4); glVertex2iv (p5); glEnd();p2

p4

p3

glBegin( GL_LINE_STRIP ); glVertex2iv (p1); glVertex2iv (p2); glVertex2iv (p3); glVertex2iv (p4); glVertex2iv (p5); glEnd();

p1

p5

p4

p2

p3

p1

glBegin( GL_LINE_LOOP ); glVertex2iv (p1); glVertex2iv (p2); glVertex2iv (p3); glVertex2iv (p4); glVertex2iv (p5); glEnd();

p5

p4

Puntos, lneas y polgonos Todas las primitivas geomtricas se describen en trminos de sus vrtices. punto : un solo pixel. Las operaciones con puntos suponen puntos 3d. lnea : segmento de recta denido por sus puntos extremos. polgono : reas encerradas por cclos de segmentos de recta. polgonos simples (no se intersectan a si mismos), polgonos convexos.

Especicando vrticesvoid glVertex{234}{sifd}[v]( TYPE coords );

Se pueden especicar desde 2 coordenadas (x,y) hasta 4 (x,y,z,w). Si no se especica z=0 y w=1. Las llamadas a glVertex*() solo son efectivas cuando se escriben entre el par glBegin() y glEnd(). glVertex2s(2,3); glVertex3d( 0.0, 0.0, 3.1415926535898 ); glVertex4f( 2.3, 1.0, -2.2, 2.0 ); GLdouble dvect[3] = {5.0, 9.0, 1992.0 }; glVertex3fv( dvect );

Primitivas geomtricas en OpenGL glColor3f( 1.0, 0.0, 1.0 ); glBegin( GL_POLYGON ); glVertex2f( 0.0, 0.0 ); glVertex2f( 0.0, 3.0 ); glVertex2f( 4.0, 3.0 ); glVertex2f( 6.0, 1.5 ); glVertex2f( 4.0, 0.0 ); glEnd();

void glBegin( GLenum mode ); valor GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_TRIANGLES GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_QUADS GL_QUAD_STRIP GL_POLYGON