「GLSL」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の5版が非表示)
2行目: 2行目:
  
 
==互換性==
 
==互換性==
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]]の方針がすべてになるであろう。
+
当初、[[Vulkan]]でもGLSLを採用していたが、あまりにGLSLがクソすぎるためか途中から[[Google]]は[[Vulkan]]で[[HLSL]]を使えるようにした。[[Vulkan]]は実質的に[[Android]]でしか使われていないので[[Google]]の方針がすべてになるであろう。
  
 
*[[DirectX Shader CompilerでSPIR-Vを出力する]]
 
*[[DirectX Shader CompilerでSPIR-Vを出力する]]
23行目: 22行目:
  
 
*[[SPIR-VからGLSLを生成する]]
 
*[[SPIR-VからGLSLを生成する]]
 
 
*[[SPIR-VからHLSLを生成する]]
 
*[[SPIR-VからHLSLを生成する]]
  
 
==関連項目==
 
==関連項目==
 +
*[[GLSLのversionディレクティブ一覧]]
  
*[[GLSLのversionディレクティブ一覧]]
+
[[category: コンピューター・グラフィックス]]
 +
[[category: 3DCG]]
 +
[[category: シェーディング言語]]

2021年7月8日 (木) 02:08時点における最新版

GLSL(語源:OpenGL Shading Language)とは、主にOpenGLで使われるシェーディング言語である。

互換性[編集 | ソースを編集]

GLSLには複数のバージョンが存在し、それらはそもそもの構文からして違うため互換性がない。ネット上に転がっているソースコピペしてもまず動かない。これから学習しようという一般的なプログラマーはコンパイルエラーで悩まされることになる。

このようなグダグダな状況はSteamで有名なValveの中の人により「今週のGLSLバージョン地獄( GLSL version of the week hell)」と命名された。

備考[編集 | ソースを編集]

当初、VulkanでもGLSLを採用していたが、あまりにGLSLがクソすぎるためか途中からGoogleVulkanHLSLを使えるようにした。Vulkanは実質的にAndroidでしか使われていないのでGoogleの方針がすべてになるであろう。

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

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

関連項目[編集 | ソースを編集]