martes, 3 de mayo de 2011

Ensayo

Ensayo # 1
Historia de la Computación Gráfica.

Al principio las computadoras se usaban prioritariamente en aplicaciones científicas. La ENIAC, fue una de las primeras computadoras, su función era calcular densidades de neutrón transversales para ver si explotaría la bomba de hidrógeno. Los resultados se reportaban por medio de dispositivos de impresión sencillos que producían secuencias de caracteres alfanuméricos que los usuarios debían examinar. El siguiente paso en la evolución de las computadoras fue la creación de dispositivos de visualización que permitían al usuario de una computadora observar los resultados del procesamiento en el dispositivo. La primera computadora que utilizó un CRT (Tubo de Rayos Catódicos) como dispositivo de visualización fue Whirlwind.
El primer videojuego de la historia fue creado en 1952, con el nombre de OXO. Fue producto de la tesis doctoral de Alexander Sandy Douglas en la Universidad de Cambridge para demostrar la interactividad entre computadoras y seres humanos. El juego era una versión del conocido “tres en raya” y fue escrito para la computadora EDSAC. El programa podía tomar sus decisiones en función de los movimientos del jugador, que transmitía las órdenes por medio de un dial telefónico integrado en el sistema.
En 1961 Steve Russell estudiante del MIT, dirigió un equipo que creó el primer videojuego interactivo de naves espaciales. Le tomó al equipo cerca de 200 horas-hombre escribir la primera versión deSpacewar. El juego se escribió en una PDP-1 que fue una donación de DEC al MIT esperando que en el MIT se pudiera hacer algo trascendente con su producto.
El Sketchpad inventado por Ivan Sutherland fue el primer sistema interactivo de gráficos por computadora utilizado para aplicaciones de diseño e ingeniería.
Uno de los más importantes avances para los gráficos por computadora apareció en escena en 1971, el microprocesador. Usando tecnología de circuitos integrados desarrollada en 1959, la electrónica de un procesador de computadora fue reducida a un único chip, el microprocesador a veces llamado CPU (Unidad Central de Procesamiento). Una de las primeras microcomputadoras de escritorio diseñada para uso personal fue la Altair 8800 de Micro Instrumentation Telemetry Systems (MITS). Se entregaba por correo en forma de kit para armar, la Altair (nombrada como un planeta en la popular serie Star Trek) se vendía alrededor de los 400 dólares. Tiempo después las computadoras personales avanzarían hasta punto de permitir la creación de gráficas computacionales con calidad de película.
En el mismo año Nolan Kay Bushnell junto con un amigo creo el Atari. Después de esto comenzó el desarrollo de un videojuego de arcadia llamado Pong, que se conoció en 1972 y comenzó una industria que continúa siendo hasta hoy una de las que mayor uso hace de los gráficos por computadora.
Renderman Interface Specification, o RISpec, es un API desarrollada por los estudios de animación Pixar para describir escenas tridimensionales y convertirlas en imágenes digitales foto realista.
Para 1995 las audiencias de todo el mundo estaban acostumbradas a ver asombrosos gráficos en películas, pero hubo otra revolución de gráficos, que comenzó ese año. Sony lanzó al mercado mundial su consola de juegos Playstation (X). Hasta entonces las llamadas consolas de videojuegos solamente podían manejar gráficos 2D, pero el Playstation contenía un chip (además del CPU) de 3D acelerado por hardware capaz de dibujar 360,000 polígonos por segundo.
El año 2000 fue realmente “el año de nVidia“. En diciembre, nVidia adquirió los activos intelectuales de su alguna vez competidor 3DFX. Este es un buen recordatorio de que tan rápido cambian las cosas en la industria. ATI se estaba volviendo fuerte y Matrox había anunciado nuevos productos, pero sobre todos ellos, claramente nVidia se había convertido en el estándar para el cómputo en casa. En el 2001 nVidia continuó dominando el mercado con una competencia ocasional por parte de ATI.
Nintendo lanzó el Gamecube en septiembre de 2001, al igual que elGameboy Advance. Pero probablemente el gran evento del 2001 fue el lanzamiento de la consola Xbox de Microsoft. Con un procesador gráfico desarrollado por nVidia, disco duro, CPU Intel y más, fue diseñada para ganarles a sus principales competidores que serían el Playstation 2 y el Gamecube de Nintendo. El alguna vez tan influyente SEGA había dejado el negocio del hardware y ahora se concentraba en el software. El mundo de la cinematografía también se vio beneficiado con estos avances y se puede ver en películas como Final Fantasy: The Spirits Within, tal vez el primer intento verdadero por crear humanos realistas en una película completamente generada por computadora.
El Hardware Gráfico
Un sistema gráfico tradicional consta de cuatro componentes: procesador, unidad de procesamiento gráfico, dispositivos de entrada y dispositivos de salida. El procesador desempeña un papel central en cualquier sistema gráfico y cada uno de los demás componentes debe comunicarse en algún momento con otro, o con el procesador mediante un canal de datos.
Generalmente el dispositivo principal de salida de un sistema gráfico es un monitor de video. El tipo más común es un CRT y actualmente se incrementa el uso de los LCD. Uno de los componentes de un monitor de video CRT es el cañón de electrones; el cañón tiene un cátodo que al calentarse emite un haz de electrones (rayos catódicos) que pasa a través de los sistemas de enfoque y desviación que dirigen el haz hacia una posición específica de la pantalla que se encuentra recubierta con una película de fósforo con carga positiva, de modo que al impactar el rayo de electrones en un punto de la cubierta de fósforo esta emite luz durante una fracción de segundo.
La pantalla de video que utilizan la mayoría de las microcomputadoras se dividen en pequeños puntos. Cada uno de esos puntos se denomina pixel (picture element). Discretamente, el CRT es representado por una rejilla de líneas verticales y horizontales. A cada línea horizontal se le conoce como línea de barrido mientras que la presentación de video se denomina presentación por barrido. La calidad de una presentación por barrido se describe de acuerdo a su resolución. La resolución se determina por el número de líneas de barrido y pixeles por línea. Cuanto mayor sea la resolución más detallada resultará la imagen. Las presentaciones de baja resolución tienen cerca de 300 líneas de barrido, cada una con aproximadamente 400 pixeles. Las presentaciones de alta resolución tienen por lo menos 1000 líneas de barrido, con más de 1000 pixeles por línea.
Un pixel es la unidad mínima de representación gráfica. La resoluciónde una presentación por barrido es un indicador de su calidad gráfica y se determina por el número de pixeles por unidad de área. Cuando hablamos de mejor resolución gráfica, hablamos de usar un número mayor de líneas de barrido (horizontales) con mayor número de píxeles. Realmente, lo que sucede es que cuanto más se juntan los píxeles, es más difícil distinguir entre uno y otro píxel adyacente. Esto se debe en parte a la distancia física entre los conos de la retina del ojo humano y en parte a las condiciones visuales que dependen del entorno. Esta habilidad de discernir detalles se llama agudeza visual. Nuestra agudeza es menor por el desgaste, al envejecer, y por efectos de nuestro entorno; por ejemplo, al disminuir el contraste y brillo. La resolución y el concepto de una malla de áreas de colores son análogos a un mosaico. En tal forma de arte, un mosaico intenta representar una imagen a partir de azulejos pequeños de determinados colores y tonos. Cada azulejo intenta aproximarse en color a un área de la imagen, combinando los colores en dicho área, como refleja la siguiente imagen:
En un sistema de barrido se presenta la imagen por medio de una secuencia predefinida y cíclica. El haz de electrones que ha sido desviado por las placas de deflexión choca contra la esquina superior izquierda de la pantalla recubierta de fósforo produciendo luminiscencia en ese punto. En los monitores a color, cada punto o pixel de la pantalla está compuesto por tres pequeños puntos de fósforo: rojo, azul y verde. Iluminando estos puntos con diferentes intensidades puede obtenerse cualquier color. Este tipo de monitores tiene tres cañones de electrones que producen rayos de electrones de distintas intensidades, correspondientes a los tres colores, que pasan por la máscara de sombra colocada detrás de la pantalla de fósforo. La máscara de sombra es una placa con pequeños agujeros que aseguran que los electrones de cada uno de los tres cañones alcancen solo los fósforos del color apropiado en la pantalla. Los tres rayos pasan a través de los mismos agujeros en la máscara, pero el ángulo en que llegan es diferente para cada cañón. El espacio entre los agujeros, el espacio entre los fósforos y la colocación de los cañones está ajustado para que por ejemplo el cañón azul solamente tenga libre el camino hacia los fósforos azules. Los fósforos rojo, verde y azul para cada pixel, generalmente están alineados en una formación triangular.
Después de que el haz de electrones ha iluminado el primer punto de la pantalla, la tensión de las placas de deflexión cambia continuamente, guiando al haz de electrones sobre la línea de barrido de izquierda a derecha. Cuando se llega al final de la línea el cañón de electrones se apaga y la tensión de las placas se ajusta para desviar el haz al inicio de la segunda línea de barrido; este proceso se conoce como retorno horizontal. Se continúa repasando cada línea de barrido de la pantalla y cuando se ha llegado al extremo derecho de la última línea de barrido se ha completado un cuadro. Al final de cada cuadro el haz de electrones se apaga y regresa a la esquina superior izquierda para iniciar el cuadro siguiente; a esto se le llama retorno vertical.
El proceso de barrido es tan rápido que el ojo humano no es capaz de distinguir como se activan los puntos por separado, percibiendo la ilusión de que todos los pixeles se activan al mismo tiempo. Sin embargo, un punto de fósforo iluminado emite luz solo durante una fracción de segundo, el patrón de barrido de izquierda a derecha y de arriba hacia abajo debe repetirse varias veces por segundo. El número de veces en un segundo que el cañón de electrones dibuja un cuadro completo en la pantalla se conoce como frecuencia de refrescoy se mide en hertz (ciclos por segundo). El recíproco de la frecuencia de refresco es el tiempo transcurrido entre cada barrido completo, que es llamado tiempo de cuadro. Una frecuencia de refresco muy baja puede producir un efecto de parpadeo.
El controlador de video es un dispositivo de hardware que lee el contenido de la memoria de video y lo deposita en un buffer de video, para luego convertir la representación digital de una cadena de valores de pixeles en señales analógicas de tensión que se envían en serie a la pantalla de video. Siempre que el controlador encuentra un valor de 1 en la memoria de video, se envía una señal de alta tensión al CRT, el cual enciende el pixel correspondiente en pantalla. El controlador de video lee de la memoria de video el color del pixel a dibujar y envía la información a un convertidor digital analógico (DAC) en donde por medio de las componentes de color RGB se determina la intensidad del pixel. El controlador de video realiza una interacción secuencial a lo largo de la memoria de video, satisfaciendo la frecuencia de refresco.
Dispositivos de Entrada
El Teclado es un dispositivo para introducir texto y caracteres presionando botones (referidos como teclas), similar a una máquina de escribir. La configuración más común de teclas en la QWERTY.
El ratón un dispositivo apuntador que detecta el movimiento bidimensional relativo a su superficie de contacto.
El Trackball es un dispositivo apuntador que consiste en una esfera expuesta colocada en un armazón que detecta la rotación sobre dos ejes.
El Joystick es un dispositivo general de control que consta de dos o tres ejes que transmiten el ángulo de su movimiento en dos o tres dimensiones a la computadora.
El Gamepad es un control de juegos general que posee botones y un control de dirección que se manipulan con los dedos.
Scanner: dispositivo que analiza imágenes, texto impreso o escritura a mano y los convierte en imágenes digitales.
El Cámara Web es una cámara de video de baja resolución usada para proveer una entrada visual que puede ser fácilmente transferida por Internet.
El Lápiz óptico es un dispositivo con foto celda que, cuando se activa oprimiendo la punta contra la pantalla, devuelve a la computadora la posición del pixel iluminado en ese campo visual.
El Guante de datos es un dispositivo con sensores que detectan los movimientos de la mano y de los dedos para poner en posición
Dispositivos de salida
La impresora un dispositivo periférico que produce una copia impresa de un documento.
El monitor es dispositivo que despliega una señal de video, similar a una televisión, para proporcionar información y una interfaz con la cual interactuar.
Los Altavoces es un dispositivo que convierte señales de audio analógico en vibraciones de aire equivalentes para hacer el sonido audible.
El hardware gráfico también incluye a las tarjetas gráficas. Una tarjeta gráfica o tarjeta de video, es una tarjeta de expansión para una computadora encargada de procesar los datos provenientes de la CPU y transformarlos en información comprensible y representable en un dispositivo de salida, como un monitor o televisor. Algunas tarjetas gráficas han ofrecido funcionalidades añadidas como captura de vídeo, sintonización de TV, decodificación MPEG-2 y MPEG-4 o incluso conectores de ratón, lápiz óptico o joystick.
El Software Gráfico
Una representación gráfica consisten en un conjunto de pixeles que se obtiene a partir de una idea de más alto nivel; como puede ser la descripción de la gráfica en términos de líneas, arcos, colores etc. o incluso en términos de objetos tridimensionales, puntos de vista e iluminación.
El cómo llegar de estas descripciones de alto nivel al conjunto de pixeles final es algo de lo que las diferentes partes del sistema se deberán encargar; por lo general el programador dispone de una serie de librerías de programación gráfica que le permiten escribir aplicaciones sin tener que llegar a conocer en detalle el hardware sobre el que se ejecutará su código, y sin tener que escribir desde el principio miles de procedimientos que, además, distan de ser triviales. Ejemplos de estas librerías podrían son OpenGL de SGI y Direct3Dde Microsoft.
Por lo general, estas librerías permiten trabajar creando estructuras en un sistema de coordenadas local, integrar estas estructuras en una escena más compleja que utiliza un sistema de coordenadas global o "de mundo". De algún modo, el software transformará estas coordenadas a unas coordenadas de dispositivo normalizado (independiente de las características físicas del dispositivo real) y en un último paso estas se ajustarán al rango de salida del dispositivo final.
Los bloques de construcción básicos que ofrece una librería se conocen como "primitivas" y pueden incluir desde un mínimo de líneas, círculos, caracteres, etc. en dos dimensiones hasta mallas de polígonos tridimensionales, definiciones de luces, etc.

