La carrera por llevar la aceleración 3D al mercado de consumo general en PC comenzó en los años 90. Fue la extinta 3DFX la que logró abrir el camino con su Voodoo, y con Voodoo 2 se convirtió en la reina del 3D del momento. NVIDIA no tardó en plantarle cara con las Riva TNT y TNT 2, pero sin duda fue la NVIDIA GeForce 256 la que consiguió dar un golpe de autoridad tan grande que marcó el principio del fin para 3DFX.
Podemos decir que la GeForce 256 fue la primera GPU de verdad porque fue la primera de su clase que se ocupó de forma plena de tareas que hasta entonces se procesaban en la CPU, o en su defecto necesitaban hardware adicional, lo que mejoraba el rendimiento pero obligaba a gastar más dinero. Esas tareas se conocen como transformación e iluminación, o T&L por sus siglas en inglés.
La GeForce 256 fue la primera GPU que se ocupó de las tareas de transformación e iluminación porque contaba con un motor dedicado para ello. Estas operaciones no se realizaban por software, cosa que sí era posible en otras tarjetas gráficas que carecían de dicho motor a costa de reducir enormemente el rendimiento, sino que se aceleraban en ese motor dedicado y exclusivo que traía dicha tarjeta gráfica.
Qué era T&L y por qué era tan importante
Podemos considerarlos como los dos primeros pasos de los cuatro más importantes que se dan en el pipeline de un núcleo gráfico. Son muy intensivos en términos de computación, y necesitan de la ejecución de instrucciones matemáticas muy precisas. Representan una carga muy grande, y ejecutarla a través de la CPU no era para nada eficiente.
Bajo una definición sencilla y fácil de entender, ambos agrupan el proceso de describir los datos 3D de elementos y objetos presentes en diferentes escenarios y fotogramas de referencia, creando lo que se conoce como «espacios», divididos en espacios del mundo, espacios visuales y espacios de pantalla. Cada uno de esos espacios es ideal para la realización de una o más operaciones que se deben realizar cuando se crea una imagen en 3D.
Por ejemplo, el espacio del mundo es el que mantiene todos los objetos 3D que son parte de ese mundo 3D, mientras que el mundo visual es el que se utiliza para la iluminación y de eliminación. El espacio de pantalla es el que se utiliza para almacenar la escena en el frame buffer. Todos ellos utilizan diferentes sistemas de coordinación, así que los datos 3D se deben convertir o transformar de un espacio a otro conforme se mueven a través del pipeline gráfico.
Pues bien, ahí es donde entra en juego el motor de transformación, que se ocupa de realizar todas las operaciones matemáticas necesarias para completar todos los ciclos de transformación necesarios. Como he dicho, esto antes se realizaba a través de la CPU.
El motor de transformación convierte datos 3D de un fotograma de referencia a otro fotograma de referencia, adaptando todos los datos a la vista actual antes de continuar con el siguiente paso, que es el de la iluminación. Esto es imprescindible durante el proceso de redibujado de cada escena. Una vez terminado se procede a aplicar la iluminación, que es un paso fundamental para conseguir una imagen 3D de calidad altamente realista.
El motor de iluminación se ocupa del set de operaciones matemáticas que debe ejecutar en cada momento para trabajar con este efecto. Está especializado en esta tarea, y puede calcular los vectores de distancia de fuentes de luz de objetos en una escena 3D, así como los vectores de distancia desde esos objetos hasta la cámara del espectador. Un vector contiene información sobre la dirección y la distancia, de ahí su importancia.
Con este motor especializado también es posible separar la información de la longitud y la distancia de la información de la dirección, ya que esta separación simplifica el trabajo a realizar en futuros pasos dentro del pipeline 3D de la GPU. Todos los cálculos de iluminación se utilizaban en aquél momento para la iluminación de vértices, y también para crear otros efectos importantes, como niebla más realista, que se apoyaban en la distancia entre la cámara y el objeto, y no solo en los valores Z del objeto.
La GeForce 256 marcó una nueva era
He hizo posible un gran salto en calidad gráfica y rendimiento gracias a la integración de esos motores especializados en transformación e iluminación. Fue una de las evoluciones más importantes de finales de los años noventa en el mundo de la aceleración 3D, aunque la migración de las funciones T&L de la CPU a la GPU llevó tiempo.
Su impacto fue tan grande que, para evitar que sus tarjetas gráficas parecieran obsoletas, aquellos que no tenían una GPU con T&L por hardware dieron soporte a esta función por software. Fue una mala idea, porque aunque hacía que juegos que requerían de dicha tecnología funcionasen el rendimiento era terriblemente malo. Sería como intentar ejecutar hoy trazado de rayos acelerado por software, una mala idea.
La introducción de este avance a nivel de hardware fue clave para que NVIDIA consiguiera derrotar a todos sus rivales en el sector de la aceleración 3D, incluida la por entonces todopoderosa 3DFX, que no supo jugar sus cartas y no solo acabó perdiendo la guerra, sino que fue comprada por NVIDIA. Sin la GeForce 256 la compañía de Jensen Huang no habría llegado a convertirse en el gigante verde que conocemos hoy.
El tiempo no pasa en balde, y hoy las especificaciones de la GeForce 256 son las propias de una tarjeta gráfica obsoleta, pero en su momento fue un auténtico objeto de deseo, y una tarjeta gráfica revolucionaria. Para cerrar el artículo os dejo un resumen con sus especificaciones completas, incluyendo el precio de venta:
- Núcleo NV10 fabricado en el nodo de 220 nm.
- 17 millones de transistores.
- 4 sombreadores de píxeles.
- 4 unidades de texturizado.
- 4 unidades de rasterizado.
- Bus de 128 bits o de 64 bits, según versión.
- 32 MB de memoria SDR o DDR, según versión.
- 4.800 GB/s de ancho de banda la versión con DDR y bus de 128 bits, 1.144 GB/s la versión con SDR y bus de 64 bits.
- GPU a 120 MHz.
- Interfaz AGP 4x.
- TDP de 50 vatios.
- La versión con memoria DDR tuvo un precio de lanzamiento de 279 dólares.