Glsl

Solo disponible en BuenasTareas
  • Páginas : 11 (2646 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de octubre de 2010
Leer documento completo
Vista previa del texto
    GLSL SHADERS HOW TO
               GNU/LINUX 

  OPENGL 2.0

MIGUEL JOSÉ GARCÍA CORCHERO GREENBITE@GMAIL.COM

1

INDICE
1. Introducción a OpenGL y su pipeline de rendering ........................................................ 3 2. Que es un Shader y como funciona ............................................................................... 5 3. Puesta en marcha de GLSL........................................................................................... 6 4. Carga de Shaders .......................................................................................................... 7 4.1. Carga ...................................................................................................................... 7 4.2. Obtener información............................................................................................... 8 4.3. Descarga ................................................................................................................ 8 5. Aplicación de Shaders .................................................................................................. 9 5.1. Usar un Shader...................................................................................................... 9 5.2. Usando variables Uniforms .................................................................................. 10 5.3. Usando texturas ................................................................................................... 10 5.4. Usando Vertex Attributes...................................................................................... 11 6. Desarrollo con GLEW ................................................................................................. 13 6.1. Instalando librerías ............................................................................................... 13 6.2. Programación ....................................................................................................... 13 6.3.Compilación .......................................................................................................... 13 7. Programación de Shaders ........................................................................................... 14 8. Ejemplo completo ........................................................................................................ 15 9. Bibliografía.................................................................................................................. 16

2

1. Introducción a OpenGL y su pipeline de rendering
OpenGL esta diseñado como una maquina de estados y los gráficos se generan mediante la computación de una serie de etapas. Este conjunto de etapas y las conexiones que existen entre ellas es el llamado pipeline de rendering. Un esquema muysimplificado del pipeline predefinido por en OpenGL (el llamado fixed pipeline) es el siguiente:

Antes de que se pudieran usar funciones programables en el pipeline de rendering, los desarrolladores tenían que usar las funciones predefinidas. La etapa predefinida de vértices consiste en la realización de cómputos sobre el clip-space, para cada vértice, normal u otra operación común por vérticecomo el color, la generación de las coordenadas de textura, la transformación de normales o la normalización. La etapa predefinida de fragmentos se encarga de tareas como interpolar valores (colores o coordenadas de textura), acceso a texturas, aplicación de texturas (environment mapping y cube mapping), niebla y todas las demás computaciones para cada fragmento. Estos métodos predefinidos permitenal programador representar muchos modelos básicos de iluminación y efectos, como light mapping, reflexiones o sombras, usando multitexturas y multiples pasadas, pero esto se traduce en un aumento del numero de vértices que se envían a la gráfica (dos pasadas = x2 vértices, cuatro pasadas = x4 vértices, etc.).

3

La adición de funciones programables al pipeline de rendering supone una...
tracking img