Blogia
wesly

El nuevo lenguaje de programación de NVIDIA La compañía lanza este nuevo avance que hará que programar shaders sea más sencillo.El nuevo lenguaje de programación de NVIDIA La compañía lanza este nuevo avance qu

Cg. Las siglas del futuro del desarrollo de juegos en 3D. O al menos eso dan a entender en NVIDIA cuando hablan de su nuevo invento. No, no es una tarjeta gráfica, ni un chipset para consola ni unos nuevos drivers Detonator: es un lenguaje de programación de alto nivel.

Y, ¿por qué un nuevo lenguaje de programación? Pues por la misma razón que han ido naciendo otros lenguajes. Al principio, existía el binario, de ahí al ensamblador y luego el C, Fortran, Basic, Cobol, C++, Eiffel, Delphi, Java, C#,... Simplemente, para hacerle la vida más fácil al programador. Todos nos quejamos de que todavía no se aprovechen las características del T&L o de los pixel y vertex shaders y sabemos que es porque cuando un juego está en pleno desarrollo, es realmente difícil replantearse todo el motor gráfico porque ha salido una tarjeta gráfica nueva que implementa Displacement Mapping, por ejemplo.

Un sombrado phong como se hacía hasta ahora
Un sombrado phong como se hacía hasta ahora / noticias
Con los shaders pasa algo parecido: son programables, pero el crear un efecto nuevo combinando pixel y vertex shaders es bastante críptico, debido al lenguaje de programación usado.

Por ello nace Cg, intentando ser lo que fue el C para los programadores de los primeros tiempos de los ordenadores: un lenguaje de alto nivel, más cerca del lenguaje humano que del de la máquina, con el objetivo de simplificar al máximo la programación de los shaders de las tarjetas DX8. Fijaos que no hemos dicho tarjetas de NVIDIA, sino DX8, por la sencilla razón de que el código creado va a funcionar en cualquier tarjeta compatible con la versión 8 de las librerías de Microsoft, siempre que el fabricante haga las modificaciones pertinentes en dicho código, algo sencillo por la naturaleza de código abierto que va a tener el Cg. Eso significa que ATI podría mandar su propia versión del Cg a programadores y clientes de sus tarjetas.

El mismo sombreado Phong de antes, con Cg
El mismo sombreado Phong de antes, con Cg / noticias
La versión que se acaba de lanzar es la 1.0 beta (Windows y Linux), e incluye los siguientes componentes:

Cg Compiler Public Beta 1.0
- Vertex: DirectX 8 and OpenGL 1.4
- Pixel: DirectX 8
Cg v1 language specification
Cg Standard Library
Cg Browser
Cg Users Manual
Cg Shaders (Various pre-written programs)

En NVIDIA están trabajando ya en la 2.0, que se estima saldrá simultáneamente con el NV30 y cuyos componentes serán:

Cg Compiler 1.0 Gold
- Vertex: DirectX 9 and OpenGL-NV30
- Pixel: DirectX 9 and OpenGL-NV30
- CgFX Parsing
Cg Browser 5.0 (CgFX enabled)
- More Shaders
Cg Courseware
Max CgFX plugin
Maya CgFX plugin
XSI CgFX plugin

Merece la pena visitar www.cgshaders.org, la página nacida a raíz de este lanzamiento, y que ya incluye numerosos mensajes en sus foros y varios artículos interesantes.

No hay duda de que este lenguaje era algo que tenía que surgir tarde o temprano. Sólo esperemos que no surjan problemas entre tarjetas para que no haya que lanzar una versión del Cg para cada modelo que salga. Decir también que esta novedad es compatible con el chip gráfico de Xbox, por lo que se espera que los programadores tengan muchas más facilidades, si cabía, al programar en la consola de Microsoft.

0 comentarios