Se les llama gráficos 3D en tiempo real a aquellos que se generan con la suficiente velocidad como para dar una velocidad de movimiento fluida. A día de hoy todos los ordenadores y móviles tienen esa capacidad, pero esto no fue así hasta mediados de los años 90 que se empezaron a estandarizar en videojuegos. Más en concreto por el auge en máquinas recreativas por los sistemas Model de SEGA y en consolas por el auge de PlayStation y Nintendo64. Hoy os vamos a recordar la primera tarjeta gráfica para videojuegos en 3D de la historia para PC, la 3Dfx Voodoo Graphics.
A día de hoy el concepto de tarjeta 3D ha desaparecido al verse integrado dentro de la tarjeta gráfica, pero en sus inicios ambos componentes estaban separados y, por tanto, necesitábamos dos tarjetas: una para 2D y otra para 3D. Aunque todas han heredado la forma de funcionar base del Reality Engine de Silicon Graphics con mejoras y añadidos con el tiempo, la verdad es que los primeros modelos que salieron al mercado eran deficientes en rendimiento y recibieron el nombre de desaceleradoras 3D.
La historia de la 3Dfx Voodoo Graphics
En 1994, Gary Tarolli, Scott Sellers y Ross Smith fundaron una compañía llamada 3Dfx Interactive. Una empresa emergente que tuvo muy poco tiempo de vida, pero que marco el mundo de los videojuegos para PC durante la segunda mitad de los 90. Una serie de malas decisiones y no saber leer el mercado les llevaron a la bancarrota, no obstante tienen el honor de crear la primera tarjeta 3D para videojuegos, la llamada Voodoo Graphics, la cual es también llamada como SST-1 y que gracias a su poderosa y fácil de programar API gráfica Glide acabo por dominar el mercado de los juegos 3D para PC como lo había hecho también la Sound Blaster con el sonido.
Los orígenes de la Voodoo Graphics los podemos encontrar en el Iris Indigo de Silicon Graphics. Una estación de trabajo de bajo coste en la que había trabajado, Gary Tarolli. Su particularidad es que carecía del hardware para ejecutar la parte frontal del pipeline 3D. Es decir, le dejaba al procesador el trabajo de calcular la geometría de la escena, pero el trabajo de la rasterización, texturizado y dibujado en pantalla corría a cargo de dicha tarjeta. Principio que aplicaron con el primer producto de 3Dfx.
Al mismo tiempo, otro de los fundadores, Scott Settlers, creo una empresa llamada Pellucid que no tuvo mucho éxito y cuyo objetivo era crear un sistema gráfico que le permitiese a un PC tener el mimo nivel que una estación de trabajo de SGI, el resultado fue una doble tarjeta bautizada como Irisvision y tristemente paso muy desapercibida por la falta de software y de apoyos. Frustrado, el propio Settlers reunió a Tarolli y Smith para fundar 3Dfx Interactive en 1994.
Los primeros pasos en los árcades
Por aquel entonces los gráficos 3D en PC no eran muy populares, como mucho teníamos a DOOM y sus clones que se basaban en el uso de la técnica de Ray Casting con vóxeles o píxeles volumétricos, pero nada de usar gráficos en 3D basados en construir los modelos con vértices. Esto se debía a que la potencia en cálculos de coma flotante de procesadores como el 486 era limitada. Las estaciones de trabajo de Silicon Graphics usaban las CPU de la marca MIPS, ya desaparecida actualmente. Los cuales adoptarían también SONY y Nintendo en sus primeras consolas con soporte para gráficos tridimensionales.
Debido a que en su proyecto no podía copiar el OpenGL o IrisGL en el que se basaba el hardware de la Iris Índigo. Por lo que realizaron una copia de la API modificada con algunas funciones suprimidas para ver como un Pentium a 90 MHz podía ejecutar la geometría de la escena, la cual no se ejecutaría en la futura Voodoo Graphics. Obtuvieron unos resultados más que satisfactorios, con una media de 300K triángulos por segundo. A la par de las máquinas árcade de la época y por encima de PlayStation y Nintendo64.
El objetivo era lanzar la SST-1 o Voodoo Graphics primero en los salones recreativos. En ellos había empezado a asomar en una competencia entre SEGA y Namco que realmente era una competencia encubierta entre Martin Marrieta (más tarde Lockhead Martin) y Evans & Sutherland. Por lo que 3Dfx vía la posibilidad de entrar en dicho mercado, el cual fue su objetivo inicial.
La entrada en el mundo del PC
La suerte de 3Dfx cambio gracias a una carambola, durante años el precio de la memoria RAM se encontraba por las nubes por el hecho que en plena era MS-DOS no era habitual ver configuraciones de memoria en grandes capacidades. La paradoja era que era muy barata de fabricar, pero al no existir la demanda por parte de las aplicaciones, los fabricantes la mantenían a sobreprecio. Lo cual también afectaba al resto del hardware.
La llegada de Windows 95 y las altas exigencias de RAM para la época bajaron en picado el precio de la EDO RAM, la cual era usada por la Voodoo Graphics e hizo que por costes se pudiese usar para PC. Sin embargo, era necesario adaptar los juegos para la API Glide para que pudieran usarse en todo su esplendor. El primero en hacerlo fue el primer Tomb Raider y lo seguiría una versión adaptada de Quake. Gracias a la Voodoo Graphics pasamos de ver gráficos pixelados a 320 x 240 píxeles a 640 x 480. Es decir, un aumento de cuatro veces la resolución y con filtrado de texturas y otros efectos.
Tal fue el impacto y el éxito que empezaron a volar de las tiendas y el resto de compañías empezaron a crear parches y actualizaciones de sus juegos. El PC se convirtió a partir de ese punto en el rey tecnológico en cuanto a los juegos, demostrando estar años por delante de las consolas en lo que a tecnología gráfica se refiere.
Arquitectura de la Voodoo Graphics
La arquitectura de la Voodoo Graphics la podéis ver en el diagrama de abajo, se basa en dos chips distintos llamados FBI y TREX y la memoria EDO RAM se encuentra dividida en dos pozos distintos. En el primero se dibuja tanto el búfer de imagen como el de profundidad y en el segundo se encuentran las texturas, que son imágenes que se usan para colocarse encima de los objetos para representar a los materiales de los que están compuestos.
Implementaba una versión limitada del pipeline 3D y requería de una tarjeta SVGA adicional para funcionar, ambas se interconectaban entre sí a través de un cable VGA a VGA y la Voodoo Graphics hacía bypass excepto con las aplicaciones Glide o MiniGL (una versión recortada de OpenGL), momento en el cual tomaba el control. Eso sí, tenía una serie de limitaciones de resolución, ya que solo podía emitir imágenes a 640 x 480 u 800 x 600 píxeles a pantalla completa. Dado que carecía de los mecanismos necesarios para hacer un búfer de imagen compuesto.
¿Cómo funcionaba?
En cada fotograma del juego, la Voodoo Graphics realizaba de forma ordenada y reiterativa los siguientes pasos:
- El procesador procesa la geometría de la escena y crea una lista de pantalla con todo lo que la Voodoo Graphics tiene que hacer con los diferentes triángulos que la componen. Dicha lista es enviada a través del puerto PCI, el cual no debe confundirse con el actual PCI Express.
- La lista de triángulos es recibida al vuelo por el chip FBI, el cual realiza el proceso de rasterización, que es convertir la información vectorial 3D en grupos de píxeles en un espacio 2D para que el TREX los pueda procesar como tales.
- Una vez el FBI ha creado los grupos de píxeles, toca enviarlos al TREX, quien usará su memoria para texturas para darles color a cada objeto de la forma correcta. Este chip también realizará el filtrado de texturas, así como algún que otro proceso de mezclado de colores.
- En el último paso, el TREX devuelve los triángulos en píxeles ya texturizados, al FBI, el cual se encargará de ordenarlos para escribirlos en el búfer de imagen para su posterior envió al monitor.
Ya para terminar, ¿tuviste esta tarjeta 3D o alguna de sus sucesoras en tu PC de antaño? Dejádnoslo en los comentarios y comparte tus recuerdos.