OpenGL(Open Graphics Library) es una API portable para desarrollar aplicaciones gráficas interactivas 2D y 3D. Fue desarrollada por Silicon Graphics y actualmente es un estándar abierto controlado por diversas compañías. Su mayor ventaja es su portabilidad, es decir que puede ser usada en una gran cantidad de plataformas de hardware, desde dispositivos móviles hasta súper computadoras, además de distintos sistemas operativos y tarjetas aceleradoras 3D. Es relativamente fácil de usar.
Algunas de las operaciones que se pueden realizar con OpenGL son las siguientes:
Modelado de figuras a partir de primitivas básicas, mediante la creación de descripciones geométricas de los objetos (puntos, líneas, polígonos y mapas de bits).
Situar los objetos en el espacio de una escena tridimensional y seleccionar el punto de vista desde el que se quiere observar.
Determinar el color de los objetos. El color puede asignarse a cada pixel, o calcularse a partir de las condiciones de iluminación o asignarse por medio de una textura mapeada sobre los objetos.
Convertir la representación matemática de los objetos y la información de color y textura asociada, en pixeles de la pantalla, en una imagen virtual tridimensional.
Direct3D es parte de DirectX, una API propiedad de Microsoft disponible tanto en los sistemas Windows de 32 y 64 bits, como para sus consolas Xbox y Xbox 360 para la programación de gráficos 3D. El objetivo de esta API es facilitar el manejo y trazado de entidades gráficas elementales, como líneas, polígonos y texturas, en cualquier aplicación que despliegue gráfico en 3D, así como efectuar de forma transparente transformaciones geométricas sobre dichas entidades. Direct3D provee también una interfaz transparente con el hardware de aceleración gráfica.