Linguaggio di ombreggiatura OpenGL

Questo articolo è una bozza sui computer .

Puoi condividere la tua conoscenza migliorandola ( come? ) secondo le raccomandazioni dei progetti corrispondenti .

Linguaggio di ombreggiatura OpenGL
Data della prima versione 2004
Sito web www.opengl.org

Il glsl ( GLSL ) è un linguaggio di programmazione di shader di alto livello la cui sintassi è basato sul linguaggio C . Questi consentono il controllo avanzato della pipeline della scheda grafica . GLSL è stato sviluppato dall'OpenGL Architecture Review Board per semplificare la programmazione degli shader con l' API OpenGL senza dover utilizzare il linguaggio assembly ARB o linguaggi specifici dell'hardware.

Storico

Con l'avanzamento delle schede grafiche, sono state aggiunte nuove funzionalità per consentire una maggiore flessibilità nella pipeline di rendering quando si tratta di elaborare vertici (chiamati anche "vertici") e frammenti. Questi elementi sono diventati programmabili utilizzando shader di frammenti e vertici.

In origine, questa funzionalità è stata ottenuta scrivendo shader in linguaggio assembly ARB  ; un compito complesso e poco intuitivo. L' OpenGL Architecture Review Board ha creato l' OpenGL Shading Language per fornire un metodo più intuitivo di programmazione dei processori grafici pur mantenendo i vantaggi di uno standard libero che ha fatto la storia di OpenGL .

Introdotto originariamente come estensione di OpenGL 1.4, GLSL è stato ufficialmente incluso nel kernel OpenGL 2.0 nel 2004 da OpenGL ARB. Questa è stata la prima grande revisione di OpenGL dalla creazione di OpenGL 1.0 nel 1992.

Alcuni dei vantaggi di GLSL:

Versioni

Le versioni di GLSL si sono evolute insieme a versioni specifiche dell'API OpenGL . Solo con le versioni OpenGL 3.3 e successive i numeri di versione principale e secondaria di GLSL e OpenGL corrispondono. Ecco le versioni di GLSL per ogni versione di OpenGL  :

Versione GLSL Versione OpenGL Datato Codice del preprocessore
1.10.59 2.0 30 aprile 2004 #versione 110
1.20.8 2.1 07 settembre 2006 #versione 120
1.30.10 3.0 22 novembre 2009 #versione 130
1.40.08 3.1 22 novembre 2009 #versione 140
1.50.11 3.2 04 dicembre 2009 #versione 150
3.30.6 3.3 11 marzo 2010 #versione 330
4.00.9 4.0 24 luglio 2010 #versione 400
4.10.6 4.1 24 luglio 2010 #versione 410
4.20.11 4.2 12 dicembre 2011 #versione 420
4.30.8 4.3 7 febbraio 2013 #versione 430
4.40.9 4.4 16 giugno 2014 #versione 440
4.50.7 4.5 09 maggio 2017 #versione 450
4.60.5 4.6 14 giugno 2018 #versione 460

OpenGL ES e WebGL utilizzano OpenGL ES Shading Language ( GLSL ES ).

Versione GLSL ES Versione OpenGL ES Versione WebGL Versione GLSL Datato Codice del preprocessore
1.00.17 2.0 1.0 1.20 12 maggio 2009 #versione 100
3.00.6 3.0 2.0 3.30 29 gennaio 2016 #versione 300 es
3.10.5 3.1 GLSL ES 3.00 29 gennaio 2016 #versione 310 es
3.20.6 3.2 GLSL ES 3.10 10 luglio 2019 #versione 320 es

Le due lingue sono correlate ma non sono completamente compatibili. Possono essere transcompilati l' uno nell'altro usando SPIR-Cross .

Vedi anche

Articoli Correlati

Riferimenti

Citazioni
  1. "  Specifiche del linguaggio GLSL, versione 1.10.59  "
  2. "  Specifiche del linguaggio GLSL, versione 1.20.8  "
  3. "  Specifiche del linguaggio GLSL, versione 1.30.10  "
  4. "  Specifiche del linguaggio GLSL, versione 1.40.08  "
  5. "  Specifiche del linguaggio GLSL, versione 1.50.11  "
  6. "  Specifiche del linguaggio GLSL, versione 3.30.6  "
  7. "  Specifiche del linguaggio GLSL, versione 4.00.9  "
  8. "  Specifiche del linguaggio GLSL, versione 4.10.6  "
  9. "  Specifiche del linguaggio GLSL, versione 4.20.11  "
  10. "  Specifiche del linguaggio GLSL, versione 4.30.8  "
  11. "  Specifiche del linguaggio GLSL, versione 4.40.9  "
  12. "  Specifiche del linguaggio GLSL, versione 4.50.7  "
  13. "  Specifiche del linguaggio GLSL, versione 4.60.5  "
  14. "  Specifiche del linguaggio GLSL ES, versione 1.00, revisione 17  "
  15. "  Specifiche del linguaggio GLSL ES, versione 3.00, revisione 6  "
  16. "  The OpenGL ES® Shading Language, versione 3.10, revisione 5  "
  17. "  Il linguaggio di ombreggiatura OpenGL ES®, versione 3.20.6  "

link esterno