Friday, November 14, 2008

Los desarrolladores de juegos predicen la muerte de DirectX y de las GPUs

Tim Sweeney, CEO de la empresa de desarrollo de juegos Epic Games, dijo que las placas gráficas 3D, usadas para acelerar la generación de escenas tridimensionales en juegos de video, podrían desaparecer en los próximos años, al igual que las APIs destinadas al manejo de gráficos (como DirectX y OpenGL). Según el directivo, se volvería a la renderización por software, reformulando en su totalidad a la industria de gráficos computarizados.

“En la próxima generación escribiremos el 100 por ciento de nuestro código de renderización en un lenguaje de programación real”, dijo Tim Sweeney, CEO de la empresa Epic Games, en una entrevista publicada por el sitio web Ars Technica. “No usaremos DirectX ni OpenGL, sino un lenguaje como C++ o CUDA. Un verdadero lenguaje de programación, no restringido por las extrañas restricciones de las APIs. Si luego corre sobre hardware de Nvidia, de Intel o de ATI es una cuestión aparte. Podrá correrse en cualquier hardware capaz de ejecutar código de propósito general en forma eficiente”.

Es fácil entender por qué los creadores de juegos de video de la vieja escuela, tales como John Carmack de id Software o Tim Sweeney de Epic Games, exigen la eliminación de las limitaciones de las APIs. Dado que tanto Carmack como Sweeney tienen experiencia extensiva en renderización por software en general, esto les daría una enorme ventaja competitiva sobre sus rivales, que están acostumbrados a trabajar con APIs comunes. Más aún, teniendo una profunda experiencia en programación de gráficos sin APIs que los limiten, los desarrolladores de juegos podrán crear efectos más realistas. Finalmente, con renderización por software, los programadores no deberán preocuparse por las peculiaridades de cada chip gráfico existente en el mercado.

Según Sweeney, no hay necesidad de APIs ahora que las GPUs, tales como la ATI Radeon HD 4000 o la Nvidia GeForce GTX 200, son mucho más que sólo un conjunto de coprocesadores de propósito específico. Y habrá menos necesidad aún de APIs cuando surjan nuevas generaciones de procesadores gráficos, como por ejemplo Intel Larrabee.

“Ahora que se cuenta con shaders completamente programables, la idea de dividir una escena en triángulos que deben renderizarse en un cierto orden sobre un gran buffer de cuadros usando características de rasterización de función fija es realmente un anacronismo”, agregó Sweeney. “Con todo ese hardware de propósito general por debajo, ¿por qué querría alguien renderizar escenas de esa forma cuando se tienen posibilidades disponibles más interesantes?”.

Los gráficos modernos 3D para juegos de video han dado varios pasos revolucionarios: la renderización por software a principios de los 90; la renderización de función fija de 8 bits a fines de los 90 ó principios de 2000 (DirectX 6 – DirectX 8) y finalmente los pipelines de rendering programables (DirectX 9, DirectX 10, DirectX 11). Sweeney cree que en el futuro no habrá lugar para las APIs como herramienta de programación para las GPUs.

Más allá de todos los desafíos que los desarrolladores de software deberán enfrentar para crear títulos de alta calidad, queda por verse si las nuevas estrategias son realmente más eficientes. Incluso Sweeney, que es un declarado defensor del rendering por software, admite que si los costos de desarrollo se incrementan significativamente, las nuevas estrategias no se volverán populares.

“Si cuesta U$S 10 millones desarrollar un juego con la tecnología actual, y desarrollarlo para un futuro chip cuesta U$S 30 millones, probablemente resultará inviable. Es por eso que necesitamos modelos de programación fáciles y simples, que puedan escalar a múltiples núcleos y threads”, concluyó Sweeney.

No comments: