「GLSL」の版間の差分
ナビゲーションに移動
検索に移動
imported>Administrator |
Administrator (トーク | 投稿記録) |
||
1行目: | 1行目: | ||
'''GLSL'''(語源:OpenGL Shading Language)とは、主に[[OpenGL]]で使われる[[シェーディング言語]]である。 | '''GLSL'''(語源:OpenGL Shading Language)とは、主に[[OpenGL]]で使われる[[シェーディング言語]]である。 | ||
− | == 互換性 == | + | ==互換性== |
GLSLには複数のバージョンが存在し、それらはそもそもの構文からして違うため[[互換性]]がない。一般的な[[プログラマー]]はコンパイルエラーで悩まされることになる。 | GLSLには複数のバージョンが存在し、それらはそもそもの構文からして違うため[[互換性]]がない。一般的な[[プログラマー]]はコンパイルエラーで悩まされることになる。 | ||
このようなグダグダな状況は[[Steam]]で有名な[[Valve]]の中の人に「今週のGLSLバージョン地獄( GLSL version of the week hell)」と命名された。 | このようなグダグダな状況は[[Steam]]で有名な[[Valve]]の中の人に「今週のGLSLバージョン地獄( GLSL version of the week hell)」と命名された。 | ||
− | * https://cpplover.blogspot.com/2014/05/opengl.html | + | *https://cpplover.blogspot.com/2014/05/opengl.html |
− | * http://richg42.blogspot.com/2014/05/things-that-drive-me-nuts-about-opengl.html | + | *http://richg42.blogspot.com/2014/05/things-that-drive-me-nuts-about-opengl.html |
− | == 備考 == | + | ==備考== |
あまりにGLSLがクソすぎて[[Google]]は[[Vulkan]]で[[HLSL]]を使えるようにした。[[Vulkan]]は実質的に[[Android]]でしか使われていないので[[Google]]の方針がすべてになるであろう。 | あまりにGLSLがクソすぎて[[Google]]は[[Vulkan]]で[[HLSL]]を使えるようにした。[[Vulkan]]は実質的に[[Android]]でしか使われていないので[[Google]]の方針がすべてになるであろう。 | ||
− | * [[DirectX Shader CompilerでSPIR-Vを出力する]] | + | *[[DirectX Shader CompilerでSPIR-Vを出力する]] |
− | + | 前述の[[互換性]]問題などを考慮すると、人間が手で書くものではなく、以下のような使い方の方が現実的である。 | |
− | * [[HLSL]]で書いて | + | *[[HLSL]]で書いて |
− | * [[SPIR-V]]に[[コンパイル]]して | + | *[[SPIR-V]]に[[コンパイル]]して |
− | * [[GLSL]]に[[逆コンパイル]]する | + | *[[GLSL]]に[[逆コンパイル]]する |
− | + | [[逆コンパイラ]]は[[Vulkan]]の中の人が開発してくれている。 | |
− | * [[SPIR-VからGLSLを生成する]] | + | *[[SPIR-VからGLSLを生成する]] |
− | * [[SPIR-VからHLSLを生成する]] | + | *[[SPIR-VからHLSLを生成する]] |
− | == 関連項目 == | + | ==関連項目== |
− | * [[GLSLのversionディレクティブ一覧]] | + | *[[GLSLのversionディレクティブ一覧]] |
2019年11月5日 (火) 08:16時点における版
GLSL(語源:OpenGL Shading Language)とは、主にOpenGLで使われるシェーディング言語である。
互換性
GLSLには複数のバージョンが存在し、それらはそもそもの構文からして違うため互換性がない。一般的なプログラマーはコンパイルエラーで悩まされることになる。
このようなグダグダな状況はSteamで有名なValveの中の人に「今週のGLSLバージョン地獄( GLSL version of the week hell)」と命名された。
- https://cpplover.blogspot.com/2014/05/opengl.html
- http://richg42.blogspot.com/2014/05/things-that-drive-me-nuts-about-opengl.html
備考
あまりにGLSLがクソすぎてGoogleはVulkanでHLSLを使えるようにした。Vulkanは実質的にAndroidでしか使われていないのでGoogleの方針がすべてになるであろう。
前述の互換性問題などを考慮すると、人間が手で書くものではなく、以下のような使い方の方が現実的である。