Logo de Torre de Babel
Portada Libros Diseño web Artículos Glosario RSS
Buscar

Herramientas para programar shaders (y III) - FX Composer

La tercera herramienta que me ha parecido interesante, ya que complementa en cierta manera a las anteriores, es nVidia FX Composer. Como sería de esperar, al ser un programa desarrollado por nVidia, el lenguaje empleado para codificar los shaders no es OGLSL, siendo posible elegir entre HLSL, Cg y COLLADA Fx Cg.

Lo más interesante de este programa es que, como puede verse en la figura inferior, permite comprobar los shaders sobre DirectX 9, DirectX 10 y OpenGL. No hay más que abrir la lista y seleccionar la API, obteniéndose la visualización del efecto de manera inmediata. De esta forma es posible diseñar un mismo conjunto de shaders para DirectX y OpenGL, sin que importe el lenguaje de shading empleado originalmente.

Entorno de desarrollo de FX Composer

Salvo por las opciones ya citadas, que permiten elegir el lenguaje de shading y el API sobre el que se ejecutarán los shaders, FX Composer no se diferencia demasiado de ShaderDesigner. Hay un editor de código para escribir los shaders, una ventana de propiedades, un panel de previsualización y una serie de funciones que permiten establecer la geometría sobre la que se probarán los efectos, luces, texturas, etc.

Otra posibilidad interesante de este programa es la de convertir los shaders de un lenguaje a otro, por ejemplo de HLSL a Cg, con una simple opción de menú. También es capaz de analizar el rendimiento de los shaders en distintas configuraciones hardware.

Tras la introducción de estas tres herramientas, la última mini-serie de esta serie de artículos sobre programación de shaders estará dedicada al desarrollo de algunos ejemplos sencillos, diseñando vertex shaders, pixel shaders y geometry shaders. Para ello se recurrirá a la herramienta Shader Maker descrita en una entrada previa y se utilizará el lenguaje OGLSL.


Publicado el 10/6/2010

Curso de shaders

Torre de Babel - Francisco Charte Ojeda - Desde 1997 en la Web