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.
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:
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 .