OpenGL skyggespråk

Denne artikkelen er et utkast om datamaskiner .

Du kan dele din kunnskap ved å forbedre den ( hvordan? ) I henhold til anbefalingene fra de tilsvarende prosjektene .

OpenGL skyggespråk
Dato for første versjon 2004
Nettsted www.opengl.org

Den OpenGL Shading Language ( GLSL ) er et programmeringsspråk av shadere av høyt nivå som syntaks er basert på C-språk . Disse tillater avansert kontroll av grafikkortet rørledningen . GLSL ble utviklet av OpenGL Architecture Review Board for å gjøre det lettere å programmere shaders med OpenGL API uten å måtte bruke ARB-monteringsspråket eller maskinvarespesifikke språk.

Historisk

Med fremgangen av grafikkort, har nye funksjoner blitt lagt til for å gi mer fleksibilitet i gjengivelsesrørledningen når det gjelder behandling av hjørner (også kalt "hjørner") og fragmenter. Disse elementene har blitt programmerbare ved hjelp av fragment og vertex shaders .

Opprinnelig ble denne funksjonaliteten oppnådd ved å skrive skyggelister på ARB-monteringsspråk  ; en kompleks og lite intuitiv oppgave. Den OpenGL Architecture Review Board skapte OpenGL Shading Language å gi en mer intuitiv metode for å programmere grafikkprosessorer og samtidig beholde fordelene med et gratis standard som har gjort historien til OpenGL .

Opprinnelig introdusert som en utvidelse av OpenGL 1.4, ble GLSL offisielt inkludert i OpenGL 2.0- kjernen i 2004 av OpenGL ARB. Dette var den første store revisjonen av OpenGL siden etableringen av OpenGL 1.0 i 1992.

Flere av fordelene med GLSL:

Versjoner

Versjonene av GLSL har utviklet seg sammen med spesifikke versjoner av OpenGL API . Bare med OpenGL versjoner 3.3 og nyere samsvarer GLSL og OpenGL store og mindre versjonsnumre . Her er versjonene av GLSL for hver versjon av OpenGL  :

GLSL-versjon OpenGL-versjon Datert Forprosessorkode
1.10.59 2.0 30. april 2004 #versjon 110
1.20.8 2.1 7. september 2006 #versjon 120
1.30.10 3.0 22. november 2009 #versjon 130
1.40.08 3.1 22. november 2009 #versjon 140
1.50.11 3.2 4. desember 2009 #versjon 150
3.30.6 3.3 11. mars 2010 # versjon 330
4.00.9 4.0 24. juli 2010 #versjon 400
4.10.6 4.1 24. juli 2010 #versjon 410
4.20.11 4.2 12. desember 2011 #versjon 420
4.30.8 4.3 7. februar 2013 #versjon 430
4.40.9 4.4 16. juni 2014 #versjon 440
4.50.7 4.5 9. mai 2017 #versjon 450
4.60.5 4.6 14. juni 2018 #versjon 460

OpenGL ES og WebGL bruker OpenGL ES Shading Language ( GLSL ES ).

GLSL ES-versjon OpenGL ES-versjon WebGL-versjon GLSL-versjon Datert Forprosessorkode
1.00.17 2.0 1.0 1.20 12. mai 2009 #versjon 100
3.00.6 3.0 2.0 3.30 29. januar 2016 #version 300 es
3.10.5 3.1 GLSL ES 3.00 29. januar 2016 #version 310 es
3.20.6 3.2 GLSL ES 3.10 10. juli 2019 #versjon 320 es

De to språkene er beslektede, men er ikke fullt kompatible. De kan transkompileres til hverandre ved hjelp av SPIR-Cross .

Se også

Relaterte artikler

Referanser

Sitater
  1. "  GLSL språkspesifikasjon, versjon 1.10.59  "
  2. "  GLSL språkspesifikasjon, versjon 1.20.8  "
  3. "  GLSL språkspesifikasjon, versjon 1.30.10  "
  4. "  GLSL språkspesifikasjon, versjon 1.40.08  "
  5. "  GLSL språkspesifikasjon, versjon 1.50.11  "
  6. "  GLSL språkspesifikasjon, versjon 3.30.6  "
  7. "  GLSL språkspesifikasjon, versjon 4.00.9  "
  8. "  GLSL språkspesifikasjon, versjon 4.10.6  "
  9. "  GLSL språkspesifikasjon, versjon 4.20.11  "
  10. "  GLSL språkspesifikasjon, versjon 4.30.8  "
  11. "  GLSL språkspesifikasjon, versjon 4.40.9  "
  12. "  GLSL språkspesifikasjon, versjon 4.50.7  "
  13. "  GLSL språkspesifikasjon, versjon 4.60.5  "
  14. "  GLSL ES språkspesifikasjon, versjon 1.00, revisjon 17  "
  15. "  GLSL ES språkspesifikasjon, versjon 3.00, revisjon 6  "
  16. "  OpenGL ES® Shading Language, versjon 3.10, revisjon 5  "
  17. "  OpenGL ES® Shading Language, versjon 3.20.6  "

Eksterne linker