Lenguaje de sombreado OpenGL

Este artículo es un borrador sobre computadoras .

Puedes compartir tus conocimientos mejorándolos ( ¿cómo? ) Según las recomendaciones de los proyectos correspondientes .

Lenguaje de sombreado OpenGL
Fecha de la primera versión 2004
Sitio web www.opengl.org

El lenguaje de sombreado de OpenGL ( GLSL ) es un lenguaje de programación de shaders de alto nivel cuya sintaxis se basa en el lenguaje C . Estos permiten un control avanzado de la canalización de la tarjeta gráfica . GLSL fue desarrollado por OpenGL Architecture Review Board para facilitar la programación de sombreadores con la API OpenGL sin tener que usar el lenguaje ensamblador ARB o lenguajes específicos de hardware.

Histórico

Con el avance de las tarjetas gráficas, se han agregado nuevas características para permitir una mayor flexibilidad en la canalización de renderizado cuando se trata de procesar vértices (también llamados "vértices") y fragmentos. Estos elementos se han vuelto programables mediante sombreadores de vértices y fragmentos.

Originalmente, esta funcionalidad se logró escribiendo sombreadores en lenguaje ensamblador ARB  ; una tarea compleja y poco intuitiva. La Junta de Revisión de Arquitectura OpenGL creó OpenGL Shading Language para proporcionar un método más intuitivo de programación de procesadores gráficos al tiempo que conserva los beneficios de un estándar gratuito que hizo la historia de OpenGL .

Originalmente introducido como una extensión de OpenGL 1.4, GLSL fue incluido oficialmente en el kernel de OpenGL 2.0 en 2004 por OpenGL ARB. Esta fue la primera revisión importante de OpenGL desde la creación de OpenGL 1.0 en 1992.

Varias de las ventajas de GLSL:

Versiones

Las versiones de GLSL han evolucionado junto con versiones específicas de la API de OpenGL . Sólo con OpenGL versiones 3.3 y superiores hacer GLSL y OpenGL mayor y menor números de versión coinciden. Estas son las versiones de GLSL para cada versión de OpenGL  :

Versión GLSL Versión OpenGL Con fecha de Código de preprocesador
1.10.59 2.0 30 de abril de 2004 # versión 110
1.20.8 2.1 07 de septiembre de 2006 # versión 120
1.30.10 3,0 22 de noviembre de 2009 # versión 130
1.40.08 3.1 22 de noviembre de 2009 # versión 140
1.50.11 3.2 04 de diciembre de 2009 # versión 150
3.30.6 3.3 11 de marzo de 2010 # versión 330
4.00.9 4.0 24 de julio de 2010 # versión 400
4.10.6 4.1 24 de julio de 2010 # versión 410
4.20.11 4.2 12 de diciembre de 2011 # versión 420
4.30.8 4.3 7 de febrero de 2013 # versión 430
4.40.9 4.4 16 de junio de 2014 # versión 440
4.50.7 4.5 09 de mayo de 2017 # versión 450
4.60.5 4.6 14 de junio de 2018 # versión 460

OpenGL ES y WebGL utilizan el lenguaje de sombreado de OpenGL ES ( GLSL ES ).

Versión GLSL ES Versión de OpenGL ES Versión de WebGL Versión GLSL Con fecha de Código de preprocesador
1.00.17 2.0 1.0 1,20 12 de mayo de 2009 # versión 100
3.00.6 3,0 2.0 3.30 29 de enero de 2016 #version 300 es
3.10.5 3.1 GLSL ES 3.00 29 de enero de 2016 #version 310 es
3.20.6 3.2 GLSL ES 3.10 10 de julio de 2019 #version 320 es

Los dos idiomas están relacionados pero no son totalmente compatibles. Se pueden transcompilar entre sí utilizando SPIR-Cross .

Ver también

Artículos relacionados

Referencias

Citas
  1. "  Especificación del lenguaje GLSL, versión 1.10.59  "
  2. "  Especificación del lenguaje GLSL, versión 1.20.8  "
  3. "  Especificación del lenguaje GLSL, versión 1.30.10  "
  4. "  Especificación del lenguaje GLSL, versión 1.40.08  "
  5. "  Especificación del lenguaje GLSL, versión 1.50.11  "
  6. "  Especificación del lenguaje GLSL, versión 3.30.6  "
  7. "  Especificación del lenguaje GLSL, versión 4.00.9  "
  8. "  Especificación del lenguaje GLSL, versión 4.10.6  "
  9. "  Especificación de lenguaje GLSL, versión 4.20.11  "
  10. "  Especificación del lenguaje GLSL, versión 4.30.8  "
  11. "  Especificación del lenguaje GLSL, versión 4.40.9  "
  12. "  Especificación del lenguaje GLSL, versión 4.50.7  "
  13. "  Especificación del lenguaje GLSL, versión 4.60.5  "
  14. "  Especificación de lenguaje GLSL ES, versión 1.00, revisión 17  "
  15. "  Especificación de lenguaje GLSL ES, versión 3.00, revisión 6  "
  16. "  The OpenGL ES® Shading Language, versión 3.10, revisión 5  "
  17. "  El lenguaje de sombreado de OpenGL ES®, versión 3.20.6  "

enlaces externos