Você pode compartilhar seu conhecimento, melhorando-o ( como? ) De acordo com as recomendações dos projetos correspondentes .
OpenGL Shading Language | |
Data da primeira versão | 2004 |
---|---|
Local na rede Internet | www.opengl.org |
O OpenGL Shading Language ( GLSL ) é uma linguagem de programação de shaders de alto nível cuja sintaxe é baseada na linguagem C . Isso permite o controle avançado do pipeline da placa de vídeo . O GLSL foi desenvolvido pelo OpenGL Architecture Review Board para facilitar a programação de shaders com a API OpenGL sem ter que usar a linguagem assembly ARB ou linguagens específicas de hardware.
Com o avanço das placas gráficas, novos recursos foram adicionados para permitir mais flexibilidade no pipeline de renderização quando se trata de vértices de processamento (também chamados de "vértices") e fragmentos. Esses elementos se tornaram programáveis usando sombreadores de fragmento e vértice.
Originalmente, essa funcionalidade foi alcançada escrevendo shaders em linguagem assembly ARB ; uma tarefa complexa e pouco intuitiva. O OpenGL Architecture Review Board criou a OpenGL Shading Language para fornecer um método mais intuitivo de programação de processadores gráficos enquanto retém os benefícios de um padrão gratuito que fez a história do OpenGL .
Originalmente introduzido como uma extensão do OpenGL 1.4, o GLSL foi oficialmente incluído no kernel do OpenGL 2.0 em 2004 pelo OpenGL ARB. Esta foi a primeira grande revisão do OpenGL desde a criação do OpenGL 1.0 em 1992.
Várias das vantagens do GLSL:
As versões do GLSL evoluíram junto com versões específicas da API OpenGL . Somente com OpenGL versões 3.3 e superior fazer GLSL e OpenGL maior e números de versão menor corresponder. Aqui estão as versões do GLSL para cada versão do OpenGL :
Versão GLSL | Versão OpenGL | Datado | Código de Pré-processador |
---|---|---|---|
1.10.59 | 2.0 | 30 de abril de 2004 | # versão 110 |
1,20,8 | 2,1 | 7 de setembro de 2006 | # versão 120 |
1.30.10 | 3,0 | 22 de novembro de 2009 | # versão 130 |
1.40.08 | 3,1 | 22 de novembro de 2009 | # versão 140 |
1,50,11 | 3,2 | 04 de dezembro de 2009 | # versão 150 |
3,30,6 | 3,3 | 11 de março de 2010 | # versão 330 |
4,00,9 | 4,0 | 24 de julho de 2010 | # versão 400 |
4.10.6 | 4,1 | 24 de julho de 2010 | # versão 410 |
4,20,11 | 4,2 | 12 de dezembro de 2011 | # versão 420 |
4,30,8 | 4,3 | 7 de fevereiro de 2013 | # versão 430 |
4,40,9 | 4,4 | 16 de junho de 2014 | # versão 440 |
4,50,7 | 4,5 | 09 de maio de 2017 | # versão 450 |
4,60,5 | 4,6 | 14 de junho de 2018 | #version 460 |
OpenGL ES e WebGL usam OpenGL ES Shading Language ( GLSL ES ).
Versão GLSL ES | Versão OpenGL ES | Versão WebGL | Versão GLSL | Datado | Código de Pré-processador |
---|---|---|---|---|---|
1.00.17 | 2.0 | 1.0 | 1,20 | 12 de maio de 2009 | # versão 100 |
3,00.6 | 3,0 | 2.0 | 3,30 | 29 de janeiro de 2016 | # versão 300 es |
3.10.5 | 3,1 | GLSL ES 3.00 | 29 de janeiro de 2016 | # versão 310 es | |
3.20.6 | 3,2 | GLSL ES 3.10 | 10 de julho de 2019 | # versão 320 es |
Os dois idiomas estão relacionados, mas não são totalmente compatíveis. Eles podem ser transcompilados um no outro usando o SPIR-Cross .