Histórico

Gráficos en tres dimensiones

Una de las tecnologías que con mayor fuerza va a impulsar a la industria multimedia va a ser los gráficos tridimensionales. En este artículo se analizan las soluciones, tanto software como hardware, actualmente disponibles.

Hoy en día, uno de los sectores que está experimentando un mayor crecimiento es el del multimedia. En cualquier medio de comunicación, esté o no relacionado con la informática, es fácil encontrar referencias a la tecnología multimedia y a los beneficios que dichas técnicas van a reportar al usuario de ordenadores.

La revolución multimedia comenzó, en el mundo del PC, con la introducción en el mercado de diversos modelos de tarjetas de sonido y, posteriormente, con el uso casi generalizado del CD-ROM. Sin embargo, prácticamente hasta nuestros días, el gran olvidado de esta revolución han sido los gráficos por ordenador y, más concretamente, los gráficos en tres dimensiones.

Estado actual de los gráficos en el PC

Todos los ordenadores personales que se venden en la actualidad disponen de una tarjeta gráfica de las denominadas SuperVGA. Esta denominación, que tiene su origen en la VGA originalmente desarrollada por IBM para sus equipos PS/2, hace referencia a los modos con más resolución y mayor número de colores que son capaces de mostrar las tarjetas fabricadas por multitud de fabricantes y que son compatibles con la VGA del gigante azul. Todos estos adaptadores gráficos son eficientes, unos más y otros menos, acelerando la gestión de gráficos en dos dimensiones en entornos como Windows 3.1, Windows 95 y NT, OS/2 Warp, etc.

En la mayoría de los casos esta aceleración se basa en el uso de hardware especializado, cuya función es liberar al procesador del PC de tareas como, por ejemplo, la copia de bloques de la memoria de vídeo de una a otra zona de la pantalla, la representación de un cursor, el dibujo de líneas y curvas, el relleno de zonas de pantalla con un determinado color, etc. Generalmente, las funciones soportadas por este tipo de aceleradores están íntimamente relacionadas con las operaciones que es posible realizar mediante las API de un determinado sistema operativo, siendo Windows el más evidente.

Por otra parte, diversos modelos de tarjetas gráficas soportan la aceleración de vídeo digital mediante una circuitería especial, que usa algoritmos de interpolación, y aumenta el tamaño al cual fue digitalizada la secuencia de vídeo. Sin embargo, la aceleración por hardware de los gráficos tridimensionales sólo se la podían permitir los usuarios con alto poder adquisitivo debido a su elevado coste. En la actualidad, están apareciendo equipos destinados al mercado de consumo, algunos de los cuales van a ser comentados en el presente artículo.

¿Por qué es necesaria la aceleración hardware?

El principal problema a la hora de representar, en la pantalla de un PC, un modelo en tres dimensiones es cómo proyectar las coordenadas espaciales del objeto sobre una superficie plana como es la pantalla. Para realizar esta tarea existen diversas ecuaciones cuya función es calcular las coordenadas bidimensionales, correspondientes a un punto representado mediante tres coordenadas (X, Y, Z). Para mostrar en la pantalla este punto debemos tener en cuenta, como es lógico, la posición del observador respecto al objeto a representar, la distancia y el punto de vista.

Los cálculos anteriormente mencionados implican la realización de muchas operaciones para el cálculo de cada punto de los objetos tridimensionales a representar. Además, en estas operaciones debemos utilizar funciones trigonométricas como, por ejemplo, el seno y el coseno.

Los lectores con conocimientos de programación saben que, incluso utilizando lenguaje Ensamblador, es muy difícil obtener secuencias tridimensionales con movimiento en tiempo real, debido al elevado uso de procesador que consumen los cálculos con coma flotante necesarios para la proyección de objetos en 3D.

Si, además, deseamos crear escenas con calidad fotorrealística es preciso aplicar texturas (imágenes bitmap o de mapas de bits) sobre cada uno de los polígonos que forman los objetos. Por lo tanto, se nos presentan los siguientes problemas: cómo implementar de una manera eficiente las transformaciones que deben ser aplicadas sobre los elementos geométricos que forman el mundo 3D que deseamos representar (proyecciones, traslaciones, rotaciones, etc), cómo eliminar las caras ocultas que no son visibles por el observador y, finalmente, cómo aplicar texturas y modelos de luz que ofrezcan calidad fotográfica.

Desde hace ya bastantes años, existen ordenadores especializados en este tipo de funciones, principalmente estaciones de trabajo de fabricantes como Silicon Graphics, Sun, Hewlett-Packard, etc. Sin embargo, la creciente potencia de los compatibles PC, les hace cada día más aptos para trabajar con gráficos tridimensionales, incluso a nivel profesional.

APIs 3D

Aunque no es la solución ideal, existen diversas APIs (Application Program Interface, Interfaz para Programas de Aplicación) que incorporan funciones altamente optimizadas para la representación de gráficos en tres dimensiones. Podemos dividir a estas APIs en dos tipos: profesionales y orientadas al desarrollo de juegos y aplicaciones multimedia en general.

Entre las profesionales, la más conocida, sin duda alguna, es OpenGL. Esta librería de funciones fue concebida, originariamente, para las máquinas Silicon Graphics, las cuales disponen de elementos hardware para renderizar gráficos en tres dimensiones. Sin embargo, cuando Microsoft estaba desarrollando su sistema operativo Windows NT, adquirió las licencias oportunas para portar OpenGL a dicho sistema y hacerla parte integrante de Windows NT.

Por otro lado, las APIs orientadas a juegos y aplicaciones multimedia sacrifican parte de la precisión de que hacen gala sus homónimas de carácter profesional, para conseguir la representación de gráficos tridimensionales en tiempo real. Actualmente, existen diversos proveedores de APIs de este tipo, alcanzando muchas de ellas una velocidad de alrededor de 60.000 polígonos por segundo, en una máquina equipada con un microprocesador Pentium a 90 MHz. Muchos de estos productos soportan el uso de aceleración hardware. GLINT 300SX de 3D Labs es uno de los chips aceleradores con un soporte más amplio.

A continuación, comentamos las API más conocidas, tanto las profesionales como las orientadas a entretenimiento.

BRender. API para gráficos tridimensionales diseñada por la compañía británica Argonaut Software. Esta librería soporta la aceleración mediante hardware si se dispone de una tarjeta basada en el chip GLINT de 3D Labs. Actualmente, circulan rumores acerca de que un importante fabricante de chips, muy probablemente Cirrus Logic, está implementando en un chip gran parte de esta API.

RenderWare. Se trata de un producto desarrollado por la empresa Criterion Software, propiedad de Canon. Esta soporta multitud de sistemas operativos y plataformas hardware, encontrándose disponible en la actualidad para DOS en modo protegido mediante el uso de extensores de DOS, Windows 3.1 y Windows 95, Windows NT sobre plataformas Intel y PowerPC, Apple Macintosh en versiones 68000 y PowerPC, estaciones de trabajo Sun bajo UNIX y algunos modelos de consolas de videojuegos.

Intel 3DR. Esta es una de las API que, en principio, puede resultar más atractiva para los desarrolladores de software para PC, ya que ha sido desarrollada por la propia Intel. El paquete se encuentra dividido en dos partes, una de ellas encargada de procesar todas las transformaciones geométricas y, la otra, realiza el render propiamente dicho. Actualmente, está disponible para Windows y soporta el uso de texturas, buffer Z, y efectos de luz.

OpenGL. Esta API, de carácter profesional, se encuentra integrada

Revista Digital

Revistas Digitales

DealerWorld Digital

 



Otros Contenidos

Registro:

Eventos: