「GLSL」の版間の差分

提供:MonoBook
imported>Administrator
ページの作成:「'''GLSL'''(語源:OpenGL Shading Language)とは、主にOpenGLで使われるシェーディング言語である。 == 互換性 == GLSLには複数の…」
 
編集の要約なし
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の中の人が開発してくれている。
[[逆コンパイラ]]は[[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)」と命名された。

備考

あまりにGLSLがクソすぎてGoogleVulkanHLSLを使えるようにした。Vulkanは実質的にAndroidでしか使われていないのでGoogleの方針がすべてになるであろう。

前述の互換性問題などを考慮すると、人間が手で書くものではなく、以下のような使い方の方が現実的である。

逆コンパイラVulkanの中の人が開発してくれている。

関連項目