Język cieniowania OpenGL

Ten artykuł jest szkicem o komputerach .

Możesz dzielić się swoją wiedzą doskonaląc ją ( jak? ) Zgodnie z zaleceniami odpowiednich projektów .

Język cieniowania OpenGL
Data pierwszej wersji 2004
Stronie internetowej www.opengl.org

OpenGL Shading Language ( GLSL ) to język programowania z shaderów na wysokim poziomie , którego składnia bazuje na języku C . Pozwalają one na zaawansowaną kontrolę z karty graficznej rurociągu . GLSL został opracowany przez OpenGL Architecture Review Board, aby ułatwić programowanie shaderów za pomocą API OpenGL bez konieczności używania języka asemblera ARB lub języków specyficznych dla sprzętu.

Historyczny

Wraz z rozwojem kart graficznych dodano nowe funkcje, aby zapewnić większą elastyczność w potoku renderowania, jeśli chodzi o przetwarzanie wierzchołków (zwanych również „wierzchołkami”) i fragmentów. Te elementy stały się programowalne przy użyciu shaderów fragmentów i wierzchołków.

Pierwotnie ta funkcjonalność została osiągnięta poprzez pisanie shaderów w asemblerze ARB  ; złożone i niezbyt intuicyjne zadanie. OpenGL Architecture Review Board stworzył OpenGL Shading Language , aby zapewnić bardziej intuicyjny sposób programowania procesorów graficznych przy zachowaniu korzyści z wolnego standardzie, które złożyły historii OpenGL .

Pierwotnie wprowadzony jako rozszerzenie OpenGL 1.4, GLSL został oficjalnie włączony do jądra OpenGL 2.0 w 2004 roku przez OpenGL ARB. Była to pierwsza poważna rewizja OpenGL od czasu stworzenia OpenGL 1.0 w 1992 roku.

Kilka zalet GLSL:

Wersje

Wersje GLSL ewoluowały wraz z określonymi wersjami API OpenGL . Tylko w OpenGL w wersji 3.3 i nowszych numery wersji głównej i podrzędnej GLSL i OpenGL są zgodne. Oto wersje GLSL dla każdej wersji OpenGL  :

Wersja GLSL Wersja OpenGL Przestarzały Kod preprocesora
1.10.59 2,0 30 kwietnia 2004 r. #wersja 110
1,20.8 2,1 07 września 2006 #wersja 120
1.30.10 3,0 22 listopada 2009 #wersja 130
1.40.08 3.1 22 listopada 2009 #wersja 140
1.50.11 3.2 04 grudnia 2009 #wersja 150
3,30.6 3,3 11 marca 2010 #wersja 330
4.00.9 4.0 24 lipca 2010 #wersja 400
4.10.6 4.1 24 lipca 2010 #wersja 410
4.20.11 4.2 12 grudnia 2011 #wersja 420
4.30.8 4,3 7 lutego 2013 #wersja 430
4.40.9 4.4 16 czerwca 2014 #wersja 440
4,50.7 4,5 09 maja 2017 r. #wersja 450
4,60,5 4,6 14 czerwca 2018 r. #wersja 460

OpenGL ES i WebGL używają języka cieniowania OpenGL ES ( GLSL ES ).

Wersja ES GLSL Wersja OpenGL ES Wersja WebGL Wersja GLSL Przestarzały Kod preprocesora
1.00.17 2,0 1,0 1,20 12 maja 2009 #wersja 100
3.00.6 3,0 2,0 3.30 29 stycznia 2016 #wersja 300 es
3.10.5 3.1 GLSL ES 3,00 29 stycznia 2016 #wersja 310 es
3.20.6 3.2 GLSL ES 3.10 10 lipca 2019 #wersja 320 es

Oba języki są powiązane, ale nie są w pełni kompatybilne. Mogą być transkompilowane na siebie za pomocą SPIR-Cross .

Zobacz również

Powiązane artykuły

Bibliografia

cytaty
  1. „  Specyfikacja języka GLSL, wersja 1.10.59  ”
  2. „  Specyfikacja języka GLSL, wersja 1.20.8  ”
  3. „  Specyfikacja języka GLSL, wersja 1.30.10  ”
  4. „  Specyfikacja języka GLSL, wersja 1.40.08  ”
  5. „  Specyfikacja języka GLSL, wersja 1.50.11  ”
  6. „  Specyfikacja języka GLSL, wersja 3.30.6  ”
  7. „  Specyfikacja języka GLSL, wersja 4.00.9  ”
  8. „  Specyfikacja języka GLSL, wersja 4.10.6  ”
  9. „  Specyfikacja języka GLSL, wersja 4.20.11  ”
  10. „  Specyfikacja języka GLSL, wersja 4.30.8  ”
  11. „  Specyfikacja języka GLSL, wersja 4.40.9  ”
  12. „  Specyfikacja języka GLSL, wersja 4.50.7  ”
  13. „  Specyfikacja języka GLSL, wersja 4.60.5  ”
  14. „  Specyfikacja języka GLSL ES, wersja 1.00, rewizja 17  ”
  15. „  Specyfikacja języka GLSL ES, wersja 3.00, rewizja 6  ”
  16. „  Język cieniowania OpenGL ES®, wersja 3.10, rewizja 5  ”
  17. „  Język cieniowania OpenGL ES®, wersja 3.20.6  ”

Linki zewnętrzne