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

Herramientas para programar shaders (I) - Shader Maker

Las entregas de los meses previos, en dos series llamadas Tipos de shaders y Lenguajes para programar shaders, han servido para establecer el contexto en el que se utilizan los shaders, ofreciendo una visión general de esta tecnología y los conceptos teóricos fundamentales para comprenderla. El objetivo de esta nueva serie es complementar a las anteriores, haciendo una evaluación de algunas herramientas que pueden utilizarse para la programación de shaders y sirve de antesala a las entregas finales en las que se brindarán algunos ejemplos prácticos.

Cada tipo de trabajo requiere sus herramientas específicas, no siendo en este sentido una excepción el desarrollo de shaders. Un diseñador web precisará un editor de XHTML/CSS, un programador OpenGL un entorno de desarrollo C/C++ y, análogamente, un creador de shaders necesitará una herramienta específica para este fin.

Es cierto que podrían utilizarse DirectX, OpenGL o incluso O3D para implementar shaders, pero la visualización de los efectos requiere la escritura de una cantidad importante de código adicional que nada tiene que ver con el shader en sí, especialmente si se quiere tener la posibilidad de probarlos sobre distintas geometrías, con diversas luces y con la capacidad para rotar, hacer zoom, mover las luces, etc.

Existen multitud de herramientas específicas para el diseño de shaders, procedentes tanto de los fabricantes de hardware como de terceras partes. La mayor parte de ellas son gratuitas. Shader Maker es una herramienta desarrollada por el CGC (Computer Graphics Clausthal), un grupo de investigación de la University of Clausthal (Alemania), desde cuyo sitio web puede descargarse gratuitamente. Para poder utilizarla es necesario tener instalados unos controladores de vídeo con soporte para OpenGL actualizados, especialmente si se quiere utilizar la programación de geometry shaders. El programa no necesita instalación, basta con extraer los archivos en un directorio y ejecutarlo, incluye todo lo necesario salvo los citados controladores que serán específicos para cada hardware.

Entorno de desarrollo de ShaderMaker

Como puede apreciarse en la figura superior, el programa consta de dos ventanas independientes: una en la que se visualiza la escena, con numerosos controles que permiten ajustar la geometría a mostrar, iluminación, materiales, etc., y otra (derecha) en la que se edita el código de los diferentes tipos de shaders. Éstos deberán escribirse en OGLSL, al ser una herramienta específica para OpenGL.

Junto con la herramienta se entregan algunos shaders de ejemplo, como el GS que aparece en la figura anterior y que genera dígitos de siete segmentos a partir de la geometría original. La textura pétrea la aplica un PS. Desarrollar un shader es tan fácil como escribir el código, o modificar uno de los existentes, y pulsar el botón de compilación. El resultado aparece de inmediato en la ventana de visualización.

Una vez que los shaders creados con Shader Maker producen el efecto deseado, no hay más que tomar el código e importarlo en el proyecto OpenGL donde se deseen utilizar. Para ello se recurriría al procedimiento descrito en la entrada dedicada a OGLSL publicada en el mes de marzo.


Publicado el 17/5/2010

Curso de shaders

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